Thanks a lot for making this post, it answered a lot of the questions I had. Iāve read a few of your posts in the past and theyāve been very helpful (touchpad gestures specifically), so thank you very much for that too.
To make the following more clear, this is my disk layout:
Total 240G
hd0,gpt1 100M EFI System
hd0,gpt2 16M Windows reserved
hd0,gpt3 120G Microsoft basic data
hd0,gpt5 66.71G Manjaro root
hd0,gpt6 1G Fedora boot
hd0,gpt7 30.25G Fedora root
hd0,gpt4 508M Microsoft recovery
Also, Iām using UUIDs to specify partitions. This is how Iām refering to them:
FEDORA_BOOT - the ext4 boot partition created by Fedora.
FEDORA_ROOTFS - brtfs partiton root partition created by Fedora.
The main thing that makes this situation difficult is that Fedora canāt boot Manjaro without using Manjaroās grub and Manjaro doesnāt create an entry for Fedora, even though os-prober detects it. This topic has a similar situation, but os-prober in Manjaro does not detect Fedora, so os-prober doesnāt seem reliable. Iām trying to solve Manjaro ā Fedora but Iāll come back to Fedora ā Manjaro later.
Before you posted, I tried botching together a boot stanza that directly loads the Fedora kernel, but it fails.
# DOESN'T WORK
menuentry "Fedora Workstation Live 36 Beta" {
search --set=root --fs-uuid FEDORA_BOOT
linux /vmlinuz-5.17.0-0.rc7.116.fc36.x86_64 root=UUID=FEDORA_BOOT rw
initrd /initramfs-5.17.0-0.rc7.116.fc36.x86_64.img
}
Grub doesnāt mount or form any association from the fstab so FEDORA_ROOTFS canāt be used to access /boot. Using FEDORA_BOOT, the kernel loads but crashes with initrd-switch-root.service failed.
After you posted, I tried what you suggested and changed my 40_custom to load the Fedora grub.cfg.
menuentry "Fedora Workstation Live 36 Beta" {
insmod part_gpt
insmod btrfs
insmod ext2
rmmod tpm
search --set=root --fs-uuid FEDORA_BOOT
configfile /grub2/grub.cfg
}
It loads the menu entries from the Fedora config but for some reason thereās no entry for Fedora, only for Manjaro and Windows. When I select Manjaro it just freezes on a black screen.
Iām confused about how grub works when the boot partition for other OSes is separate because everything Iāve read seems to suggest that itās a good idea for it to be so, but the documentation for grub2 multibooting, which even itself says to create a seperate partition for grub, seems to assume that the boot folders for other OSes are on their respective main partitions.
I reinstalled Fedora with the bootloader option enabled and after a reboot my device went to Fedora grub. This time, however, it displayed an entry for Fedora (as well as Manjaro and Windows). Booting Fedora works fine but Manjaro still freezes on a black screen. I changed the boot order in my UEFI settings to Manjaro first. After changing the UUIDs to match the new partitions, my custom entry (still using your configfile method) has exactly the same behaviour as before (Fedoraās grub style but no entry for Fedora). I can only assume that Fedoraās grub creates this entry depending on which bootloader is reading it but I canāt find any documentation about it (nor can I even begin to understand most of the config file).
For this situation specifically, the best solution Iāve found is to chainload Fedoraās grub from Manjaroās grub. This should also work Fedora to Manjaro. Iāve written all this in the hope it will help the next person who has a similar issue; the actual solution is in the next reply.