You are not logged in.
Hello everyone, I got arch linux installed and got as far as installing systemd-boot. I did bootctl install and it finished successfully. However when I rebooted systemd-boot only gives the option to reboot into system firmware. I am using the linux-cachyos kernel.
What info do I need to send over?
I appreciate any assistance.
Offline
Unless you are booting Unified kernel images, you need to configure a loader entry for your system installation in `esp/loader/entries/`. An example entry file is provided at `/usr/share/systemd/bootctl/arch.conf`.
systemd-boot only automatically detects UKIs, Windows Boot Manager, Apple Boot Manager, and the EFI shell. See the ArchWiki for more info (specifically the Adding loaders section! ![]()
Offline
Oh thank you. Actually my original plan was to boot a UKI directly from UEFI because I dont need a bootloader but my entries were getting deleted on reboot. I heard that MSI UEFI implementation is buggy so I checked troubleshooting steps and did -e 3 as an addition efibootmgr flag. It worked but when I pressed enter it just didnt even try to boot and instantly went back to boot menu. I just want to know if I should give up on this idea and do systemd-boot.
Also is it better or faster in boot times to generate a UKI and let systemd-boot automatically detect it?
Offline
The difference in boot time should be negligible if any. The main advantage of using UKIs is the possibility of using Secure Boot which makes full-disk encryption backed by a TPM 2.0 more secure, if you're doing these kinda thing.
If you don't plan on dual-booting, then directly booting into a UKI is definitely an option. Having dealt with a bunch of crappy UEFI implementations in the past (as in crappy enough that any writes with efibootmgr would hard hang the device and brick the bootloader records, requiring a full cmos reset), the most effective trick that never failed me is to not even bother with efibootmgr and drop the efi binary in the fallback path: `esp/EFI/BOOT/BOOTX64.EFI`. This can be automated with a custom `kernel-install` script in `/etc/kernel/install.d`; see kernel-install(8).
Since the fallback path is always going to be looked at by the UEFI firmware, this is very effective at avoiding to run into bootloader registration hell while still booting the desired EFI binary.
Offline
EDIT: Ignore below. I fixed it and i realised the double slash is normal
Okay I did what you said with the .conf files for systemd-boot I made loader.conf and arch.conf. However when I do bootctl it tells me the entry is broken because it gives me the path with double slashes. Like for example /boot//vmlinuz-linux. I made sure to check and only include one slash in arch.conf. I used the .conf examples exactly like on the wiki only replacing the root UUID
Last edited by Vulmar (2026-07-14 10:06:28)
Offline
Wait is dropping the EFI binary in the fallback path as simple as just copying it?
Offline