IMPORTANT: GRUB update may break your Fedora install

Update 2: The Fedora grub2-common package has been updated to fix the bug, so this problem should no longer occur for anyone regardless of install date. The below fix steps are no longer necessary, but make sure you update your packages to get the fix.

Update: The latest install images (dated 202308291436 or newer) are now fixed and will no longer trigger this problem. Users who installed earlier still need to perform the fix below.

There is a major bug due to an interaction between the Fedora grub2-common package and the way Kiwi builds our images. All existing users are at risk.

If your system is unbootable (hangs on boot after the U-Boot screen), reboot and break into the u-boot prompt, then type the following series of commands (assuming you have a standard Fedora Asahi install and it is the first/single Linux install on your system, adjust partition numbers 4 and 5 to your EFI and boot partition indices otherwise):

fatrm nvme 0:4 EFI/fedora/grub.cfg
bootflow scan
set root=hd0,5
set prefix=(hd0,5)/grub2
normal $prefix/grubenv
normal $prefix/grubenv

Select the latest kernel from the GRUB menu (may not be the first), then once booted run these Linux commands to fix your system permanently and reboot again.

sudo dnf upgrade
sudo dnf reinstall -y grub2-common
sudo grub2-mkconfig -o /boot/grub2/grub.cfg

New users are still broken and must run the above commands at this time. We’re trying to get this fixed in future images/packages.

Also, this is a good time to remind everyone running older installs to switch to kernel-16k if you have not already done so.


Is there a Bugzilla or some other issue report that tracks this problem?

1 Like

Does this also mean existing users should apply the same changes as done here?

To quote Hamlet, Act 3, Scene 3, Line 87: “No.”

[He sheathes his sword.]

Thanks for the heads up. I was still logged in and followed those instructions and it worked. I’m able to reboot and get back in

My system is unbootable. I tried the U-Boot prompt instructions. However, inside GRUB, after typing blscfg, I get:

error: ../../grub-core/net/net.c:1552:disk `(hd0,5)/grub2' not found

That sounds like your partition index is wrong (that can happen if you have multiple Linux installs, or remnants from another install you didn’t fully delete).

Make sure to replace the “5” with the index of your /boot partition, which should be one larger than the index of your EFI system partition, which should be what u-boot prints when booting normally (If it prints “nvme 0:x” it means x+1 is your /boot partition).