EndeavourOS/ArcoLinux Dual boot issue

That’s good card i have an RX 590 to use with the Ryzen 7 3800X

1 Like

Same thing still happens, I have EndeavourOS at the top of the list & below that is ArcoLinux. When I select Arco it goes to a black screen.

I’m not sure if it’s an issue with the microcode or something else? Both would be using the AMD graphics when loading. :thinking:

1 Like

IF I go to the bios and swap the boot order i can boot into Arco no issues. :thinking:

That’s why it is something in the grub loading and then when you switch to Arco it loads and some conflict causes the black screen i think? That’s why i’m thinking the microcode but it could also be something else.

1 Like

Have a look at these tools here. I haven’t tried them but it maybe of some help.


I guess @ricklinux is on the right track. The problem sounds like an invalid /boot/grub/grub.cfg. It may have invalid initrd lines.
So you can fix the lines manually, or fix the grub generator.

1 Like

I think you might find it will be fixed by installing grub-tools as mentioned by @ricklinux
The run grub-fix-initrd-generation (might have to be sudo don’t remember)
Then sudo grub-mkconfig -o /boot/grub/grub.cfg
and it should work.
I certainly had to do that when I installed EndeavourOS in parallel with Antergos

1 Like

Sounds to me like a possible problem with the amd-ucode on one or both systems. I saw a fix here on EndeavourOS website somewhere, but I have not personally tried it. What happens is that grub’s os-prober finds things, but creates an entry that tries to intrd the amd-ucode file instead of initramfs…

This is basically why I switched over to using rEFInd instead of grub, because I have 3 arch-based distros Arch, Arcolinux, EndeavourOS) of the 5 on here :grinning: Saves a fair bit of fiddling! And a fair bit of ‘illegal/foolish’ quick fixes like adding on initramfs to the initrd line in the grub file you shouldn’t edit…


To find out if grub is the problem, could you run the following command:

  cat /boot/grub/grub.cfg | curl -F 'f:1=<-' ix.io

and show the returrned URL here?

You may try a custom grub entry for ArcoLinux like that:

menuentry "ArcoLinux" --class arch {
        insmod part_gpt
        insmod chain
        set root='(hd0,gpt2)'
        chainloader /EFI/ArcLinux/grubx64.efi

Main advantage: this is update proof. Disadvantage: you have to go through a second grub.

That’s a great idea. And that should be written into file /boot/grub/custom.cfg, then it will automatically be included.

isn’t this an very old issue with archbased systems and grub?

i do have this till ever… i can boot only the last installed archbased install all other entries will be regenerated but not working…

Yes, the real reason is two packages: grub and os-prober. Their co-operation is erroneous with the ‘initrd’ line generated into grub.cfg. As the packages are separately developed, they do not fix this problem together like they should.

The issue is with all distros that use those packages, but it affects (AFAIK) only Arch based distros, as the microcode is added in a different way to other distros.

The fix has been presented years ago several times publicly, but nothing has happened to it. :frowning:


Actually, that package includes a real fix for grub and os-prober.

I wonder how many more years it takes for those devs to see the problem and the fix.

But you have the super powers to fix it… not pushing you or something… :upside_down_face: :smiling_imp:

1 Like

As soon as you put this into, say, /etc/grub.d/40_custom, and do a sudo grub-mkconfig -o /boot/grub/grub.cfg you are safe.

There are two issues with that approach:

  • if grub (or os-prober) package is updated, file 40_custom may be overwritten
  • you have to re-generate grub.cfg

Putting your menu entry into /boot/grub/custom.cfg will solve both issues.

But we might have even a better solution under consideration. Let’s see if we can create that solution, we’ll keep you all updated! :smile:

1 Like

I hope there can be a solution because i had this back when i was using Antergos and the only way i could get it to work was either not install grub on one distro and let the other handle it. With manjaro it seemed to work if i installed it last.