Boot Loader

Boot Loader, also referred as Boot Manager is a small piece of code that enables loading the operating system within the computer memory when a computer is started or booted up. Each of the operating systems has their own specific boot loaders. When a computer is powered on or restarted, the boot loader transfers the control to the Master Boot Record. Virtually all PCs, laptops, smartphones, and other such devices that run on operating systems also have boot loaders.

Basically Boot loader is a package of instructions to boot the operating system kernel. Most of the boot loaders are included with their own debugging or modification environment. Since, the boot loader is the software that is first run on your computer, it is extremely processor specific and every motherboard has its own boot loader. Hence, all Android phones and tablets have their own custom ROMS developed due to variable processor and motherboard specifications of such devices.

A boot loader is included with only a single operating system. An operating system can have multiple boot loader programs that are classified as primary and secondary boot loaders, where a secondary boot loader are quite larger and are more capable than the primary boot loader.

Role of Boot Loader

Primarily, a boot loader manages and executes the boot sequence of a computer system. When a computer is powered-up or restarted the Basic Input / Output System (BIOS) performs some initial tests, and then transfers control to the master boot record (MBR) where the boot loader resides. Then boot loader fetches the OS kernel from the hard disk or from any specified boot device that has been included within the boot sequence, and brings the kernel into the main memory.

Boot Loader Examples:

Windows and Mac: Boot loader resides in BIOS

LINUX : Linux boot loader(LILO), Grand Unified Bootloader(GRUB), LOAD LINux (LOADLIN)

Need for boot loader

The boot loaders are needed for any OS since it perform the below tasks:

  • It bring the kernel and all the resources that the kernel needs into main memory
  • Provides information needed for a kernel to work properly
  • Allows the kernel to switch to any environment that it is comfortable with
  • Transfers the control to kernel
Safe and Secure
Safe and Secure