The Boot Loader Interface

systemd can interface with the boot loader to receive performance data and other information, and pass control information. This is only supported on EFI systems. Data is transferred between the boot loader and systemd in EFI variables. All EFI variables use the vendor UUID 4a67b082-0a4c-41cf-b6c7-440b29bb8c4f.

If LoaderTimeInitUSec and LoaderTimeExecUSec are set, systemd-analyze will include them in its boot-time analysis. If LoaderDevicePartUUID is set, systemd will mount the ESP that was used for the boot to /boot, but only if that directory is empty, and only if no other file systems are mounted there. The systemctl reboot --boot-loader-entry=… and systemctl reboot --boot-loader-menu=… commands rely on the LoaderFeatures , LoaderConfigTimeoutOneShot, LoaderEntries, LoaderEntryOneShot variables.

Boot Loader Entry Identifiers

While boot loader entries may be named relatively freely, it’s highly recommended to follow the following rules when picking identifiers for the entries, so that programs (and users) can derive basic context and meaning from the identifiers as passed in LoaderEntries, LoaderEntryDefault, LoaderEntryOneShot, LoaderEntrySelected, and possibly show nicely localized names for them in UIs.

  1. When boot loader entries are defined through the Boot Loader Specification files, the identifier should be derived directly from the file name, but with the .conf (Type #1 snippets) or .efi (Type #2 images) suffix removed.

  2. Entries automatically discovered by the boot loader (as opposed to being configured in configuration files) should generally have an identifier prefixed with auto-.

  3. Boot menu entries referring to Microsoft Windows installations should either use the identifier windows or use the windows- prefix for the identifier. If a menu entry is automatically discovered, it should be prefixed with auto-, see above (Example: this means an automatically discovered Windows installation might have the identifier auto-windows or auto-windows-10 or so.).

  4. Similarly, boot menu entries referring to Apple macOS installations should use the identifier osx or one that is prefixed with osx-. If such an entry is automatically discovered by the boot loader use auto-osx as identifier, or auto-osx- as prefix for the identifier, see above.

  5. If a boot menu entry encapsulates the EFI shell program, it should use the identifier efi-shell (or when automatically discovered: auto-efi-shell, see above).

  6. If a boot menu entry encapsulates a reboot into EFI firmware setup feature, it should use the identifier reboot-to-firmware-setup (or auto-reboot-to-firmware-setup in case it is automatically discovered).

Boot Loader Specification
Discoverable Partitions Specification
systemd-boot(7)
bootctl(1)
systemd-gpt-auto-generator(8)