What is a boot loader?
Boot loader is a system software which loads the operating system and transfer the execution context to the operating system. BIOS loads the boot loader at the last stage of POST. Boot loader loads the initial file system and operating system kernel into the main memory then it jumps to the entry point of the kernel.
Where does boot loader reside?
Boot loader generally resides in the starting sectors of secondary memory like ROM, Floppy, hard disk, USB drive, CD/DVD etc. Older version of loaders are located in the master boot record or MBR sector of the secondary device. This sector is the first sector in the secondary device. Modern boot loaders are placed inside a reserved FAT32/16 partition called EFI partition.
What are the stages of boot loader?
Generally boot loader can have one to two and more stages.
- Stage 1: First stage of the boot loader is located in the MBR sector of the secondary device. This is 446 bytes in size and known as boot strap loader.
- Stage 1.5: This stage is located in the hidden sectors before the system partition.
- Stage 2: This stage is a binary file located in boot folder or root folder in the operating system partition. This is the core of the boot loader.
- Stage 3: Stage 3 is often optional. Some special boot loading requires PxE, iSCSI or some additionalnal payload to load from 3rd stage and execute.
What are the main responsibilities of a boot loader?
The main responsibility of boot loader is to load the operating system. However it can do varieties of other tasks.
- Testing and diagnosis of main memory.
- Multiboot loading - one boot loader can load boot loaders of other operating systems.
- Managing partitions, formatting, managing config file for boot menu options.
- Networks and transport - Boot loader can enable networking and can load via protocols like pxe, tftp, http, ftp etc
- Serial loader - Embedded Boot loader can load image files from serial terminals using
- Firmware update - Boot loader can load and update operating system image and system partition root file system from USB/SDCARD and flash to system.
- System recovery - Boot loader can perform formatting of system partition and recover factory default files from recovery pertition.
What are the popular boot loader available?
- GRUB/Grand Unified Boot Loader - It is the default boot loader of all flavors of Linux operating system.
- NTLDR- NT Loader is the default boot loader of Windows Operating system. Windows NT, XP, 7, 8, 10 and all NT based Windows uses this as boot loader.
- LILO - Lilo was the default boot loader for older Linux distributions.
- ISO/SYS LINUX - Syslinux is the boot loader of ISO and FAT file system in legacy boot option. ISO Linux is used for the booting of Linux installation CDROM/DVD disks of any Live CD.
- UBOOT - Universal Boot Loader is the default boot loader of any embedded Linux system.
Similar topics related to this section
BIOS, Booting, PC Firmare, Topics Index, Primary Base Memory, High, Extended Memory and IO Ports, Memory Mapped IO Layout, IO Port Ranges, Interrupt Lines, x86 Registers, Real Mode Memory Segmentation, Power On Self Test, H/W Inits, Software Interrupts, Keyboard Module and int16, VGA Display int10, Disk Subsystem int13, BIOS Config Screen, BIOS Development Code Flashing Debugging, Plug-n-Play, PCI card PnP Mechanism, PCI Config Address Space, PCI MMIO IO IRQ perations, BIOS Boot OPROMs Drivers, Disk Cylinder Head Sectors, MBR Disk Partitions, MBR and File Allocation Table Partitions, Boot Loader, Grand Universal Bootloader Linux Booting, NT Loader Windows Booting, Embedded System Booting, Unified Extensible Firmware Interface Stack, UEFI Development And Advantages, References and Links,