Index · Directives systemd 239

Name

systemd-boot, sd-boot — A simple UEFI boot manager

Description

systemd-boot (short: sd-boot) is a simple UEFI boot manager. It provides a graphical menu to select the entry to boot and an editor for the kernel command line. systemd-boot supports systems with UEFI firmware only.

systemd-boot loads boot entry information from the EFI system partition (ESP), usually mounted at /boot, /efi, or /boot/efi during OS runtime. Configuration file fragments, kernels, initrds and other EFI images to boot generally need to reside on the ESP. Linux kernels must be built with CONFIG_EFI_STUB to be able to be directly executed as an EFI image. During boot systemd-boot automatically assembles a list of boot entries from the following sources:

  • Boot entries defined with Boot Loader Specification description files located in /loader/entries/ on the ESP. These usually describe Linux kernel images with associated initrd images, but alternatively may also describe arbitrary other EFI executables.

  • Unified kernel images following the Boot Loader Specification, as executable EFI binaries in /EFI/Linux/ on the ESP.

  • The Microsoft Windows EFI boot manager, if installed

  • The Apple MacOS X boot manager, if installed

  • The EFI Shell binary, if installed

  • A reboot into the UEFI firmware setup option, if supported by the firmware

kernel-install(8) may be used to copy kernel images onto the ESP and to generate description files compliant with the Boot Loader Specification. bootctl(1) may be used from a running system to locate the ESP, list available entries, and install systemd-boot itself.

systemd-boot will provide information about the time spent in UEFI firmware using the Boot Loader Interface. This information can be displayed using systemd-analyze(1).

Key bindings

The following keys may be used in the boot menu:

↑ (Up), ↓ (Down), j, k, PageUp, PageDown, Home, End

Navigate up/down in the entry list

↵ (Enter)

Boot selected entry

d

Make selected entry the default

e

Edit the kernel command line for selected entry

+, t

Increase the timeout before default entry is booted

-, T

Decrease the timeout

v

Show systemd-boot, UEFI, and firmware versions

P

Print status

Q

Quit

h, ?

Show a help screen

Ctrl + l

Reprint the screen

The following keys may be used during bootup or in the boot menu to directly boot a specific entry:

l

Linux

w

Windows

a

OS X

s

EFI shell

1, 2, 3, 4, 5, 6, 7, 8, 9

Boot entry number 1 … 9

In the editor, most keys simply insert themselves, but the following keys may be used to perform additional actions:

← (Left), → (Right), Home, End

Navigate left/right

Esc

Abort the edit and quit the editor

Ctrl + k

Clear the command line

Ctrl + w, Alt + Backspace

Delete word backwards

Alt + d

Delete word forwards

↵ (Enter)

Boot entry with the edited command line

Note that unless configured otherwise in the UEFI firmware, systemd-boot will use the US keyboard layout, so key labels might not match for keys like +/-.

Files

The files systemd-boot reads generally reside on the UEFI ESP which is usually mounted to /boot/, /efi/ or /boot/efi during OS runtime. systemd-boot reads runtime configuration such as the boot timeout and default entry from /loader/loader.conf on the ESP (in combination with data read from EFI variables). See loader.conf(5). Boot entry description files following the Boot Loader Specification are read from /loader/entries/ on the ESP. Unified kernel boot entries following the Boot Loader Specification are read from /EFI/Linux/ on the ESP.

See Also

bootctl(1), loader.conf(5), Boot Loader Specification, Boot Loader Interface