5 ms·
FWIW: systemd-boot is just a generic EFI bootloader, originally it was called gummiboot before being merged into the systemd project. Like many things in system
by jchw 7y ago
FWIW: systemd-boot is just a generic EFI bootloader, originally it was called gummiboot before being merged into the systemd project. Like many things in systemd, it has no direct relation to the init daemon. It does not have an enormous featureset like GRUB, but it is fast and gets out of the way. It has been my preferred bootloader since before it was part of systemd.
As for why one would prefer this over just using EFI itself to manage boot entries, well, that comes down to sensibility, but traditionally Ubuntu has provided a UI at boot for selecting OSes so it would be weird to get rid of it now. I also currently use NixOS where you can select generations via the boot menu, which would be cumbersome at best if you try to implement it with EFI directly.
- 1MachineElf 7y agoYears ago, NixOS was my first gummiboot experience. I noticed systemd-boot was being used now, but I did not realize it was the same thing under the hood. Thanks for that information.
- the_pwner224 7y ago> As for why one would prefer this over just using EFI itself to manage boot entries If you dual boot then you can't effectively use the EFI. Doing so would involve spamming a Fx key to go into the bios and then going through all the menu options to choose a manual boot override. Instead I have the EFI configured to use systemd-boot as the default, and systemd-boot presents a menu with the OS options, with Linux as the default choice. This still involves spamming the down arrow to select Windows before the auto-boot-default-choice timeout (configurable) finished, but is a lot easier than using the EFI. The nice thing about systemd-boot is that is is simple, lightweight, fast, and easy to configure. The first time I installed it in Arch it took about 5 minutes to get it working with entries for linux, linux-lts, and linux-zen kernels, with Windows being autodetected at boot time. However, if you are booted into an OS, then using the EFI to configure boot is much easier. On Linux you can do `sudo efibootmgr --bootnext 0001` to boot EFI entry 0001 only on the next boot (list entries with just `efibootmgr`; in my case 0001 was Windows). And on Windows there's a "WinToLinux" program on GitHub which will graphically let you set a oneshot EFI boot override to reboot into Windows instead of systemd-boot.
- Hello71 7y agomost modern firmwares ("go into the bios", ugh) provide a key to directly enter the boot option selection screen. this is one of the core functions of the firmware, and although I have pretty low expectations of AMI/Insyde/Phoenix, I'm pretty sure they can at least get that part right.
- akvadrako 7y agoYes but at least on my new high end Lenovo, it’s not ergonomic. You don’t see a menu or a prompt, you just need to hit the magic key during a short window. Then you need a password, because I don’t want to allow booting usb thumbdrives.
- oneplane 7y agoI don't think many people care what boot loader they have or what firmware they run. If you want something that always works, grub is a good standard to stick to. For everyone else there is the many options like this gummiboot integration, bare EFI, LILO, NTLDR, SYSLINUX and all the others. Ironically, most linux installs are not using any of those because most installs aren't desktop installs; clouds usually don't have an emulated EFI stack at all, and embedded uses things like u-boot.
- nickik 7y agoWhile it has nothing directly do do with init, there is a lot of cooperation that goes on between systemd and systemd-boot, that does not work with other grub for example. You can from systemd control the reboot and tell it what to reboot and stuff like that. Lennards talks about this are quite informative. The other advantage it has, is that it uses a simple single file per OS based standard. I would love if GRUB adopted this model too.