I have two hard disks, one HDD (/dev/nvme0n1
) and one SSD (/dev/sda
).
The first one contains mainly Fedora, and the second one mainly OpenSUSE Tumbleweed. The details are below:
And for good measure, here’s the Boot section of my Bios:
My goal is: one Grub, for everything (Tumbleweed, Fedora, Advanced options for both, Bios, and Tumbleweed snapshots). But here’s what I have instead…
When I do Ctrl+F12 at boot, here are the choices I have:
Let’s go through in order:
- If I select
opensuse
(the first or the gourth one), I get greeted by a nice Grub:
- If I select
Fedora
(the second entry), I get to this Grub:
- Fedora’s Grub (I apologize for the quality, you all know how hard it is to take a photo of this kind of screen…)
I tried my best to even just change the background from Fedora’s Gub config files, but nothing worked, not even changing the timeout… Which makes me think I might not be seeing the right Grub?
In that one, any of the first 3 Fedora entries will boot properly to Fedora, but the 4th one will launch Bios. And the opensuse entry…
…redirects me to a glitched version of the one from above:
It looks just like the Fedora Grub on top of the Tumbleweed Grub, doesn’t it? Here, none of the entries works (aside from the UEFI ones), they all give me errors in a black window in the middle of my display for a few seconds, and then redirect me to the glitched Grub. After a while, the graphical interface even completly disappears, leaving with a black screen where I can show the options one at a time, using the arrow keys:
Finally, if I choose the 3rd entry from the Boot Manager (Linux Boot Manager
) (which I suppose comes from a failed attempts to install systemd-boot
), I only get a black screen with one option: “Reboot into firmware’s interface”, that leads me into the Bios.
In fact I’m facing so many different Grubs that here’s a photo of one I don’t even remember how I got to:
So, last few words:
- I know, I have 2 EFI partitions (one on each disk), and that’s completely stupid. I didn’t know what I was doing when I created the second one (the one on
sda
), I was confused about how “Grub with EFI” worked… Anyway, that may be part of the problem.
Other problems are:
-
in Tumbleweed, I can make changes to grub2 by editing
/boot/grub2/grub.cfg
, and they are effective; however, if I try to run the command:sudo grub2-mkconfig -o /boot/grub2/grub.cfg
I get the error:insmod: ERROR: could not load module part_msdos: No such file or directory
So my Grub here kind of works, but kind of doesn’t work either…
I tried adding Fedora by copying the contents of /boot/efi/EFI/fedora/grub.cfg
into etc/grub.d/40_custom
, or even directly into /boot/grub2/grub.cfg
, but though I managed to make a Fedora entry appear in the Grub menu, I never managed to boot from it.
From the other side, I can update Grub in Fedora (by which I mean I see no error, and it says it detects UEFI and Tumbleweed), but no change I make in /.../grub2/themes/Fedora/theme.txt
, or in /etc/default/grub
, seems to be effective (as I said, I can’t even change the default timeout…).
I posted the contents of my config files in this Gitlab snippet.
So any ideas as to how to build one Grub to rule them all, are welcome! And if you read this thanks for taking the time to read my post to the end!