I recall having troubles trying to install 2 Fedora spins too.
My guess is the issue has two causes:
With Fedora 34 the command to update GRUB has changed:
grub2-mkconfig -o /boot/grub2/grub.cfg.
/boot/efi/EFI/fedora/grub.cfg should only point to the new location (UUID and path to $prefix differ depending on partition/btrfs-subvolume layout):
> sudo cat /boot/efi/EFI/fedora/grub.cfg
search --no-floppy --fs-uuid --set=dev c55bb46f-a402-4e4f-bef9-4e67cdbc0563
As far as I know all Fedora spins use the same location on the EFI partition:
/boot/efi/EFI/fedora. You can check with
efibootmgr -v. It will most likely show only one “Fedora” entry.
So every time a Fedora spin is installed it writes to the same EFI path as the other ones. And running
grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg overwrites what another spin has written.
I don’t run multiple Fedora spins anymore. But I have an EFI system (Thinkpad T14) and install multiple Linux distributions (Fedora, Endeavour, OpenSUSE, etc.). What helps me a lot is using Refind as a boot manager. Install Refind and allow it to be the default in the EFI boot order. It detects the other Linux’s EFI entries and kernels and lets you pick which one to boot.
Just in case you also might run into it:
Lately I also had troubles with
grub2-mkconfig not working correctly (not creating all
menuentry lines in
grub.cfg). I found the fix for that is to set
/etc/default/grub. Should you decide to use Refind you can also disable GRUB from trying to detect other OS: