Boot­load­ers ensure that all relevant operating system data is loaded into the main memory when a device is started. During the boot process, the firmware transmits the required in­for­ma­tion.

What is a boot­loader?

Data of an operating system must be loaded into the working memory during device start-up. This is made possible by a so-called boot­loader, also known as a boot program or bootstrap loader. For this purpose, im­me­di­ate­ly after a device starts, a boot­loader is generally launched by a bootable medium like a hard drive, a CD/DVD, or a USB stick. The boot medium receives in­for­ma­tion from the computer’s firmware (e.g. BIOS) about where the boot­loader is. The whole process is also described as “booting”.

Note

The term “boot­loader” is a shortened form of the words “bootstrap loader”. The term stems from the fact that the boot manager is the key component in starting up the computer, so it can be likened to the support of a bootstrap when putting a boot on.

How does a boot­loader work?

When you press the start button on a computer, the very first thing you see on the screen is in­for­ma­tion about the hardware installed. The software re­spon­si­ble for this no­ti­fi­ca­tion is the device firmware mentioned above, which is usually im­ple­ment­ed by man­u­fac­tur­ers in flash memory on the computer’s moth­er­board. With most desktop PCs and notebooks this will be the BIOS (Basic Input/Output System) or the more modern UEFI (Unified Extensible Firmware Interface). Both ap­pli­ca­tions collect the most diverse hardware data and create a complete list of all of the device’s available drives.

When this process is complete, the firmware goes through the data carriers found in sequence, checking for a boot­loader by means of a special signature – the so-called boot signature (or “boot record”). The search always starts on the removable media (CD/DVD, USB stick, external hard drive, etc.), followed by the hard-coded drives. With the latter, the boot­loader and its signature is generally in the Master Boot Record (MBR), which also contains the data carrier’s partition tables. When a boot­loader is found, it is loaded and the system start is initiated. If the search is un­suc­cess­ful, the firmware will return an error message.

Tip

As soon as you have installed an operating system properly it will launch via a boot­loader, which is typically located on the main partition. If the system is damaged, however, and ought to be installed again, you are dependent on the bootable removable media mentioned pre­vi­ous­ly. This also applies if no operating system is installed. You can find out how to transform a standard USB stick into a fully func­tion­al boot medium in our guide.

Where exactly are boot­load­ers stored?

Boot­load­ers can be stored in two different places:

  1. The boot­loader is stored in the first block of the bootable medium.
  2. The boot­loader is stored on a specific partition of the bootable medium.

The first variant is closely connected to the principle of master boot records, which don’t just contain the link to the boot­loader required by the firmware, but the boot software itself. The first available memory block or sector in the medium is always reserved for the record. Because of this important function, it is also known as the boot block or boot sector.

In the second case, the operating system uses a selected partition as the storage location for the boot­loader, though the un­der­ly­ing file system and the partition tables used can vary greatly. The decisive factor here is always the firmware, which stip­u­lates a specific file format for the boot manager in this boot­loader storage model. For devices with UEFI, for example, the format is PE/COFF (Portable Executable / Common Object File Format).

Note

Boot­load­ers can also be spread across several layers that build upon each other. These multi-stage boot­load­ers consist of up to three different levels that are launched in sequence. They are typically used if the boot program is too big for the boot sector.

A summary of a boot­loader’s functions

Boot­load­ers serve as a mediator between hardware and the operating system. As soon as a boot­loader has been ini­tial­ized by the re­spec­tive firmware, it has system re­spon­si­bil­i­ty to get the boot process going. The first task is to load the main memory, which is essential for the processor to work.

In the second step, the boot­loader loads the kernel of the operating system, that is, the primary component of the system software that controls all storage and processor per­mis­sions and contains all important drivers. The bootstrap loader also processes different routine tasks and commands, e.g. in­te­grat­ing data storage. Some boot­load­ers also perform tasks beyond starting up software, including:

  • Iden­ti­fy­ing and starting other available boot­load­ers
  • Launching ap­pli­ca­tion programs (fre­quent­ly used in the 1980s to launch computer games directly from a disk)
  • Cor­rect­ing or expanding missing functions and entries in the firmware
  • Loading al­ter­na­tive firmware

After suc­cess­ful­ly com­plet­ing all tasks, the boot­loader returns the system re­spon­si­bil­i­ty to the kernel.

What well-known boot­load­ers are there?

The following table lists the most important boot­load­ers:

Name of the boot­loader De­scrip­tion
Bootmgr boot program for Microsoft systems since Windows Vista and Windows Server 2008
NT loader (NTLDR) boot program for Microsoft systems until Windows XP and Windows Server 2003
barebox boot­loader for embedded systems in printers, cameras, cars, airplanes, and more
boot.efi EFI boot­loader that has been used in Mac devices since 2006
BootX former boot­loader for Mac operating systems
Grand Unified Boot­loader (GRUB) free boot program for Unix-like operating systems such as Linux
ARM Core Boot­loader boot­loader for mi­cro­con­trollers (used in iPhones among others)
OpenBIOS free, portable boot manager under a GNU-GPL license
Go to Main Menu