Why no GRUB with Arch?

Hello world!

Recently there was a GRUB-Arch issue in the news. I wasn’t affected, but still I wonder because I understood that I shouldn’t use GRUB with Arch…? Why is that?

I followed the Arch wiki guide on setting up my OS and I found it quite obvious to use GRUB because that is the Bootloader like Windows Boot Loader.

If not GRUB, what then?

Scroll down a bit for the comparison chart Arch boot process - ArchWiki

6 options for UEFI, most popular alternatives probably rEFInd & systemd-boot. No opinion since I haven’t used anything but GRUB.

2 Likes

grub was originally built for legacy BIOS systems (IIRC) and incorporated a lot of bells and whistles to make the boot process less intolerable. It was a big step up from LILO, although the learning curve was steep.

When UEFI came along, grub was clutch because it worked well across UEFI w/ CSM, UEFI w/o CSM, and legacy BIOS systems—so you had some much-needed consistency between older and newer hardware. However, UEFI systems have a lot of those aforementioned bells and whistles built-in. Now that modern systems are pure UEFI—with CSM usually disabled out of the box—grub is somewhat bloated and overbuilt, and arguably unnecessary.

You can do some neat stuff like executing the Linux kernel directly from UEFI, or you can build an UEFI executable that includes the initramfs and other odds and ends. Or SystemD has a basic grub-like bootloader built-in, with some very simple and grokable configuration files. I liked it when I was playing with Arch a year or two ago, but I’m already drunk on the SystemD kool-aid so YMMV.

4 Likes

Here is a great video by Brodie Robertson to check out. There’s really nothing wrong with using GRUB.

https://www.youtube.com/watch?v=JL13boN-wSw

2 Likes

Using grub is still fine, however i noticed while doing an arch install today that with the archinstall script it defaults to systemd-boot which I’m not overly familiar with but went with that for a change, seems to work just fine.

GRUB itself is fine. The problem was with the arch install scripts that removed the grub config without properly reinstalling grub afterwards. It was just a matter of updating grub and generating a new config and they managed to screw that.

To an experienced linux admin who would be affected by this, it would be an easy recovery, a chroot and grub-install (or grub-mkconfig if you aren’t using the ubuntu or arch scripts) and you’d be up to the races.

That doesn’t mean grub is fine. It is a good bootloader if you have a lot of stuff to boot off of a single drive, which I don’t recommend anyway. But if you use UEFI, dual-boot and you don’t mind pressing f6 or f11 on your keyboard on boot to change the boot drive, then you should not use grub. As bambinone said, grub is pretty overbuilt if you are just going to boot linux alone and you use uefi.

systemd-boot (gummiboot) is fine if you use arch, I used it long ago, back when I had a fx-4100 and I had no complaints. Personally I don’t use arch and neither systemd, so I use refind (for zfs boot support) and if I don’t have a built-in bootloader (like the ugly GPU bootloader on the rpi, my daily), I use u-boot or petitboot (both used predominantly in ARM SBCs).

tl;dr gummiboot for systemd or refind for anything else, or refind if you use arch (or any other linux distro) with root on zfs.

2 Likes

Who uses Systemd, the what is everything else?

1 Like

Arch uses systemd and I believe they recommend using systemd-boot if you are only booting arch anyway.

Anything else can be distros like Artix, Obarun, Gentoo, Alpine and so on. For Artix, which is just Arch with different choices of process supervisors, a.k.a. service managers, refind should work well.

If you have your root (/) on a ZFS file system, you need to use refind and maybe grub. Grub has some quirks though, I found that refind works better.

3 Likes

image

5 Likes

Who needs a boot loader when UEFI includes one. Arch enables the UEFISTUB option by default, so you can boot the kernel directly from UEFI. You can also pass an initrd option using the UEFI boot manager options.

Unfortunately many motherboards do weird things with UEFI boot manager entries, one motherboard I had deleted old entries so only two custom options can be present. So I had to give up the dream and switch to systemd-bootd.

4 Likes

2ddy1a

5 Likes

Ouch…

I will reply but im working on a stage 1 Gentoo build, and my single core Pentium 2 is going to take a while.

4 Likes

Don’t forget to set the FSB jumpers on your slotket!

1 Like

FSB, back in my day we did pin mods, and put shunts on motherboards directly!

1 Like

You haven’t lived until you’ve overclocked a processor by drawing a line on top of it with a graphite pencil.

3 Likes

or painted a pin with nail polish

1 Like

Ah yes. The old Duron days.

2 Likes

So I use uefi-stub for arch and Grub for Debian.