I was running Fedora Silverblue but had to install Fedora Workstation alongside.
I now have lost the ability to boot my Fedora Silverblue install.
Here is how my partitions look like :
Device Size Type
/dev/nvme0n1p1 260M EFI System <-- /boot/efi
/dev/nvme0n1p2 16M Microsoft reserved
/dev/nvme0n1p3 88G Microsoft basic data
/dev/nvme0n1p4 1G Windows recovery environm
/dev/nvme0n1p5 18.2G Windows recovery environm
/dev/nvme0n1p6 1G unknown
/dev/nvme0n1p7 1G Linux filesystem <-- /boot for Fedora Silverblue
/dev/nvme0n1p8 450G Linux filesystem <-- Fedora Silverblue
/dev/nvme0n1p9 1G Linux filesystem <-- /boot for Fedora Workstation
/dev/nvme0n1p10 50G Linux filesystem <-- Fedora Workstation
and looking at what I have in
$ sudo ls /boot/efi/EFI/
Boot fedora Microsoft
So I ran
grub2-mkconfig hoping my Fedora Silverblue install would be detected but no luck, it only detect Windows…
$ sudo grub2-mkconfig -o /boot/grub2/grub.cfg
Generating grub configuration file ...
Found Windows Boot Manager on /dev/nvme0n1p1@/EFI/Microsoft/Boot/bootmgfw.efi
Adding boot menu entry for UEFI Firmware Settings ...
Googling & trying to understand old bugzilla reports like https://bugzilla.redhat.com/show_bug.cgi?id=1488204 and 1598523 – Make BootLoaderSpec-style configuration files the default suggest it might not be so simple.
I have to admit I am very unfamailiar with everything related to (U)EFI.
What would be the best way to get back a entry in grub to boot my Fedora Silverblue install on
Many thanks for your help
This is likely an issue with how grub is installed and configured. Since fedora workstation was installed last, and both silverblue and workstation use the same /boot/efi/EFI/fedora directory, the configs for silverblue were probably overwritten by the config for workstation.
I have never tried using 2 different versions of fedora on the same hardware, but have seen discussions about similar issues by users booting various different flavors of debian/ubuntu and their derivatives on the linuxquestions forum. I use VMs for running different versions, and currently have fedora 35, 36, & rawhide in VMs on my fedora 34 workstation.
It is not supported in grub in 2different version of fedora it won’t register. It is a kind of bug you can post a bugreport in redhat bugzilla.
Hi, please open terminal:
# Run as root
# Go to EFI directory.
# In this directory you should have folder `fedora`. Copy it as `silverblue`
# then go under `silverblue` folder.
cp -r fedora silverblue
# Open and edit `grub.cfg` under `silverblue` directory.
# Replace UUID you find inside the `grub.cfg` with the UUID of your `nvme0n1p7`.
# From your `lsblk` look like `nvme0n1p7` is where your partition for `/boot` for
# your `silverblue`.
# Bellow are content example of your `grub.cfg` under `silverblue` directory.
search --no-floppy --fs-uuid --set=dev <UUID-OF-nvme0n1p7-where-/boot-located>
# Then run `efibootmgr` to add the `silverblue` folder to efi system.
# Please be aware of `\\` as escapes char.
efibootmgr -c -d /dev/nvme0n1p1 -L silverblue -l \\EFI\\silverblue\\shimx64.efi
The only way to switch between two Fedora linux are from BIOS boot list (OS Prober most likely not work and if it can detect the second Fedora, it will give error on booting due to limitation with secure boot things).
Or if you familiar with
efibootmgr you could use
sudo efibootmgr -n <bootnum> or change the boot order with
sudo efibootmgr -o <list of boot order> and it will switch to other OS on next boot.
-d parameter of efibootmgr above to EFI partition.
Thank you so much ! it worked perfectly
Funny, I was just reading about Grub2, EFI (long overdue…) & starting to understand that something like that might work