BIOS Boot Process

This article is a WIP...

Introduction

BIOS is the predecessor of UEFI. UEFI is the successor to BIOS. If your system permits, use UEFI.

This article will outline the differences between the boot process for UEFI (more common) and BIOS. See previous article on UEFI.

  • how Linux boots after turning on the power
  • differences in disk partitioning
  1. Power On
  2. BIOS launches the first 440 bytes, the Master Boot Record (MBR), of the first disk in the BIOS boot order
  3. The bootloader's first stage in the MBR then launches the second stage from the next disk sectors after the MBR, called the post-MBR gap
  4. Bootloader is executed
  5. Bootloader loads kernel into memory
  6. Kernel mounts root filesystem
  7. init process is executed

Try drawing out or visualizing the boot process, with the UEFI image above as a reference. For BIOS boot process, the only disk partition required is the root partition. The MBR and post-MBR gap are not real partitions; they are just allocated regions on a hard disk with a MBR partition scheme. There is also no EFI system partition (ESP) as the ESP is only used for UEFI booting.

The chief differences are the absence of ESP, and the extra MBR and post-MBR regions. In your mental model, there should be the following:

  1. BIOS firmware
  2. MBR and first stage bootloader
  3. post-MBR gap
  4. Root partition and filesystem
  5. Kernel, usually located /boot/vmlinuz-linux
  6. init process in root filsystem

References

  1. ArchWiki - Arch Boot Process
  2. ArchWiki - UEFI
  3. ArchWiki -Bootloader
  4. ArchWiki - GRUB bootloader
  5. Gentoo Wiki - GRUB bootloader
  6. ArchWiki - EFI system partition (ESP)
  7. AdamW - UEFI
  8. Wikipedia - UEFI

Final Notes

This explanation of the Linux installation and boot process is targeted at newcomers to Linux. The extensive use of illustrations is something I find most other guides lack. I would appreciate any feedback, and corrections if I have made any mistakes. Apologies in advance if I have!

Email:
sky100aw@gmail.com