--- obj: application arch-wiki: https://wiki.archlinux.org/title/Systemd-boot rev: 2024-12-17 --- # Systemd Boot systemd-boot is a simple UEFI boot manager which executes configured EFI images. The default entry is selected by a configured pattern (glob) or an on-screen menu to be navigated via arrow keys. It is included with [systemd](Systemd.md), which is installed on an Arch system by default. It is simple to configure but can only start EFI executables such as the [Linux](../Linux.md) kernel EFISTUB, UEFI shell, GRUB, or the [Windows](../../windows/Windows.md) Boot Manager. ## Install Install: ```shell bootctl install ``` Update: ```shell bootctl update ``` ## Configuration The loader configuration is stored in the file `_esp_/loader/loader.conf`. Example: ``` default arch.conf timeout 4 console-mode max editor no ``` ### Adding loaders _systemd-boot_ will search for boot menu items in `_esp_/loader/entries/*.conf`. Values: - `title` : Name - `version` : Kernel Version - `efi` : EFI Executable - `options` : Kernel Parameter Example: `_esp_/loader/entries/arch.conf` ``` title Arch Linux linux /vmlinuz-linux initrd /intel-ucode.img initrd /initramfs-linux.img options root="LABEL=_arch_os_" rw ``` ## Changing Boot Choosing next boot: ```shell systemctl reboot --boot-loader-entry=arch-custom.conf ``` Firmware Setup: ```shell systemctl reboot --firmware-setup ``` ## Keybindings While the menu is shown, the following keys are active: | Key | Description | | ------------- | ----------------------------------------------------------------------------------- | | `Up` / `Down` | Select menu entry | | `Enter` | Boot the selected entry | | `d` | select the default entry to boot (stored in a non-volatile EFI variable) | | `t` / `T` | adjust the timeout (stored in a non-volatile EFI variable) | | `e` | edit the option line (kernel command line) for this bootup to pass to the EFI image | | `Q` | quit | | `v` | show the systemd-boot and UEFI version | | `P` | print the current configuration to the console |