Grub or Systemd-boot?

OK–I’m a long-time grub user, so am very comfortable with how Grub works & how to edit–etc. Maybe I’m late to the party, but I know almost nothing about Systemd-boot–pros & cons–prep to use–etc. I’ve looked at the Arch wiki & am starting to grasp the basics, I’m looking for real-world use & thoughts…

It’s simple, although I don’t think I’ve ever used it. This should be a pretty solid place to start, and I’m sure he can answer way more questions than basically everyone else here about it.

systemd-boot is my preferred solution but it isn’t for everyone. Here is my pros/cons list if that helps:

Cons

  • systemd-boot requires the kernels/initrds to be in the EFI partition, grub doesn’t
    • It also means that the efi partition has to be larger. If you have 100MB efi partition that probably isn’t going to work
  • It is UEFI only, there is no support for legacy boot
  • Grub has a fleet of options for customizations of the menu

Neutral

  • systemd-boot can boot windows without issue.
  • It can also multi-boot linux distros as long as they all support systemd-boot

Pros

  • Almost everything “just works” without any configuration, encryption/btrfs/zfs/etc
  • Nothing has to be rebuilt. If you need to change something you edit the entry file. In most cases that isn’t even needed.
  • Because the config is simple, it is also easy to read
  • When use systemd-boot to boot multiple Linux distros, each distro is responsible for managing it’s own entries so you don’t have to worry about one distro stepping on another

Hope that helps!

7 Likes

I don’t know if it’s my issue (configuration) or not, but my experience is that many?most? distros don’t actually update the entries if I setup systemd-boot…thus making me manually maintain when necessary. Otherwise, I would prefer systemd over grub as cleaner and easier…but for that one issue.

Yes, it depends on the distro. It also depends if the distro has changing kernel names. If the kernel always has the same name than once you set the entry up it never needs to change.

Off the top of my head:

  • Fedora handles it automatically using kernel-install
  • Nixos handles it using nix, of course
  • Manjaro uses systemd-boot-manager
  • On Arch, I have created eos-systemd-boot which is really just automation around kernel-install and should work with any Arch-based distro. Alternatively, if you don’t switch kernels much you can use static entries since the kernel names don’t change.

Also, systemd-boot doesn’t have functionality like grub-btrfs (if that’s important).

4 Likes

I use systemd-boot but I never have a dual boot system. It’s easy to install ( bootctl install ) but then you have to edit /boot/loader/loader.conf and create /boot/loader/entries/arch.conf. This is all explained very clearly on the Arch Linux Installation web pages. I have never had a problem with systemd-boot. There is nothing wrong with GRUB (as far as I know) and nothing wrong with systemd-boot. It’s a matter of choice. Perhaps I ought to add that I always install Arch Linux from the terminal as per the Arch Linux Installation instructions so I’m familiar with using the terminal to finish off a systemd-boot installation. Most of the installer helpers like calamares seem to take you straight to GRUB, though one or two offer a choice.

I am contractually (!) obligated (not really) to point out that alternatives exist to BOTH of them :grin: rEFInd is extremely easy to set up as well, and can even boot up a pre-existing grub entry if desired. Certainly I think it is the best for multi-booting. The wiki here has some more info if interested…

4 Likes

Hmmmm… So I multi-boot (several other distros & Windoze), so it looks like I’ll keep Grub for the time being (old dogs–new tricks???). I do want to wrap my head around Systemd-boot, so I think that I’ll do a bunch more R & R before changing “what works” right now. THANK YOU to everyone that responded–gives me more thought. Next, I need to look more into BTRFS—more food for thought…

Another vote for rEFInd here.

I like rEFInd! Everyone say’s systemd is easy. Hmmmm … I don’t know about that & I don’t find Arch wiki that easy. I’ll stick to rEFInd because i don’t have to try to figure it out. It figures it out for you. Well…i did have some help. :wink:

My perspective is that it is simpler than grub but not easier than grub. Simple as the opposite of complex, not as the opposite of difficult.

Being simple means it has less moving parts to fail. We deal with people all the time on the forum where something has gone wrong with grub. That really doesn’t happen with systemd-boot. It just works once it is setup.

On the other hand, being simple means it has less features than grub.

In the end, it is all a matter of personal preference.

Blame Microsoft! :rofl:

1 Like

I’m not disagreeing that it’s simpler than grub. That’s why i use rEFInd. What i disagree with is when people say the Arch wiki is easy and translate that into it’s easy to set up systemd. The Arch wiki as far as I’m concerned is written in a way that makes it difficult for the average person to understand. It’s convoluted. Yes it has lots of technical jargon and information. But it lacks instructions written in a way that you can follow and understand. It throws everything at you and you have to decipher it. It’s easy for people who have the skills and the background knowledge. Not for the rest.

2 Likes

IFF (if and only if), all distros would get on board with it, I’d say systemd-boot SHOULD be the way of the future. Whether it will turn out to be, I don’t know :wink:

Since there doesn’t seem to much of anything all distros agree with and some distros don’t even support systemd this seems like something that will never happen. :rofl:

To me, the great thing about Linux is we don’t have/need a single “way of the future”. We have the choice to find a path that best meets our individual needs.

There’s value in diversity, but there’s certainly some value in standardization and at least SUPPORTING other options, even if not their default mode.
But I agree, the world is too fractured to agree on anything.

Fracturing is probably the main reason for reading sci-fi! At least in some of those alternate realities, the world has ‘gotten together’ a bit more quite often. Imagine where we would be if THAT happened!

1 Like

Not in its current form. Far too limited compared with grub.

I disagree, the unix way is the simple way, not the functional way. Simple is text files. The grub functionality needs to be implemented in a different way that’s portable and not so prone to ‘Oh no, my grub is broken’ (I’m sure you’ve never heard that) and can best be repaired by booting off alternate media and reinstalling (ick…no) grub’s boot.