Arch manual pages

BOOTCTL(1) bootctl BOOTCTL(1)

bootctl - Control the firmware and boot manager settings

bootctl [OPTIONS...] {COMMAND}

bootctl can check the EFI boot loader status, list available boot loaders and boot loader entries, and install, update, or remove the systemd-boot(7) boot loader on the current system.

The following options are understood:
Path to the EFI System Partition (ESP). If not specified, /efi, /boot, and /boot/efi are checked in turn. It is recommended to mount the ESP to /boot, if possible.
-p, --print-path
This option modifies the behaviour of status. Just print the path to the EFI System Partition (ESP) to standard output and exit.
Do not touch the firmware's boot loader list stored in EFI variables.
Do not pipe output into a pager.
-h, --help
Print a short help text and exit.
Print a short version string and exit.

Shows brief information about the system firmware, the boot loader that was used to boot the system, the boot loaders currently available in the ESP, the boot loaders listed in the firmware's list of boot loaders and the current default boot loader entry. If no command is specified, this is the implied default.
Installs systemd-boot into the EFI system partition. A copy of systemd-boot will be stored as the EFI default/fallback loader at ESP/EFI/BOOT/BOOT*.EFI. The boot loader is then added to the top of the firmware's boot loader list.
Updates all installed versions of systemd-boot(7), if the available version is newer than the version installed in the EFI system partition. This also includes the EFI default/fallback loader at ESP/EFI/BOOT/BOOT*.EFI. The boot loader is then added to end of the firmware's boot loader list if missing.
Removes all installed versions of systemd-boot from the EFI system partition and the firmware's boot loader list.
Shows all available boot loader entries implementing the Boot Loader Specification[1], as well as any other entries discovered or automatically generated by the boot loader.
set-default ID, set-oneshot ID
Sets the default boot loader entry. Takes a single boot loader entry ID string as argument. The set-oneshot command will set the default entry only for the next boot, the set-default will set it persistently for all future boots.

On success, 0 is returned, a non-zero failure code otherwise.

If $SYSTEMD_RELAX_ESP_CHECKS=1 is set the validation checks for the ESP are relaxed, and the path specified with --path= may refer to any kind of file system on any kind of partition.

systemd-boot(7), Boot Loader Specification[1], Boot Loader Interface[2]

Boot Loader Specification
Boot Loader Interface
systemd 240