Updating Fedora 41 results in boot into grub

Hi,

I was just updating my Linux laptop as I’ve always done, through the update software utility, the GUI one. It asked to reboot the system to continue to update. It did, and it started to update the software. I believe it finished as it rebooted. However it didn’t boot into Fedora, but into a grub prompt. Not sure how to recover it.

The file partitions shown by ‘ls’, are hd0, hd0.gpt{0-4}, proc and memdisk. All hd0.gptX show up as unknown filesystem.

I tried to install a live disk to a USB drive using Fedora Media Writer-osx-5.2.3 on a Mac, but macOS Sequoia 15.4 said it couldn’t verify that Fedora Media Writer is free of malware and refuses to run it. Unfortunately I don’t have a third PC.

list_env shows a “saved_entry=55a84…-6.13.9-200.fc41.x86_64”, and I’m not sure if it cannot find the kernel, or the correct module for the filesystem isn’t inserted, and I believe I either used btrfs or ext4 when I installed Fedora on my laptop.

How can I recover my Linux laptop into booting back into Fedora? Any help in recovering this would be greatly appreciated. TIA!

If, for some reason, you all an app that is not signed then do this to allow it to be run.

I got the DMG from Release 5.2.3 · FedoraQt/MediaWriter · GitHub and see the same error message. I copied it into /Applications.

I reported this bug here 2357600 – macos Fedora Media Writer fails to run - cannot check for malware

Downloaded App reported as “damaged”. Remove the quarantine to allow macOS to run the app.

xattr -d -r com.apple.quarantine /Applications/FedoraMediaWriter.app

After doing this I can run the FedoraMediaWriter (it is slow to show up on screen).

Thanks Barry!

That worked! I booted Fedora Live on the grub-broken Linux Laptop, and was able to manually mount /boot, /efi and / in /mnt of the Fedora Live run.

I do see 6.13.9-200.fc41.x86_64 in /boot, and in loader/entries, including with initramfs present in boot of the same kernel; I also see grubenv saved entry pointing to the same kernel. grub.cfg has 4 simple lines (search …; set prefix=($dev)/grub2; export $prefix; configfile $prefix/grub.cfg).

What are my options at this point? What grub commands can I run in order to fix this? (I apologize I was never able to learn grub… I wish I could…) Is there any information I could provide? (How do I tell grub2 to boot 6.13.9-200 as opposed to booting into grub prompt?)

TIA!

Hi,

I was able to fix this.

The problem was that in /boot/efi/EFI/fedora/ directory the file grub.cfg was either a symlink to /boot/grub2/grub.cfg.

(Long long time ago, after modifying /etc/default/grub and other things, I’d regenerated /etc/grub2/grub.conf in order to achieve text boot, with a 10 second timeout so I can choose which kernel to run–kinda like it was 30 years ago–I sometimes recompile and run test kernels. Then I created a symlink /boot/efi/EFI/fedora/grub.conf to point to /boot/grub2/grub.conf, and things ran okay until an update a few days ago…)

At this latest update of mine, something (anaconda, grub2?) must’ve been updated, which resulted in that link not being able to be read, perhaps because only minimal set of filesystems was mounted at the time grub is run, as opposed to before the update when all was mounted (speculation!), which resulted in the grub.cfg link which I had, to be invalid. Then, the updater/installer installed a minimal grub.cfg in /boot/efi/EFI/fedora/ which didn’t work.

This–the lack of grub.conf and the new minimal grub.conf installed by anaconda/grub at the most recent update) resulted in booting into grub prompt. Fortunately, I had a backup copy of grub.conf (as I noted above in the second paragraph), and so I copied it into /boot/efi/EFI/fedora/, synced, rebooted and voila, it worked. All this was done running Fedora Live from a USB stick, and at times using chroot…

So it’s all good.

In retrospect, it would’ve been good if grub had a diagnostic message to say something like “minimal grub.cfg couldn’t find a runnable kernel” or something to that effect as opposed to just dumping into grub prompt.

P.S. I’m glad I was able to resolve this by using a backup copy of grub.cfg I had been using, because I wasn’t able to run grub-mkconfig while using Fedora Live USB stick, because in a chroot it complained about /dev not being mounted, and I’m not sure about the arguments to run from the Fedora Live USB stick environment. Obviously it can be done, as the installer/updater does it, but I cannot do it.

Does anyone know the command line to (re)create a grub.conf file for a native install being repaired, i.e. native storage possibly mounted in /mnt/… of a Fedora Live USB stick session while running Fedora Live USB stick?

P.P.S. Thanks again Barry for helping with macOS Fedora Media Writer! Thank you for opening a bug. Hopefully they fix it soon. Hopefully we don’t see this bug again in the future, by … just testing it, as you and I did.

The steps needed to properly chroot to an installed Fedora system from the Live USB have been posted in this forum multiple times. https://gist.github.com/Tamal appears to have collected them. You should make sure you understand each step. The Linux Command book may be helpful.