Linux

Where Are systemd-boot Loader Entries Stored?

Where systemd-boot keeps loader entries and config on Linux, and how to resolve the ESP mount maze across distros.

Last updated

systemd-boot reads Boot Loader Spec entries from the EFI system partition. Type one entries are plain conf files under a loader entries tree. Type two entries are unified kernel images under the EFI Linux path.

The confusion is all about mounts. One distro mounts the partition at efi, another at boot, a third at boot efi. The files are identical in each case. Resolve the live mount first, then edit entries with confidence. UKI bundles and conf entries can coexist in one menu, which is why listing before editing pays off.

Where systemd-boot stores this, by platform

Linux
/boot/efi/loader/entries

Boot entries tree on the EFI partition with one conf per bootable item. The host path depends on the ESP mount: efi, boot or boot efi. Resolve it with the boot control print command first.

Frequently asked questions

Is my ESP at efi, boot or boot efi?

Run the boot control print command to show the ESP and extended loader paths for your machine. Distros mount the same partition at efi, boot or boot efi depending on convention. List entries only after resolving which mount is live.

How do I change the default systemd-boot entry?

Set the default glob in loader.conf or use the boot control set-default command with the entry ID. Listing entries first confirms the exact filename. Keep a fallback entry so one bad kernel never strands the machine.

Notice an outdated path? Let us know.