You cannot start an Arch-based distribution from Ubuntu grub

I know this is a known and old issue and there are several topics related to this in the Manjaro forum for example. Nevertheless, I wonder who knows what can cause this error.

From what I remember, it’s down to the way that microcode is loaded by GRUB - Arch does it one way, Ubuntu etc. do it another way, but they are not compatible.

2 Likes

It’s not an issue it’s a feature :hugs:

7 Likes

Lots of grubs don’t recognize how to boot an Arch-type distro. Quick explanation is that Arch use 2 initrd loads (ucode and initramfs), and no-one else seems to. This results in grub trying to load the microcode instead of the initramfs…

EOS has tools to bypass this weakness in grub/os-prober…

2 Likes

Weakness? There ain’t no stinkin’ weakness in EOS!

Pudge

5 Likes

It’s not EOS with the weakness! We have the cure… and our grubs work for a living…

5 Likes

Arch grub seems to be more flexible in this respect. For this reason, it is better to use Arch grub for Ubuntu and Arch dual boot. The same is true for Debian and Arch.

I think grub 2.04 works fine to boot Arch style distros, but many other distros still use grub 2.03 or even 2.02 especially of the Debian family. But MX-Linux (19.2 at least) can boot Manjaro and EOS.

I think Debian (and Ubuntu) loads the microcode after the kernel is already running rather than as part of booting.

1 Like

This is a problem with packages grub and os-prober. It is explained in our wiki (but now the wiki is not yet working).

EndeavourOS has a pacman hook that fixes those packages every time you upgrade them.
Note that the problem exists also in the Arch packages because Arch devs have not made a fix to those upstream packages.

As mentioned in other comments here, the problem is in the generation of the initrd line.

Ubuntu (and many other distros) generate only one parameter (which in Arch distros is the microcode) there by e.g. update-grub. Arch based distros require two parameters, microcode and initramfs.

So it is a very simple generation mistake, and is causing a lot of issues for Arch users. This has been reported many years ago to the upstream, but they have so far done nothing about it.

3 Likes

Then, according to them, we have to live with this for a long time.

Well… If EndeavourOS is in charge of booting with grub, then we’re already covered! :smile:

EDIT: and by upstream I meant grub/os-prober devs, not Arch devs.

1 Like

Then I think this could be the cause of the problem.

Yes, the EOS starts all systems well with grub, I have three different ones, each starting normally.

The os-prober is really a useful tool.
Note in parentheses. Manjaro also starts each operating system well with grub, which is also my own experience.

another well-known (but by me) issue that I tripped over enough times until I learned to boot from an Arch-based distro. (I guess this reveals Linux users that multi-boot)

Seemed to me, when as a beginning Linux user, that the preponderance of search links that led back to Ubuntu/Debian gave rise to wanting to try their flavors.