Fedora 37 can't boot after system upgrade

, ,

Last night I wanted to upgrade from Fedora 35 to Fedora 37. At first, the system-upgrade plugin complained that I needed to free some extra 2.4GB of space on the root partition after running dnf system-upgrade download. After I freed around 3GB there was no complaints and the dnf system-upgrade reboot command successfully rebooted and started the upgrade process.

During this upgrade process after about 15% was done, I fell asleep and so it was left to update overnight. When I woke up there was an error screen with a white background saying:

“Oh no! Something has gone wrong. A problem has occurred and the system can’t revocer. Please contact a system administrator”

I tried to shut down and boot up the system again, and after the fedora boot screen with the logo and spinner, the “Oh no” screen was shown again.

I tried to boot, but it said the root account was locked, so I made a live USB with the new version of Fedora, and after using chroot and setting a password for the root user with passwd root, I could log into root on the rescue partition that was left over from fedora 32. Both my home partition and my root partition can be mounted and all files seem to be there at first glance. Also, I can see there is around 12GB of space free on the root partition. However, after exiting the root shell, the following errors appeared in the console:

/boot/efi unknown filesystem type ‘vfat’
boot-efi.mount mount process exited code=exited status=32

From what I understand, the vfat issue is just a red herring and if fixed, another issue would pop up. Some other underlying issue likely exists. I’m a bit out of my depth at this point, and could use some help.

Now, this is an install from as far back as Fedora 32 and I have quite a bit of software already installed, as well as some apps in /opt that I’d like to keep, so I would like to avoid reformatting the root partition if at all possible. Can anyone help me figure this out?

Mass storage devices don’t do well when run with very little free space.
This greatly increases wear for both spinning and solid-state storage.

The current BTRFS default helps with situations where one partition is full while there is ample free space on some other partition, so if that is your situation, a fresh install using BTRFS may be helpful.

Your first step should be to ensure that you have a good backup of user data, and, depending on the free space in other partitions, either clear the linux portions on the existing disk or buy a larger device, followed by a fresh install using BTRFS and restoring the user data.

I ended up shrinking my other partition and extending the root and home partitions (which were in an LVM), then doing a fresh install of Fedora 37. Unfortunately it’s without BTRFS because I wanted my data on /home to stay intact. I didn’t reformat as I didn’t have good backup options available, but this will do for now. I will however consider upgrading to an SSD with more storage soon. Thanks for the tips!