Booting
Startup is a redirect to this article. For the startup of a nuclear reactor, see Nuclear reactor#Initiation and control of the chain reaction.
This article or subsequent section is not sufficiently supported by evidence (e.g., anecdotal evidence). Information without sufficient evidence may be removed in the near future. Please help Wikipedia by researching the information and adding good supporting evidence.
See discussion page.
Booting (English pronunciation [ˈbuːtən]; from English: to boot), booting, starting or also bootstrapping refers to the loading of the operating system of a computer, as is usually required after switching on. The word boot is a short form of bootstrap loading.
The boot process of a computer takes place in several stages. After switching on, a simple program is first read from a small read-only memory (ROM). This program allows a more complex program to be started, which then starts an operating system, for example. In early computers (before the 1970s), there was often no read-only memory (ROM), and the first stage of the boot process had to be written manually to memory using a machine console (keyboard) so that the operating system could then be read from external memory devices. On all currently used computers and computer-controlled devices/systems, the boot process starts automatically after switching on.
Since a computer already loads a program during the boot process, which it needs to function, it pulls itself out of the swamp, figuratively speaking, like Munchausen by its own hair. In English, it is the bootstraps, which is where the term booting comes from.
Simplified flowchart of the late boot phase of a Linux system with init
Mainframe
On IBM mainframes, the boot process has traditionally been called Initial Program Load (IPL). However, this use of the term Initial Program Load is now obsolete, because one has switched to using this term for the first stage of the execution of a multi-stage boot load program.
Personal computer (x86 architecture)
When a PC boots, the processor starts processing the firmware stored at a specified memory address in ROM. In general, this performs a test of the connected devices (POST) and checks storage devices such as floppy disk drives, hard disks or CD/DVD drives etc. to see whether they are or contain bootable media. Depending on the concrete firmware implementation, the search sequence according to which these devices are accessed can be changed, e.g. via firmware setup or via boot menu.
On IBM PC-compatible computers up to the 2010s, this firmware is usually the BIOS. On PCs after about 2010, it was increasingly replaced by the (Unified) Extensible Firmware Interface, EFI or UEFI for short. Macs have also used an Apple-specific EFI since the switch to Intel processors in 2006.
A bootable medium requires a valid boot sector on a PC with BIOS, as introduced with the original IBM PC model 5150 from 1981. On larger data storage devices such as hard disks, this is usually the Master Boot Record (MBR), which also contains the partition table. The process of booting begins when the boot sector is loaded and executed by the BIOS. Since the boot sector is limited to a block size of 512 bytes, it usually contains a boot loader that loads further data, for example by searching for special files on the storage medium and then loading and executing them until, for example, the kernel and finally the entire operating system has been started. This process, in which one program loads the next, is also called chain loading. With boot managers that link into this chain early on, it is possible to change the boot process and, for example, to implement an additional boot menu for multi-boot systems.
On the BIOS successor Extensible Firmware Interface (EFI), which was introduced by Intel at the end of the 1990s and which has been further developed jointly by several PC manufacturers from the hardware and software sectors since 2005 as "Unified EFI" (UEFI), an EFI loader is loaded directly from a specified partition, the EFI System Partition (ESP). By specification, the ESP is a partition of arbitrary size formatted with the FAT32 file system and defined in a GUID partition table. The EFI loader is an executable program of the respective processor architecture, either found on a data memory found and checked by the firmware or specified directly by an entry in the NVRAM of the (U)EFI, possibly including a startup paramenter. As a successor to the BIOS, many (U)EFI implementations also have a compatibility module, the Compatibility Support Module (CSM), which emulates a BIOS and can thus continue to start IBM PC-compatible boot sectors. If this module is available and the function is configured accordingly (activated), UEFI automatically loads the CSM if a data carrier with a Master Boot Record (MBR) is found and is to be booted from it by default in the firmware setup or selection in the boot menu. If Secure Boot is enabled, the CSM is not available.
The EFI loader, like the boot code in a boot sector, is also called a boot loader. Boot loaders are computer programs whose task it is to advance the boot process. In a few cases, the boot loader is already the last stage in the boot process, for example in PC booters.
When installing an operating system, it is first booted from a bootable medium such as a CD or DVD in an optical drive or from a USB stick. However, the firmware must support this type of bootable medium. This usually contains a customized version of the operating system to be installed - if the boot process of this installation medium is successful, it automatically loads the installation program of the operating system. This program sets up a functioning boot configuration for the respective system on the selected installation target, a data storage device such as a hard disk, for example boot sectors and startup files on the corresponding partitions.
Intel has specified PXE as a method to boot PCs (IA-32) and Itanium computers (IA-64) over a computer network.