Skip to content

By: Manuel
Date: 2020-Jan-03
Updated: 2020-Mar-21

Fixing a grub & os-prober issue

This article deals with the situation where there are other Arch based operating systems already installed onto a machine, and EndeavourOS is then installed to that machine.

There is a long-standing and annoying issue with co-operation between packages grub and os-prober. The generated /boot/grub/grub.cfg file fails to boot some Arch based operating systems!

The reason for the issue is how grub-mkconfig command generates the initrd lines into /boot/grub/grub.cfg. On Arch based systems there may be more parameters for the initrd line than simply the initramfs image: especially the microcode image. And that is not generated properly along with the initramfs image.

For example, when using a microcode image, this kind of initrd line should be generated by grub-mkconfig:

initrd /boot/intel-ucode.img /boot/initramfs-linux.img

but instead, this is generated:

initrd /boot/intel-ucode.img

And that particular boot menu entry fails to boot!

The fix is using the EndeavousOS package grub-tools. It will fix the co-operation error in the implementation of gruband os-prober.

To fix the grub-mkconfig command on your existing installation, the following commands must be executed:

sudo pacman -Syu
sudo pacman -S grub-tools
sudo pacman -S grub os-prober
sudo grub-mkconfig -o /boot/grub/grub.cfg

After reboot the menu entries should work as expected.

Additional notes

The first official EndeavourOS ISO of the year 2020 includes this fix. So all installs created with this ISO (or newer) will have this issue fixed by default.

Connect with us:

Grub: How to fix booting of other Arch-based systems?

  • by
%d bloggers like this: