- BOOT LOADERS
- The computer’s firmware will read the boot loader and put it into memory from the hard disk, where it is executed.
- The boot loader will load the Linux kernel (or Windows equivalent) into memory and execute it.
- From the BIOS options, your first disk that houses the MBR will give the first bit of code to be loaded
- The code in the MBR can be literally anything to include an OS, or instructions for an OS (a kernel)
- The code run from the MBR is the Boot Loader code
- Windows boot loaders are very simple and basically point to the Windows OS
- Windows will write its standard MBR boot loader when installed
- If a new OS is installed with a boot loader, it will cause problems for that original installation
- If Windows is installed after Linux has been installed, it will most likely rewrite the MBR taking away the Linux option for booting.
- Linux boot loaders are a bit more complicated and provide several options
- Linux uses a boot loader called LILO or GRUB
- A linux boot loader can be configured to boot to multiple OSs, or multiple Linux kernels
- You can modify the existing boot loader configuration instead of performing a new install
- EFI Boot Loaders
- EFI, as compared to a traditional BIOS, is much larger in size and allows for multiple boot loaders if desired.
- EFI System Partition (ESP) is a FAT filesystem that houses files that act as the boot loaders.
- The .efi files on the ESP are named for each boot loader option allowing a separate boot loader for each OS that is installed on the computer.
- A built in EFI utility allows you to register each boot loader with the firmware so that it knows it exists
- Other Boot Loaders
- [ Syslinux ] — smaller and more specialized than GRUB. In this family is ISOLINUX which is used for booting CDs. Also in this family is EXTLINUX used for booting ext2/3/4 filesystems.
- [ LILO ] — Linux Loader (LILO) is primitive and works only on BIOS-based systems.
- [ ELILO ] — EFI Linux Loader (ELILO) is used by most systems as the default boot loader for EFI systems.
- [ Linux Kernel ] — On an EFI system, you can boot directly to the kernel through a .esp file in the ESP
- [ rEFIt ] — Popular on Intel Macs and presents icons instead of texts for the OS options. This is technically a boot manager and is no longer being used.
- [ rEFInd ] — Is currently replacing rEFIt and is also a icon based boot manager (not boot loader)
- [ gummibot ] — EFI boot manager similar to rEFInd, but uses text instead of icons