---
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 [--esp-path=PATH]
```

**Update**:
```shell
bootctl update
```

**Update seed file:**
```shell
bootctl random-seed
```

**See status:**
```shell
bootctl status

# List entries
bootctl list
```

## 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                                      |
