Missing fedora-cinnamon entries in grub after installing fedora-gnome (both v34)


In addition to windows 10, i installed fedora 34 cinnamon, with drive encryption.
On boot up, grub showed both the above options.

Then i installed fedora 34 gnome with drive encryption, as the third OS on my pc.
After this, when i boot up, grub shows only fedora 34 gnome and windows 10. It does not show the cinnamon spin.

I would like to run all the three OSes on my pc. Kindly guide on resolving this.


With my limited knowledge and googling, i tried regenerating grub using this command:

grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg

But it didnt make a difference.

I have a UEFI system by the way.
In the past when i installed two variations of ubuntu (mint and kubuntu), the grub on boot showed entries for both the OSes plus windows, didn’t face this problem.

here is the output:

[userr@fedora ~]$ ls -l /etc/*-release; \
rpm -q -a fedora-release\* | sort
lrwxrwxrwx. 1 root root 25 Apr 13 00:08 /etc/fedora-release -> ../usr/lib/fedora-release
lrwxrwxrwx. 1 root root 21 Apr 13 00:08 /etc/os-release -> ../usr/lib/os-release
lrwxrwxrwx. 1 root root 14 Apr 13 00:08 /etc/redhat-release -> fedora-release
lrwxrwxrwx. 1 root root 14 Apr 13 00:08 /etc/system-release -> fedora-release
[userr@fedora ~]$ 

Regarding the thread you have linked to, I am not getting any such error…the grub on boot up is showing the entries to my newest fedora34 gnome + win 10 properly, no issues. My problem is that it is not showing entries to the fed34 cinnamon which exists in the hard disk.

thanks for trying to help

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.

The file /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
set prefix=($dev)/root/boot/grub2

export $prefix
configfile $prefix/grub.cfg

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 GRUB_ENABLE_BLSCFG=false in /etc/default/grub. Should you decide to use Refind you can also disable GRUB from trying to detect other OS: GRUB_DISABLE_OS_PROBER="true".


Optionally, you could forgo grub altogether. I’ve used rEFId and rEFIt in the past with great results, but with my current setup I’m dual booting with two physical drives and my BIOS/EFI is handling boot menu duties.