How to multiboot Fedora using existing GRUB2 bootloader?

Chainloading Fedora from Manjaro:

  1. With Manjaro already installed, install Fedora with all options left default (don’t disable the bootloader install).
  2. Reboot and make sure Fedora is bootable from Fedora grub.
  3. Reboot into UEFI settings and put Manjaro at the top of the boot order.
  4. Reboot into Manjaro and edit /etc/grub.d/40_custom, appending this stanza:
menuentry "Fedora Workstation Live 36 Beta" {
    insmod part_gpt

    set root='hd0,gpt1'
    chainloader /EFI/fedora/grubx64.efi
}
  1. Save the file and run sudo update-grub.
  2. Reboot and select Fedora from the Manjaro grub menu. It should load the Fedora grub menu, from which you can select Fedora.
  3. To remove the os-prober entries in the Fedora menu, as suggested by @lorebett, add the line GRUB_DISABLE_OS_PROBER=true to /etc/default/grub and run sudo grub2-mkconfig -o /boot/grub2/grub.cfg to update the Fedora grub configuration.
  4. Reboot and select Fedora. It should now skip the menu, which is fine because after selecting Fedora there is no need to choose anything else.

A few notes:

  • I didn’t use UUID to identify the partition because EFI is almost always the first partition and isn’t going to change.
  • I removed the rmmod tpm line because it created a ‘no such module’ error. Add it if you get the errors in @lorebett’s post.
  • Chainloading like this hopefully shouldn’t be necessary for other distro combinations. Manjaro and Fedora don’t go well together apparently.
1 Like