In order to execute orders and applications, the CPU of a PC always uses RAM memory, since that is where the information and calculations are stored that the processor has to constantly resort to to carry out its tasks.
Obviously, the most important resource stored in RAM has to do with the operating system, a “program” equipped with a process management function that regulates, among other things, the access of the CPU to the computer. memory precisely (and although it sounds redundant). What we mean by this is that on a PC the relevant operating system data must be loaded into memory from the start of the computer, and that is where the bootloader comes into operation.
What is a bootloader?
As you can imagine because its name is quite self explanatory, the word bootloader comes from the English words boot and loader, although to be more specific it actually comes from bootstrap loader, which in English literally means loader (or loop) of the laces of the boots. The origin of this term comes from the fact that the boot manager is essential for starting the PC and, therefore, serves as a support in a similar way to how the loops of shoelaces do.
A bootloader or boot loader is a kind of special software that loads the essential files of the operating system you have into the RAM memory of your computer, and this is valid for Windows, Linux, Max and even DOS-based systems such as FreeDOS. To do this, the bootloader must necessarily be used on a boot system, which may well be a CD / DVD, a pen drive or the system storage unit, which is common on a PC.
The boot media receives information about where the boot loader is located through the firmware of the computer, such as the BIOS, for example, and this is precisely the reason why in the BIOS we can configure the boot devices.
By selecting the boot sequence in the BIOS we are literally telling the PC where to look for the bootloader, since without it the computer is not able to boot and start the operating system.
How a bootloader works on PC
At the moment in which we press the power button of the PC, the first thing that appears on the screen is the data related to the equipment’s hardware, such as the processor, memory or connected storage devices. The software responsible for processing this information is the aforementioned firmware (the BIOS / UEFI on a PC) found in the ROM memory of the motherboard.
This initial process is called POST, which means Power on Self Test And although we have a specific article talking about it, in short it consists of a series of processes and system checks that are executed on the PC every time it is turned on or restarted. And, as you will already suppose, the bootloader is what is loaded right after the POST; the system checks the boot sequence configured in the BIOS and begins to search in order for the first of the selected devices that has a bootloader to load the data into memory.
When a media with bootloader is found, it will load automatically, but if the list of devices configured in the BIOS ends and none have been found, the system will display an error message and will not boot. The bootloader is, as you will assume after reading this, essential and essential for the computer to function.
Where exactly is it stored?
The bootloader is usually found in the MBR (Master Boot Record) of the hard disk or SSD, where the partition table of the storage medium is also stored, however this is not always the case and as a general rule we can find these two options:
- In the first block of the boot media (also known as “disk track zero”).
- On a specific partition of the boot media.
The first option is the most common because it is closely related to the operating principle of the MBR, which not only contains the necessary reference for the firmware to find the bootloader but also contains the boot software itself, which is what that allows the operating system to “boot.”
In the second option, less used because it requires the user to have configured it this way on purpose for whatever reason (although it also looks like this on OEM PCs from manufacturers), the operating system uses a specific partition as a storage location for the bootloader that is created on the storage drive.
As additional information, you should know that bootloaders can also be divided into several levels in a configuration called multistage and that it can cover up to three different levels, running one after the other. This is used when the boot loader is too large to fit on track zero of the disk.
After what has been explained so far, you will have already realized that bootloaders are a kind of intermediaries between the hardware and the PC’s operating system. We could say that the responsibility for the system to boot falls on this element, and for this, its first task is to load the operating system into the computer’s RAM, which is essential for the processor to know what to do.
In the next step the bootloader loads the operating system kernel, the fundamental component of the system software that controls all memory and processor accesses and contains all the essential drivers. In addition, it processes all routine orders and tasks such as data memory integration. Some bootloaders perform additional tasks that go beyond mere bootloaders, such as:
- Recognition and boot of other bootloaders (multistage).
- Execution of application programs.
- Fix or add features that are wrong in the firmware.
- Alternative firmware upload.
What bootloaders are there?
So far we have told you what a bootloader is, what its functions are and what it is for, but you should also know that there are different bootloaders depending on the use and the operating system. We have summarized the most important ones in the following table:
|NameBootmgr||DescriptionIt is Microsoft’s bootloader from Vista / Server 2008|
|NameNT-Loader (NTLDR)||DescriptionIt is the bootloader that Microsoft used until the arrival of Vista (that is, until Windows XP / Server 2003)|
|Namebarebox||DescriptionIt is a bootloader built into scanners, printers, cameras, etc.|
|Nameboot.efi||DescriptionIt is the bootloader used by Mac devices since 2006.|
|NameBootX||DescriptionOld bootloader used by Macs until 2006.|
|NameGRUB (Grand Unified Bootloader)||DescriptionIt is an open source bootloader famous for being the one generally used by Linux systems.|
|NameARM Core Bootloader||DescriptionBootloader that is used in micro controllers (as in smartphones)|
|NameOpenBIOS||DescriptionIt is a free and portable bootloader under the GNU-GPL license.|