GRUB
The GNU Project's GRand Unified Bootloader is an interactive boot manager capable of loading Linux, BSD, and any multiboot2-compliant operating system kernel. It is distributed as an EFI application and as a legacy "BIOS" boot format for non-UEFI systems. Traditionally, GRUB tends to be used on x86 PCs, especially Linux systems. GRUB is extensible and a wide variety of GRUB modules are available, providing extended filesystem support (including ext4 and btrfs), video driviers, and network protocol implementations.
GRUB has a rather detailed manual, but in our experience it can be difficult to get a handle on basic usage patterns from reading this. The shell scripts used by Linux distros to generate GRUB's main configuration file, grub.cfg
, are often complex and arcane. This can make it difficult for non-expert users to diagnose and debug boot issues.
Quickstart
The default behaviour of GRUB is to try to locate and interpret its configuration file grub.cfg
, written in a GRUB-specific scripting language similar to Bash.