Fedora 30 Grub Continuously Rebooting

I tried upgrading from Fedora 29 to Fedora 30, the upgrade appeared to go smoothly. It took a couple hours to upgrade then when the upgrade rebooted, Grub got stuck in a boot loop. I see Grub print “Welcome to GRUB!” then it immediately reboots. This happens over and over.

I tried holding down the power button to shut the computer off and waiting a few minutes, but when I turn the computer back on it gets stuck rebooting again.

One time I was able to press ‘a’ and it printed an error about an unaligned pointer, but I haven’t been able to see that again.

Hi cwesson

I had exactly the same problem with one machine - one that has been updated since Jan 2013 (Fedora 18) - all my other PCs are much more recent, so I’m guessing this is relevant to the issue

The problem was the Grub environment file (grubenv) had an invalid ‘saved_entry’, so presumably grub couldn’t cope with trying to identify that entry from the menu and simply crashed out and rebooted.

To solve, boot a live USB/CD and get up a terminal and log in as root (su -).
Check that you know what the boot partition is by using ‘fdisk -l’. It’s usually /dev/sda1 but it can vary.

Mount the boot partition by:
mount /dev/sda1 /mnt
and then you can check the grubenv by:
grub2-editenv /mnt/grub2/grubenv list

The ‘saved_entry’ parameter should be a filename that you can see in:
ls -l /mnt/loader/entries

Assuming it’s not (as in my case), note the highest kernel version and change the grubenv by:
grub2-editenv /mnt/grub2/grubenv set saved_entry=de90851cc18b488aa6aad83c40ada5b2-5.0.11-300.fc30.x86_64
of course replacing the filename with your own. (Note the initial long string is machine specific.)

Then you should be able to boot the machine.

To solve the underlying cause, you need to amend/create the file /etc/sysconfig/kernel (which tells the system to update grubenv on installation of a new kernel). This file was non-existent on my problem PC, and I had a Fedora 27 kernel referenced in the grubenv. I presume that before the new BLS config Grub, the grubenv was ignored, since the PC was fine until Fedora 30 upgrade.

You can see what the contents of /etc/sysconfig/kernel should be in the docs:
https://docs.fedoraproject.org/en-US/fedora/f30/system-administrators-guide/kernel-module-driver-configuration/Working_with_the_GRUB_2_Boot_Loader/
Just search for the filename - but be wary that these docs aren’t updated to take account of BLS.

Good luck!

2 Likes

It took a while to get a drive I could boot a live CD from, but the saved_entry was the problem. Thanks!

Edit: I’ve also been upgrading this computer for years, since Fedora 16, so maybe that is related to this issue.