All Topics  
Booting

 
Booting

   Email Print
   Bookmark   Link






 

Booting



 
 
In computing
Computing

Computing is usually defined as the activity of using and developing computer technology, computer hardware and computer software. It is the computer-specific part of information technology....
, booting (booting up) is a bootstrapping
Bootstrapping (computing)

In computing, bootstrapping is a technique by which a simple computer program activates a more complicated system of programs. In the start up process of a computer system, a small program such as BIOS, initializes and tests that computer hardware, peripherals and external memory devices are connected, then loads a program from one of them a...
 process that starts operating system
Operating system

An operating system is an interface between hardware and applications; it is responsible for the management and coordination of activities and the sharing of the limited resources of the computer....
s when the user turns on a computer system. A boot sequence is the initial set of operations that the computer performs when it is switched on. The bootloader typically loads the main operating system
Operating system

An operating system is an interface between hardware and applications; it is responsible for the management and coordination of activities and the sharing of the limited resources of the computer....
 for the computer.

computer word boot is short for 'bootstrap'
Bootstrapping

Bootstrapping or booting refers to a group of metaphors that share a common meaning, a self-sustaining process that proceeds without external help....
 (short for 'bootstrap load'). The term bootstrap began as a metaphor derived from pull straps sewed onto the backs of leather boots with which a person could pull on their boots without outside help.






Discussion
Ask a question about 'Booting'
Start a new discussion about 'Booting'
Answer questions from other users
Full Discussion Forum



Encyclopedia


In computing
Computing

Computing is usually defined as the activity of using and developing computer technology, computer hardware and computer software. It is the computer-specific part of information technology....
, booting (booting up) is a bootstrapping
Bootstrapping (computing)

In computing, bootstrapping is a technique by which a simple computer program activates a more complicated system of programs. In the start up process of a computer system, a small program such as BIOS, initializes and tests that computer hardware, peripherals and external memory devices are connected, then loads a program from one of them a...
 process that starts operating system
Operating system

An operating system is an interface between hardware and applications; it is responsible for the management and coordination of activities and the sharing of the limited resources of the computer....
s when the user turns on a computer system. A boot sequence is the initial set of operations that the computer performs when it is switched on. The bootloader typically loads the main operating system
Operating system

An operating system is an interface between hardware and applications; it is responsible for the management and coordination of activities and the sharing of the limited resources of the computer....
 for the computer.

History

The computer word boot is short for 'bootstrap'
Bootstrapping

Bootstrapping or booting refers to a group of metaphors that share a common meaning, a self-sustaining process that proceeds without external help....
 (short for 'bootstrap load'). The term bootstrap began as a metaphor derived from pull straps sewed onto the backs of leather boots with which a person could pull on their boots without outside help. In computers in the 1950s, pressing a bootstrap button caused a hardwired program to read a bootstrap program from a punched card and then execute the loaded boot program which loaded a larger system of programs from punched cards into memory, without further help from the human operator. In a computing context, that word has been used since at least 1958.

The GE 645
GE-600 series

The GE-600 series was a family of 36-bit word length Mainframe computer computers originating in the 1960s, built by General Electric . When GE left the mainframe business the line was sold to Honeywell, who built similar systems into the 1990s as the division moved to Groupe Bull and then NEC Corporation....
 (c. 1965) had a 'BOOT' button – it could be that the contraction started as a way to label the button with fewer letters than the full word.

The Multics
Multics

Multics was an extremely influential early time-sharing operating system. The project was started in 1964. The last known running Multics installation was shut down on October 30, 2000....
 operating system (c. 1967) had a boot command. Multics documents also refer to 'boot tapes', but it is hard to determine exactly when that term was first used.

In the Unix
Unix

Unix is a computer operating system originally developed in 1969 by a group of American Telephone & Telegraph employees at Bell Labs, including Ken Thompson , Dennis Ritchie, Douglas McIlroy, and Joe Ossanna....
 operating system, the earliest reference for 'boot' is probably in The Unix Programmer's Manual, first edition 1971.11.03.

The bootstrap concept was used in the IBM 701
IBM 701

The IBM 701, known as the Defense Calculator while in development, was announced to the public on April 29, 1952, and was International Business Machines?s first commercial scientific computer....
 computer (1952-1956) which had a "load button" which initiated reading of the first 36-bit word from a punched card in a card reader, or from a magnetic tape unit, or drum unit (predecessor of the harddisk drive). The left 18-bit half-word was then executed as an instruction which read additional words into memory.

Boot loader

A computer's central processor can only execute program code found in Read-Only Memory (ROM) and Random Access Memory (RAM). Modern operating systems and application program code and data are stored on nonvolatile data storage devices, such as hard disc drives, CD, DVD, USB flash drive
USB flash drive

A USB flash drive consists of a Flash memory#NAND memories-type flash memory data storage device integrated with a USB interface. USB flash drives are typically removable and rewritable, much smaller than a floppy disk , and most USB flash drives weigh less than an ounce ....
, and floppy disk
Floppy disk

A floppy disk is a data storage medium that is composed of a disk of thin, flexible magnetic storage medium encased in a square or rectangle plastic shell....
. When a computer is first powered on, it does not have an operating system in ROM or RAM. The computer must initially execute a small program stored in ROM along with the bare minimum of data needed to access the nonvolatile devices from which the operating system programs and data are loaded into RAM.

The small program that starts this sequence of loading into RAM, is known as a bootstrap loader
Bootstrapping (computing)

In computing, bootstrapping is a technique by which a simple computer program activates a more complicated system of programs. In the start up process of a computer system, a small program such as BIOS, initializes and tests that computer hardware, peripherals and external memory devices are connected, then loads a program from one of them a...
, bootstrap or boot loader. This small boot loader program's only job is to load other data and programs which are then executed from RAM. Often, multiple-stage boot loaders are used, during which several programs of increasing complexity sequentially load one after the other in a process of chain loading
Chain loading

Chain loading is a method used by computer programs to replace the currently executing program with a new program, using a common data area to pass information from the current program to the new program....
. This loading may include optional software such as network software, media player
Media player

Media player is a term typically used to describe computer software for playing back multimedia computer files. Most software media players support an array of media formats, including both digital audio and digital video files....
, and anti-virus programs.

Early computers (such as the PDP-1
PDP-1

The PDP-1 was the first computer in Digital Equipment Corporation's Programmed Data Processor series and was first produced in 1960. It is famous for being the computer most important in the creation of Hacker culture, at Massachusetts Institute of Technology, Bolt, Beranek and Newman and elsewhere....
 through PDP-8
PDP-8

The PDP-8 was the first successful commercial minicomputer, produced by Digital Equipment Corporation in the 1960s. DEC introduced it on 22 March 1965, and sold more than 50,000 systems, the most of any computer up to that date....
 and early models of the PDP-11
PDP-11

The PDP-11 was a series of 16-bit minicomputers sold by Digital Equipment Corporation from 1970 into the 1990s. Though not explicitly conceived as successor to DEC's PDP-8 computer in the Programmed Data Processor series of computers , the PDP-11 replaced the PDP-8 in many Real-time computing....
) had a row of toggle switch
Toggle switch

A toggle switch is a class of electrical switches that are actuated by a mechanical lever, handle, or rocking mechanism.Toggle switches are available in many different styles and sizes, and are used in countless applications....
es on the front panel to allow the operator to manually enter the binary
Binary numeral system

The binary numeral system, or notation with a radix of 2. Owing to its straightforward implementation in digital electronic circuitry using logic gates, the binary system is used internally by all modern computers....
 boot instructions into memory before transferring control to the CPU
Central processing unit

A central processing unit is an electronic circuit that can execute computer programs. This broad definition can easily be applied to many early computers that existed long before the term "CPU" ever came into widespread usage....
. The boot loader would then read the second-stage boot loader (called Binary Loader of paper tape with checksum
Checksum

A checksum or hash sum is a fixed-size data computed from an arbitrary block of digital data for the purpose of error detection that may have been introduced during its telecommunications or computer storage....
) or the operating system in from an outside storage medium such as paper tape, punched card, or a disk drive.

Pseudo-assembly code
Assembly language

An assembly language is a low-level language for programming computers. It implements a symbolic representation of the numeric machine codes and other constants needed to program a particular CPU architecture....
 for the bootloader might be as simple as the following eight instructions:

0: set the P register to 8 1: check paper tape reader ready 2: if not ready, jump to 1 3: read a byte from paper tape reader to accumulator 4: if end of tape, jump to 8 5: store accumulator to address in P register 6: increment the P register 7: jump to 1

A related example is based on a loader for a 1970's Nicolet Instrument Corporation minicomputer
Minicomputer

A minicomputer is a class of multi-user computers that lies in the middle range of the computing spectrum, in between the largest multi-user systems and the smallest single-user systems ....
. Note that the bytes of the second-stage loader are read from paper tape in reverse order.

0: set the P register to 106 1: check paper tape reader ready 2: if not ready, jump to 1 3: read a byte from paper tape reader to accumulator 4: store accumulator to address in P register 5: decrement the P register 6: jump to 1

The length of the second stage loader is such that the final byte overwrites location 6. After the instruction in location 5 executes, location 6 starts the second stage loader executing. The second stage loader then waits for the much longer tape containing the operating system to be placed in the tape reader. The difference between the boot loader and second stage loader is the addition of checking code to trap paper tape read errors, a frequent occurrence with the hardware of the time, which in this case was an ASR-33 teletype.

Some computer systems, upon receiving a boot signal from a human operator or a peripheral device, may load a very small number of fixed instructions into memory at a specific location, initialize at least one CPU, and then point the CPU to the instructions and start their execution. These instructions typically start an input operation from some peripheral device (which may be switch-selectable by the operator). Other systems may send hardware commands directly to peripheral devices or I/O controllers that cause an extremely simple input operation (such as "read sector zero of the system device into memory starting at location 1000") to be carried out, effectively loading a small number of bootload instructions into memory; a completion signal from the I/O device may then be used to start execution of the instructions by the CPU.

Smaller computers often use less flexible but more automatic bootload mechanisms to ensure that the computer starts quickly and with a predetermined software configuration. In many desktop computers, for example, the bootstrapping process begins with the CPU
Central processing unit

A central processing unit is an electronic circuit that can execute computer programs. This broad definition can easily be applied to many early computers that existed long before the term "CPU" ever came into widespread usage....
 executing software contained in ROM (for example, the BIOS
BIOS

In computing, the Basic Input/Output System , also known as the System BIOS, is a de facto standard defining a firmware interface for IBM PC Compatible computers....
 of an IBM PC
IBM PC

The IBM Personal Computer, commonly known as the IBM PC, is the original version and progenitor of the IBM PC compatible hardware platform ....
) at a predefined address (some CPUs, including the Intel x86 series
Intel 8086

The 8086 is a 16-bit microprocessor chip designed by Intel and introduced on the market in 1978, which gave rise to the x86 architecture. Intel 8088, released in 1979, was essentially the same chip, but with an external 8-bit bus , and is notable as the processor used in the original IBM PC....
 are designed to execute this software after reset without outside help). This software contains rudimentary functionality to search for devices eligible to participate in booting, and load a small program from a special section (most commonly the boot sector
Boot sector

A boot sector is a disk_sector of a hard disk, floppy disk, or similar data storage device that contains code for booting computer programs stored in other parts of the disk....
) of the most promising device. It is usually possible to configure the BIOS so that only a certain device can be booted from and/or to give priority to some devices over others (a CD or DVD drive is usually given priority over a hard disk, for instance).

Boot loaders may face peculiar constraints, especially in size; for instance, on the IBM PC and compatibles, the first stage of boot loaders located on hard drives must fit into the first 446 bytes of the Master Boot Record
Master boot record

A master boot record , or partition sector, is the 512-byte boot sector that is the first disk sector of a Disk partitioning data storage device such as a hard disk....
, in order to leave room for the 64-byte partition table and the 2-byte 0xAA55 'signature', which the BIOS requires for a proper boot loader.

Some operating systems, most notably pre-1995 Macintosh systems from Apple, are so closely interwoven with their hardware that it is impossible to natively boot an operating system other than the standard one. This is the opposite extreme of the bootload using switches mentioned above; it is highly inflexible but relatively error-proof and foolproof as long as all hardware is working normally. A common solution in such situations is to design a bootloader that works as a program belonging to the standard OS that hijacks the system and loads the alternative OS. This technique was used by Apple for its A/UX
A/UX

A/UX was Apple Computer's implementation of the Unix operating system for some of their Apple Macintosh computers. The later versions of A/UX ran on the Macintosh II, Macintosh Quadra and Macintosh Centris series of machines as well as the Macintosh SE/30....
 Unix
Unix

Unix is a computer operating system originally developed in 1969 by a group of American Telephone & Telegraph employees at Bell Labs, including Ken Thompson , Dennis Ritchie, Douglas McIlroy, and Joe Ossanna....
 implementation and copied by various freeware operating systems and BeOS Personal Edition 5
BeOS

BeOS was an operating system for personal computers which began development by Be Inc. in 1991. It was first written to run on BeBox hardware. BeOS was optimized for digital media work and was written to take advantage of modern hardware facilities such as symmetric multiprocessing by utilizing modular I/O bandwidth, pervasive multithreading,...
.

Second-stage boot loader

The small program is most often not itself an operating system, but only a second-stage boot loader, such as GRUB
GNU GRUB

GNU GRUB is a boot loader package from the GNU Project. GRUB is the reference implementation of the Multiboot Specification, which allows a user to have several different operating systems on their computer at once, and to choose which one to run when the computer starts....
, BOOTMGR, LILO or NTLDR
NTLDR

NTLDR is the Booting for all releases of Microsoft's Windows NT operating system up to and including Windows XP and Windows Server 2003. NTLDR is typically run from the primary hard disk drive, but it can also run from portable storage devices such as a CD-ROM, USB flash drive, or floppy disk....
. It will then be able to load the operating system properly, and finally transfer execution to it. The system will initialize itself, and may load device driver
Device driver

In computing, a device driver or software driver is a computer program allowing higher-level computer programs to interact with a hardware device....
s and other programs that are needed for the normal operation of the OS.

Many bootloaders (like GRUB, BOOTMGR, LILO, and NTLDR) can be configured to give the user multiple booting choices. These choices can include different operating systems (for dual or multi-booting
Dual boot

Multi boot or Multi booting is the act of installing multiple operating systems on a computer, and being able to choose which one to Booting when switching on the computer power....
 from different partitions or drives), different kernel versions of the same operating system (e.g., when a newer Linux kernel is installed, this gives one the option of using a known good kernel if problems arise), different kernel options (e.g., booting into a rescue or safe mode) or some standalone program that can function without an operating system, such as memory testers (e.g., memtest86+) or even games. Usually a default choice is preselected with a time delay during which you can press a key to change the choice, after which the default choice is automatically run, so normal booting can occur without interaction.

The boot process is considered complete when the computer is ready to interact with the user, or the operating system
Operating system

An operating system is an interface between hardware and applications; it is responsible for the management and coordination of activities and the sharing of the limited resources of the computer....
 is capable of running ordinary applications. Typical modern PCs
Personal computer

A personal computer is any general-purpose computer whose original sales price, size, and capabilities make it useful for individuals, and which is intended to be operated directly by an end user, with no intervening computer operator....
 boot in about one minute (of which about 15 seconds are taken by a power-on self test (POST) and a preliminary boot loader, and the rest by loading the operating system); whereas, large servers may take several minutes to boot and start all their services.

Many embedded system
Embedded system

An embedded system is a special-purpose computer system designed to perform one or a few dedicated functions, often with real-time computing constraints....
s must boot immediately. For example, waiting a minute for a digital television
Television set

A television set is a device used to view television broadcasts, not to be confused with Video monitor, which are unable to independently tune into over-the-air broadcasts....
 or sat-nav
Introduction to the Global Positioning System

The Global Positioning System is the only fully functional Global Navigation Satellite System . The GPS uses a Satellite constellation of between 24 and 32 Medium Earth Orbit satellites that transmit precise microwave signals, that enable GPS receivers to determine their geographic location, speed, direction, and time....
 to start is generally unacceptable. Therefore such devices have their complete operating system in ROM or flash memory
Flash memory

Flash memory is a non-volatile memory computer storage that can be electrically erased and reprogrammed. It is a technology that is primarily used in memory cards and USB flash drives for general storage and transfer of data between computers and other digital products....
 so the device can begin functioning immediately. For these types of embedded system little or no loading is necessary, since the loading can be precomputed and stored on the ROM when the device is made.

Large and complex systems may have boot procedures that proceed in multiple phases, each phase loading a more complex version of itself, until finally the actual operating system is loaded and ready to execute. Because most operating systems are designed as if they never start or stop, bootload processes sometimes construct a near-snapshot of a running operating system, configure themselves as a mere process within that operating system, and then irrevocably transfer control into the operating system; the bootload process then terminates normally as any other process would, and the operating system need not have any awareness of the bootload.

Flash boot loader

Embedded systems especially in automotive applications rely heavily on Flash Bootloaders to ensure that the ECU
Electronic control unit

In automotive electronics, an electronic control unit , also called a control unit, or control module, is an embedded system that controls one or more of the electrical systems or subsystems in a vehicle....
 (Electronic Control Unit) is programmable either in production or in service. A Flash Bootloader resides in Flash memory, and is always the first application to run after a reset. The Flash bootloader decides whether an application is ready and thereby either stays in the ECU or jumps to the application to start execution. The benefit of having a Flash Bootloader on an ECU is mainly to allow erasing and programming new applications on a single ECU in case of application updates, a recall, or changing a configuration by downloading new calibration files. The most popular Flash Bootloaders are CAN
Controller Area Network

Controller?area network is a vehicle bus standard designed to allow microcontrollers and devices to communicate with each other within a vehicle without a host computer....
 based, i.e. use the Control Area Network protocol to download data to an ECU. These bootloaders use a Diagnostics protocol to communicate and download to an ECU.

Network booting


Most computers are also capable of booting over a computer network
Computer network

A computer network is a group of interconnected computers. Networks may be classified according to a wide variety of characteristics. This article provides a general overview of some types and categories and also presents the basic components of a network....
. In this scenario, the operating system is stored on the disk of a server
Server (computing)

A server is a computer program that provides services to other computer programs , in the same or other computer. The physical computer that runs a server program is also often referred to as server....
, and certain parts of it are transferred to the client using a simple protocol such as the Trivial File Transfer Protocol
Trivial File Transfer Protocol

Trivial File Transport Protocol is a Computer file transfer network protocol, with the functionality of a very basic form of File Transfer Protocol ; it was first defined in 1980....
. After these parts have been transferred, the operating system then takes over control of the booting process.

Boot devices


The boot device is the device from which the operating system is loaded. A modern PC BIOS
BIOS

In computing, the Basic Input/Output System , also known as the System BIOS, is a de facto standard defining a firmware interface for IBM PC Compatible computers....
 supports booting from various devices, typically a local hard disk drive (or one of several partitions
Disk partitioning

Disk partitioning is the dividing of the data storage space of a hard disk drive into separate areas referred to as partitions. A partition editor program can be used to create, delete or modify these partitions....
 on such a disk), an optical disc drive, a USB
Universal Serial Bus

In information technology, Universal Serial Bus is a Serial communications computer bus standard to electrical connector devices to a host computer....
 device (flash drive, hard disk drive, optical disc drive, etc.), or a network interface card (using PXE
Preboot Execution Environment

The Preboot eXecution Environment is an environment to booting computers using a network interface card independently of available data storage devices or installed operating systems....
). Older, less common bootable devices include floppy disk drives, SCSI
SCSI

Small Computer System Interface, or SCSI , is a set of standards for physically connecting and transferring data between computers and peripheral devices....
 devices, Zip drive
Zip drive

The Zip drive is a medium-capacity removable disk storage system, introduced by Iomega in late 1994. Originally, Zip disks had a capacity of 100 megabyte, but later versions increased this to first 250 MB and then 750 MB....
s, and LS-120 drives.

Typically, the BIOS will allow the user to configure a boot order. If the boot order is set to "firstly, the DVD drive; secondly, the hard disk drive", then the BIOS will try to boot from the DVD drive, and if this fails (e.g. because there is no DVD in the drive), it will try to boot from the local hard drive.

For example, on a PC with Windows XP
Windows XP

Windows XP is a line of operating systems produced by Microsoft for use on personal computers, including home and business desktops, laptop, and media centers....
 installed on the hard drive, the user could set the boot order to that given above, and then insert a Knoppix
Knoppix

Knoppix, or KNOPPIX , is an operating system based on Debian designed to be run directly from a Compact Disc / DVD, one of the first of its kind for any operating system....
 Live CD
Live CD

A live CD or live DVD is a CD or DVD containing a booting computer operating system. Live CDs are unique in that they have the ability to run a complete, modern operating system on a computer lacking Computer_storage , such as a hard disk drive....
 in order to try out Linux
Linux

Linux is a generic term referring to Unix-like computer operating systems based on the Linux kernel. Their development is one of the most prominent examples of free and open source software collaboration; typically all the underlying source code can be used, freely modified, and redistributed by anyone under the terms of the GNU GPL license...
 without having to install an operating system onto their hard drive. This is an example of dual booting - the user choosing which operating system to start after the computer has performed its Power On Self Test. In this example of dual booting, the user chooses by inserting or removing the CD from the computer, but it is more common to choose which operating system to boot by selecting from a menu using the computer keyboard. (Typically, the boot loader which presents the menu will select a default option if the user does nothing for a configured time period, e.g. 30 seconds. This facilitates unattended rebooting into a default environment.)

Boot sequence on standard PC (IBM-PC compatible)

Upon starting, a personal computer
Personal computer

A personal computer is any general-purpose computer whose original sales price, size, and capabilities make it useful for individuals, and which is intended to be operated directly by an end user, with no intervening computer operator....
's x86 CPU
Central processing unit

A central processing unit is an electronic circuit that can execute computer programs. This broad definition can easily be applied to many early computers that existed long before the term "CPU" ever came into widespread usage....
 runs the instruction located at the memory location CS:IP FFFF:0000 of the BIOS
BIOS

In computing, the Basic Input/Output System , also known as the System BIOS, is a de facto standard defining a firmware interface for IBM PC Compatible computers....
, which is located at 0xFFFF0 in physical memory. This memory location is close to the end of the 1MB of system memory accessible in real mode
Real mode

Real mode, also called real address mode, is an operating mode of 80286 and later x86-compatible Central processing unit. Real mode is characterized by a 20 bit segmented memory address space , direct software access to BIOS routines and peripheral hardware, and no concept of memory protection or computer multitasking at the hardware le...
. It typically contains a jump instruction that transfers execution to the location of the BIOS start-up program. This program runs a power-on self test (POST) to check and initialize required devices. The BIOS goes through a pre-configured list of non-volatile storage devices
Non-volatile memory

Non-volatile memory, nonvolatile memory, NVM or non-volatile storage, is computer memory that can retain the stored information even when not powered....
 ("boot device sequence") until it finds one that is bootable. A bootable device is defined as one that can be read from, and the last two bytes of the first sector contain the word 0xAA55 (also known as the boot signature).

Once the BIOS has found a bootable device it loads the boot sector
Boot sector

A boot sector is a disk_sector of a hard disk, floppy disk, or similar data storage device that contains code for booting computer programs stored in other parts of the disk....
 to hexadecimal Segment:Offset address 0000:7C00 or 07C0:0000 (the same physical address) and transfers execution to the boot code
Boot sector

A boot sector is a disk_sector of a hard disk, floppy disk, or similar data storage device that contains code for booting computer programs stored in other parts of the disk....
. In the case of a hard disk, this is referred to as the master boot record
Master boot record

A master boot record , or partition sector, is the 512-byte boot sector that is the first disk sector of a Disk partitioning data storage device such as a hard disk....
 (MBR) and is often not operating system specific. The conventional MBR code checks the MBR's partition table for a partition set as bootable (the one with active flag set). If an active partition is found, the MBR code loads the boot sector
Boot sector

A boot sector is a disk_sector of a hard disk, floppy disk, or similar data storage device that contains code for booting computer programs stored in other parts of the disk....
 code from that partition and executes it. The boot sector is often operating system specific, however in most operating systems its main function is to load and execute the operating system kernel, which continues startup. If there is no active partition, or the active partition's boot sector is invalid, the MBR may load a secondary boot loader which will select a partition (often via user input) and load its boot sector, which usually loads the corresponding operating system kernel.

Many newer systems have EFI
Extensible Firmware Interface

The Extensible Firmware Interface is a specification that defines a software interface between an operating system and platform firmware. EFI is intended as a significantly improved replacement of the old legacy BIOS firmware interface historically used by all IBM PC compatible personal computers....
-compliant firmware, and can boot from either MBR or GPT
GUID Partition Table

In computer hardware, Globally Unique Identifier Partition Table is a standard for the layout of the partition table on a physical hard disk. It is a part of the Extensible Firmware Interface standard proposed by Intel as a replacement for the IBM PC BIOS, one of the few remaining parts of the original IBM PC....
 drives. Compatibility with x86 operating systems, such as 32-bit Windows XP and Vista, require “legacy BIOS” interfaces to operate, which is handled through a compatibility support module (CSM). The CSM includes a 16-bit binary (CSM16) supplied by BIOS vendors such as American Megatrends
American Megatrends

American Megatrends Incorporated is a computer hardware and software company headquartered in Norcross, Georgia, Georgia , United States that specializes in IBM PC compatible hardware and firmware....
 (AMI) and Insyde Software
Insyde Software

Insyde Software is listed on the Gre Tai Market of Taiwan. The company is headquartered in Taipei with offices in Westborough Massachusetts and Portland Oregon USA....
 or Apple Inc. which offers a firmware update for Intel Macintosh computers.

Other kinds of boot sequence

Some other processors have other kinds of boot modes. Most digital signal processor
Digital signal processor

A digital signal processor is a specialized microprocessor designed specifically for digital signal processing, generally in real-time computing....
s have the following boot modes:
  • Serial mode boot
  • Parallel mode boot, such as the host port interface (HPI boot)


Many FPGA chips load their configuration from an external serial EEPROM ("configuration ROM") on power-up.

Initial Program Load

In IBM mainframe
IBM mainframe

IBM mainframes, though perceived as synonymous with mainframe computers in general due to their marketshare, are now technically and specifically IBM's line of business computers that can all trace their design evolution to the IBM System/360....
 systems, the boot process is known as IPL (Initial Program Load). The term was coined by IBM for the design of the System/360
System/360

The IBM System/360 is a mainframe computer system family announced by IBM on April 7, 1964. It was the first family of computers making a clear distinction between computer architecture and implementation, allowing IBM to release a suite of compatible designs at different price points....
 and continues to be used in those environments today. In systems that share the System/360 heritage—and in some that have been inspired by it, including smaller systems such as the IBM 1130
IBM 1130

The IBM 1130 Computing System was introduced in 1965. It was IBM's least-expensive computer to date, and was aimed at price-sensitive, computing-intensive technical markets like education and engineering....
—IPL is a hardware function, not a program run on the system itself. In its basic form, an IPL is initiated by the computer operator by selecting the (three digit) device address using rotary switches on the computer console, followed by pressing the 'IPL' button. This starts a tiny (typically 24 byte) program entirely implemented in hardware, consisting merely of a few channel command words initiating a read operation from the designated device. Usually this is a disk drive, but exactly the same procedure is also used to boot from other devices, such as tape drive
Tape drive

A tape drive, which is also known as a streamer, is a computer hardware that reads and writes data stored on a magnetic tape data storage....
s, or even card reader
Card reader

A memory card reader is a device used for communication with a smart card or a flash memory card.A business card reader is a scanning device used to scan and electronically save business cards....
s, in a device-independent manner, allowing e.g. the installation of an operating system on a pristine computer from a magnetic distribution tape. Of course, the disk, tape or card deck must contain a special program to load the actual operating system into memory, a multi-stage procedure similar to most booting procedures (see elsewhere in this article).

The System/360 IPL function reads 24 bytes from an operator-specified or pre-configured device into memory starting at location zero. The second and third groups of eight bytes are treated as Channel Command Words (CCWs) to continue loading the startup program. When the I/O channel commands are complete, the first group of eight bytes is then loaded into the Program Status Word (PSW) register and the startup program begins execution at the designated location.

A noteworthy variation of this is found on the Burroughs B1700 where there is neither a bootstrap ROM nor a hardwired IPL operation. Instead, after the system is reset it reads and executes opcodes sequentially from a tape drive mounted on the front panel, this sets up a boot loader in RAM which is then executed. However, since this makes few assumptions about the system it can equally well be used to load diagnostic (Maintenance Test Routine) tapes which display an intelligible code on the front panel
Front panel

A front panel was used on early electronic computers to display and allow the alteration of the state of the machine's internal CPU register and computer memory....
 even in cases of gross CPU failure.

Rebooting


Hard reboot

A hard reboot (also known as a cold reboot, cold boot or cold start) is when power to a computer is cycled
Power cycling

Power cycling is the act of turning a piece of equipment, usually a computer, off and then on again. Reasons for power cycling include having an electronic device reinitialize its configuration or recover from an unresponsive state of its mission critical functionality, such as in a Crash or Hang situation....
 (turned off and then on) or a special reset signal to the processor
Central processing unit

A central processing unit is an electronic circuit that can execute computer programs. This broad definition can easily be applied to many early computers that existed long before the term "CPU" ever came into widespread usage....
 is triggered (from a front panel switch of some sort). This restarts the computer without first performing any shut-down procedure. (With many operating system
Operating system

An operating system is an interface between hardware and applications; it is responsible for the management and coordination of activities and the sharing of the limited resources of the computer....
s, especially those using disk cache
Cache

In computer science, a cache is a collection of data duplicating original values stored elsewhere or computed earlier, where the original data is expensive to fetch or to compute, compared to the cost of reading the cache....
s, after a hard reboot the filesystem may be in an "unclean" state, and an automatic scan of on-disk filesystem structures will be done before normal operation can begin.) It may be caused by power failure, be done by accident, or be done deliberately as a last resort to forcibly retrieve the system from instances such as a critical error
Fatal error

In computing, a fatal error is an error which causes a program to abort - and thus may return the user to the operating system. When this happens, data that the program was processing may be lost....
 or virus
Computer virus

A computer virus is a computer program that can copy itself and infect a computer without the permission or knowledge of the user. The term "virus" is also commonly but erroneously used to refer to other types of malware, adware and spyware programs that do not have the reproductive ability....
-inflicted DoS attack
Denial-of-service attack

A denial-of-service attack or distributed denial-of-service attack is an attempt to make a computer resource unavailable to its intended users....
. It can also be used by intruders to access cryptographic keys from RAM
Ram

Ram, ram, or RAM as a non-acronymic wordAs a non-acronymic word Ram, ram, or RAM may refer to:...
, in which case it's called cold boot attack
Cold boot attack

In cryptography, a cold boot attack, platform reset attack, cold ghosting attack or iceman attack is a type of side channel attack in which an attacker with physical access to a computer is able to retrieve encryption key from a running operating system after using a Booting#Hard_reboot to restart the machine from a complet...
.

Soft reboot

A soft reboot (also known as a warm reboot) is restarting a computer under software control, without removing power
Electric power

Electric power is defined as the rate at which electrical energy is transferred by an electric circuit. The SI unit of power is the watt .When electric current flows in a circuit, it can transfer energy to do mechanical work or work ....
 or (directly) triggering a reset line. It usually, though not always, refers to an orderly shutdown
Shutdown (computing)

To shutdown a computer is to turn its power off in a controlled way....
 and restarting of the machine.

The Control-Alt-Delete
Control-Alt-Delete

Control-Alt-Delete is a computer keyboard command on PC compatible systems that can be used to reboot the computer, and summon the Windows Task Manager or Windows Security in more recent versions of the Microsoft Microsoft Windows operating system....
 key combination on the original IBM PC
IBM PC

The IBM Personal Computer, commonly known as the IBM PC, is the original version and progenitor of the IBM PC compatible hardware platform ....
 was designed to allow a soft reboot for a quicker and more convenient (and, some argue, less stressful on system components) restart than powering the computer completely down then back up.

The Linux kernel has optional support for the kexec
Kexec

kexec is a mechanism of the Linux kernel that allows "live" booting of a new kernel over the currently running one. kexec skips the bootloader stage and directly loads the new kernel into memory, which starts executing immediately....
 system call
System call

In computing, a system call is the mechanism used by an application program to request service from the kernel based on the Monolithic_kernel or to system servers on operating systems based on the microkernel-structure....
, which shuts down the currently running kernel and executes another one. The entire process is done independent of the system firmware. Note that the kernel being executed does not have to be a Linux kernel.

Most Nintendo Game Boy
Game Boy line

The line is a line of Battery -powered handheld game consoles sold by Nintendo. It is one of the world's List of best-selling game consoles lines with nearly 200 million units sold worldwide, as of November 17, 2006....
 games feature a soft reset feature when the A, B, Start, and Select buttons are pressed together. This was carried over to the Nintendo DS
Nintendo DS

The is a dual-screen handheld game console developed and manufactured by Nintendo. It was released in 2004 in video gaming in Canada, the United States, and Japan....
, with the sequence L, R, Start, and Select. Many Nintendo GameCube
Nintendo GameCube

The , is Nintendo's fourth home video game console and is part of the History of video game consoles . It is the successor to the Nintendo 64 and predecessor to Nintendo's Wii....
 games have a similar feature, with the sequence Start, B, and X.

Random reboot

Random reboot is a non-technical term referring to an unintended (and often undesired) reboot for which the cause is not immediately evident to the user. Such reboots may occur due to a multitude of software and hardware problems, such as triple fault
Triple fault

A triple fault is a special kind of Exception handling generated by the Central processing unit when an exception occurs while the CPU is trying to invoke the double fault exception handler, which itself handles exceptions occurring while trying to invoke a regular exception handler....
s.

As Windows XP/Vista has an option to skip its Blue Screen of Death
Blue Screen of Death

The Blue Screen of Death is a humorous term used for the error screen displayed by some operating systems, most notably Microsoft Windows, after encountering a critical system error which can cause the system to shut down to prevent damage....
 (Blue Screens of Death in Windows XP/Vista offer no option of pressing any key and seeing if the computer continues functioning) and immediately restarts the computer in the event of a fatal error, users can be mistaken in thinking a Windows XP/Vista computer suffers from random rebooting.

Errors

In Windows, when an error occurs in the boot process, a Blue Screen of Death
Blue Screen of Death

The Blue Screen of Death is a humorous term used for the error screen displayed by some operating systems, most notably Microsoft Windows, after encountering a critical system error which can cause the system to shut down to prevent damage....
 or a Black Screen of Death
Black Screen of Death

The black screen of death , is one of three things:* a failure mode of Windows 3.1x, or* the screen displayed by the OS/2 operating system in the event of either a system error from which it cannot recover or a "hard" error in a program running in "full screen" mode ....
 may occur. On Unix and Unix-like operating systems, such as Linux, a fatal error in the boot process may cause a kernel panic
Kernel panic

A kernel panic is an action taken by an operating system upon detecting an internal fatal error from which it cannot safely recover; the term is largely specific to Unix and Unix-like systems....
.

Quick boot

Several devices are available that enable the user to "quick-boot" to a usually Linux
Linux

Linux is a generic term referring to Unix-like computer operating systems based on the Linux kernel. Their development is one of the most prominent examples of free and open source software collaboration; typically all the underlying source code can be used, freely modified, and redistributed by anyone under the terms of the GNU GPL license...
-powered OS for various simple tasks such as Internet access (Splashtop
Splashtop

Splashtop is an instant on commercial Linux distribution targeting PC motherboard vendors and other device manufacturers. It is developed by DeviceVM....
, Latitude ON
Latitude ON

Latitude ON is a instant on combination of software and hardware developed by Dell and used in their Dell Latitude E4200 and E4300 Notebooks. Dell claims that up to 19 hours of battery life on standard lithium ion batteries can be achieved with this system....
 etc.).

See also

  • Boot disk
    Boot disk

    A boot disk is a removable digital data storage medium from which a computer can load and run an operating system or utility program. The computer must have a built-in program which will load and execute a program from a boot disk meeting certain standards....
    , Live CD
    Live CD

    A live CD or live DVD is a CD or DVD containing a booting computer operating system. Live CDs are unique in that they have the ability to run a complete, modern operating system on a computer lacking Computer_storage , such as a hard disk drive....
    , Live USB
    Live USB

    A live USB is a USB flash drive or a USB external hard disk drive containing a full operating system which can be booting. Live USBs are closely related to live CDs, but typically have the ability to save settings and permanently install software packages back onto the USB device....
  • Boot sector
    Boot sector

    A boot sector is a disk_sector of a hard disk, floppy disk, or similar data storage device that contains code for booting computer programs stored in other parts of the disk....
  • Comparison of boot loaders
    Comparison of boot loaders

    The following tables compare general and technical information for a number of available bootloaders....
  • PC booter
    PC booter

    A PC booter, or booter, is a type of software for home computer era personal computers that was loaded and executed in the bootup of the computer, from a bootable floppy disk, rather than as a regular program; a booter thus bypassed any operating system that might be installed on the hard disk of the PC....
  • Extensible Firmware Interface
    Extensible Firmware Interface

    The Extensible Firmware Interface is a specification that defines a software interface between an operating system and platform firmware. EFI is intended as a significantly improved replacement of the old legacy BIOS firmware interface historically used by all IBM PC compatible personal computers....
     (EFI)
  • Linux startup process
    Linux startup process

    The Linux startup process is the process of Linux-operating system initialize. It is in many ways similar to the BSD and other Unix style boot processes, from which it derives....
  • Microreboot
    Microreboot

    Microrebooting is a technique used to recover from failures in software systems. Instead of rebooting the whole system, only subsets of fine-grain components are restarted....
  • Network booting
    Network booting

    Network booting is the process of booting a computer from a computer network rather than a local drive. This method of booting can be used by routers, diskless workstations and centrally managed computers such as public computers at library and schools....
  • RedBoot
    RedBoot

    RedBoot is an open source application software that uses the eCos real-time operating system Hardware Abstraction Layer to provide Bootstrapping firmware for embedded systems....
     open source boot loader for embedded systems
  • Windows NT Startup Process
    Windows NT Startup Process

    The Windows NT startup process is the process by which Microsoft's Windows NT, Windows 2000, Windows XP and Windows Server 2003 operating systems initialize....
  • Windows Vista startup process
    Windows Vista Startup Process

    The startup process of Microsoft's Windows Vista and Windows Server 2008 operating systems is slightly different from previous versions....


Further reading

  • at OSDEV Community
  • Booting From Scratch
  • FreeBSD
  • Linux
  • Mac OS X
  • Windows