5

I have upgraded from 32 bit Fedora 28 to 30 using dnf system-upgrade, exactly as found in the Fedora documents. All was OK, up to dnf system-upgrade reboot. The started system has upgraded the packages, with cleanup and verify. After numerous hours, the system has restarted but grub cannot boot and it enters the grub command mode.

Using CD rescue disk, I have verified the hard disk and every partition on it using fdisk an fsck. Not problem encountered. I have verified in /boot/ and I have found vmlinuz and initramfs having the expected endings and a size which looks OK.

But /boot/grub2/grub.cfg is strange and very different from the usual structure.

I have booted from the grub command line using configfile /grub2/grub.cfg.rpmsave and I was able to boot as under Fedora 28. I have tried to generate a tentative grub.cfg using grub2-mkconfig and I have put it in /tmp/ in order to compare it with /boot/grub2/grub.cfg. The result: It is exactly the same.

What can I do in order to make the system running well as Fedora 30 as expected ?

Is it a good idea to run dnf update while running this old kernel 28 ?

3

I had the same issue. Apparently if your Fedora installation is old enough, then it has the issue. I was upgrading from way early version thru those, then 29, then to 30. After the 30 upgrade, it boots to the grub> prompt.

In the end, I followed advice about running grub2-install from Common F30 bugs @ Fedora Project

I used an installation disk in troubleshoot/rescue mode to be able to manipulate the grub.cfg. Steps I did were:

  1. copied current (30) to have it for the future: cp grub.cfg grub.cfg.new
  2. copied old (29): cp grub.cfg.rpmsave grub.cfg
  3. reboot, which went into 29.
  4. logged in, ran grub2-install /dev/{boot drive} (for me, {boot drive} was sda)
  5. Rebooted, but honestly not sure this is necessary
  6. logged in, then put the current (3) grub.cfg back in place: cp grub.cfg.new grub.cfg
  7. Rebooted – it showed FC 30 and booted fine
  8. Reran grub2-install just to get whatever FC30 has instead of FC29
  9. Rebooted, logged in, ran dnf update
|improve this answer|||||
  • Welcome to Super User. This is a good find, and it sure sounds similar. But according to the link, this specific issue is associated with GRUB dating back to v20 or earlier. The OP updated from v28. – fixer1234 May 10 '19 at 5:41
  • Many thanks for this excellent response. I have booted using grub.cfg.rpmsave as explained in my initial question. Then I have entered grub2-install /dev/sda1 and then rebooted. Now, the system is booting as expected. – Claude Frantz May 10 '19 at 6:45
  • This worked perfectly for me. I have a question though: why is going back to FC 29 needed? Couldn't running grub2-install with the FC30 grub.cfg (basically just step 8) work already? – cornuz Jun 20 '19 at 10:24
0

The most important part of the procedure is to run grub2-install in the newly upgraded FC30 system. In my opinion, it's probably sufficient to run this. Depending on the state where the booting process stops, you have to enter a different command on the GRUB2 shell in order to have the system started. The "configfile" command mentioned above has allowed me to start with the old kernel. Editing the offered GRUB2 boot entry and adding the appropriate "root=" suffix to the "linux" command has given me the opportunity to start in another situation with the new kernel. As soon as the system is running, enter the "grub2-install" mentioned previously, in a root shell.

|improve this answer|||||
  • And if that "configfile /grub2/grub.cfg.rpmsave" command doesn't work, try something like configfile (hd0,1)/boot/grub2/grub.cfg.rpmsave to boot. Then grub2-install /dev/sda and if you're lucky, that's all you have to do. – basic6 Aug 13 '19 at 15:53

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.