why do you still use GRUB?
why do you still use GRUB?
Hello there, friends! I hope you're all doing well. I wanted to share some basics because I'm eager to learn more. My question is: why do we still use GRUB? I install Linux several times a year, and sometimes I wonder—should I use Grub instead?
Here are my thoughts:
I’m not very familiar with GRUB, but I know it’s used for multibooting before UEFI was common. Now that UEFI is standard, we can multiboot more easily without extra layers. So, is there really a clear advantage to using GRUB over other solutions like systemd-boot or EFISTUB? That said, these alternatives might offer simpler and cleaner systems.
I’m open to your ideas and looking forward to a productive conversation. Greetings!
GRUB is favored mainly for its wide OOTB compatibility and straightforward interface for users. Compared to GRUB, it can boot from any drive, works with most common file systems, follows a non-standard path by default for the EFI Executable, depends on EFI Boot Entries, and functions well alongside other bootloaders. It supports both MBR and GPT, as well as UEFI, and includes a config generator that helps automate setup. In secureboot setups, users retain control over the command line during boot, though it can only boot from the same drive and inherits filesystems from the boot environment. It primarily works with FAT32/VFAT, but extensions exist for additional EFI drivers. By default it uses a fallback path, is portable, yet may clash with other bootloaders like Windows Boot Manager. Officially it supports GPT and UEFI, though configuration is manual. It can detect other bootable EFI binaries automatically, such as kernel UKI’s. During secureboot, modifying the kernel command line is not allowed. GRUB shines for broad compatibility across diverse hardware and configurations, whereas systemd-boot suits newer systems that mainly use Linux and rely on fixed boot profiles or UKI-based setups. If you need a quick side-by-side, refer to the Arch Wiki comparison page. Personally, I prefer systemd-boot, but I also stick with Linux-only setups using combined partitions, dracut, and systemd-ukify with UKI.
Also: - Include option for "enter bios setting" when you can't remember the key - GRUB_SAVE_DEFAULT lets it boot the most recent menu entry, avoiding constant reboot updates. You can also manage entries via /etc/grub.d/ for automatic setup—like when I start my laptop at home with mitigations disabled and enable local NFS sharing. Then I set up an "away" menu that skips mitigation, avoids failed mounts, and uses DHCP instead of fixed IP addresses.
Proven in action, yet other options exist. For myself, I rely on refind.
Also note that systemd-boot functions only when you're using systemd or a separate package that extends it within the systemd framework. Systemd is the standard option for most distros, so it usually works well, though some choose not to adopt it. For instance, Alpine, Devuan, and Gentoo rely on OpenRC by default. In theory, with a proper EFI BIOS one doesn't require a boot loader since EFI handles booting, but the process can be quite complex. Personally, I align with the key takeaways others have shared. I also prefer GRUB partly due to habit.
This claim isn't accurate. Systemd-boot can indeed be developed without systemd and function in alternative settings. For instance, Gentoo provides guidance for non-systemd installations, see https://wiki.gentoo.org/wiki/Systemd/systemd-boot
I've refined my explanation based on my long experience with Gentoo. While it applies generally to unusual scenarios, it's not universal—some distros don't support it (like Alpine). It's not a one-size-fits-all solution, but similar tools have been adapted: udev and logind were forked into eudev and elogind respectively.