Also known as: gummiboot
systemd-boot (formerly known as gummiboot) is a minimal UEFI-only bootloader included in the systemd project. Unlike GRUB, which supports both legacy BIOS and UEFI and has its own scripting language and filesystem drivers, systemd-boot delegates everything it can to the UEFI firmware. It reads kernel images and initramfs directly from the EFI System Partition (which the firmware already knows how to read as FAT) and presents a simple text menu.
Configuration lives under /boot/loader/ on the ESP:
/boot/loader/loader.conf # defaults, timeout, default entry
/boot/loader/entries/arch.conf # one .conf per boot entry
Each entry file lists a title, the path to the kernel, the initramfs, and the kernel command line. Because there is no scripting or automatic generation, the file format is trivially readable and directly editable.
systemd-boot is popular on Arch, NixOS, and minimal setups where the simplicity of a single FAT partition containing everything needed to boot outweighs GRUB's features. It does not work on legacy-BIOS systems at all. For an unencrypted root filesystem with a single distribution installed, systemd-boot is often the least-friction option; GRUB remains more capable for multi-boot and legacy BIOS.
Discussed in:
- Chapter 3: The Linux Kernel — The Boot Process
Also defined in: Textbook of Linux