Fedora Silverblue 39 unbootable after power outage while suspended

Firstly, a huge thanks to the amazing Fedora devs and community, you’re awesome!

Goals of this post:

  1. Identify if this is known/expected behaviour in Fedora Silverblue

  2. Learn how to recover the system from its current state

1. Identify if this is known/expected behaviour in Fedora Silverblue

I suspended the system, the power went out, now the system just displays this when it is powered on:

Reboot and Select a proper Boot device
or Insert Boot Media in selected Boot device and press a key

Is this expected?

Other information that may be relevant:

  • Partitioning on this system was done with the defaults in the Fedora Silverblue installer (not sure which version, but likely 37 or 38).

  • The first thing I do when booting this system is run these commands to enable using Nix:

    sudo rpm-ostree usroverlay
    sudo mkdir /nix
    sudo mount --bind ~/.nix /nix
    

    The overlay was active when the system was suspended.

  • The system has auto-updates enabled, and had not been rebooted in several days, so it’s likely that there was an update queued for the next reboot.

2. Learn how to recover the system from its current state

So far, I’ve tried this from a live USB:

sudo -s
cryptsetup luksOpen /dev/sda3 encrypted-partition
mount -o subvol=root /dev/mapper/encrypted-partition /mnt
cd /mnt/ostree/deploy/fedora/deploy/xxxx.0 # There are multiple deployments. I just picked the first one
mount /dev/sda2 boot
mount /dev/sda1 boot/efi
mount --bind /dev dev
mount --bind /dev/pts dev/pts
mount --bind /proc proc
mount --bind /sys sys
mount -o subvol=var /dev/mapper/encrypted-partition var
mount -o subvol=root /dev/mapper/encrypted-partition sysroot
chroot .
grub2-mkconfig -o /etc/grub2-efi.cfg
# /usr/sbin/grub2-probe: error: cannot find a device for / (is /dev mounted?).

Any help is much appreciated, thanks! :slight_smile:

Hello @tbrown ,
Do you get the boot menu? If not enter your BIOS at boot or use your BIOS’s boot menu to select the fedora boot option. If you can boot into your existing system then you could use rpm-ostree rollback to boot your previous commit and upgrade it. The default commit is #0 from Ostree’s POV.

Should never be used on Silverblue. The boot entries are only modified by rpm-ostree.

Hey @jakfrost,


Ahhh, good to know. Thanks!

While troubleshooting I think I might have modified the boot and efi partitions, so I decided to follow your advice here and reinstall Silverblue while keeping my home subvolume.

This worked perfectly, and I was back with my original working system! :slight_smile: (minus a few overlaid packages)

The UEFI boot menu then contained two entries:

  • AHCI P2: Samsung SSD 870 QVO 1T
  • Fedora

But then I wondered if I would be able to reproduce the behavior.

I booted into the Fedora entry, suspended the system, and cut the power - and now it’s again in the same unbootable state! This was on a freshly installed Silverblue 39.1.5 with no overlays or pending updates showing in rpm-ostree status. Although I used the advanced custom partitioning option during install (to keep my home btrfs subvolume), I tried to replicate the original partitioning and mounts.

Now the UEFI boot menu only contains one entry:

  • AHCI P2: Samsung SSD 870 QVO 1T

and when I select it I get this message:

Reboot and Select proper Boot device
or Insert Boot Media in selected Boot device and press a key

No GRUB boot menu in sight.


I’m curious what is causing it to break, but I have no idea how to debug it. If anyone wants any more information please let me know.

Otherwise I guess I’ll just fix it up and hope my power doesn’t go out again! :smiley:

Well that’s really weird isn’t it? Suspend —> kill power —> Lose boot. Can you please file a bug at Issues · fedora-silverblue/issue-tracker · GitHub so we can get the Silverblue team helping? Link the issue back here for reference and we’ll keep this topic going till resolution. Sound good?

Turns out the CMOS battery on my motherboard was flat, which was causing the Fedora entry in the UEFI boot menu to get forgotten when the motherboard lost power :sweat_smile: