knowledge/technology/linux/systemd/systemd-boot.md
2024-12-17 10:56:02 +01:00

76 lines
2.5 KiB
Markdown

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