Skip to content
ALB Wiki

GRUB

GRUB — the GRand Unified Bootloader — is the program that sits between firmware and kernel on most of the Linux world: written by Erich Stefan Boleyn in 1995 to boot GNU Mach, adopted as the GNU project's official bootloader in 1999, and rewritten completely as GRUB 2 (the version everything now runs). It displaced LILO because it understood filesystems — you point it at a kernel file, not a hardcoded list of disk blocks.[1]

The load chain

On BIOS machines the chain is: boot.img in the MBR → core.img in the post-MBR gap → normal mode reading /boot/grub/grub.cfg. On EFI it's a single grubx64.efi in the ESP. Everything else is modules — part_gpt, part_msdos, ext2, luks, lvm, normal — loaded by insmod as the menu needs them, which is why an encrypted /boot or an exotic filesystem can still boot. grub-install writes the stages; grub-mkconfig generates the menu from /etc/default/grub and the /etc/grub.d/ drop-ins; os-prober finds other OSes for dual-boot.[2]

Why it matters here

GRUB is the handbook's bootloader of record — chapter 6 of the LFS build ends by running grub-install, and the rescue chapter's "fix boot" playbook is a GRUB playbook: insmod, set root=, linux/initrd/boot at the grub> rescue shell. Its Multiboot heritage is why kernels from Linux to BSD to hobby projects all boot the same way — the bootloader speaks a standard, not a vendor.[3]

See also

Footnotes

  1. ↑ GNU GRUB manual; wiki history
  2. ↑ GNU GRUB manual
  3. ↑ LFS book ch.10; GRUB manual
Categories: Boot · GNU · Linux · Software
This page was last edited 2026-10-26 14:27:50 UTC by ALB Team. What links here