#1003096 grub-pc: upgrade-from-grub-legacy does not work on two systems in bullseye

Package:
grub-pc
Source:
grub2
Description:
GRand Unified Bootloader, version 2 (PC/BIOS version)
Submitter:
CJ Fearnley
Date:
2022-01-03 23:39:04 UTC
Severity:
normal
#1003096#5
Date:
2022-01-03 23:35:42 UTC
From:
To:
Dear Maintainer,

I am seeing the double chain loading of the old grub legacy which
successfully loads the modern grub.

Evidently, I forgot to run upgrade-from-grub-legacy on some systems
10 years ago. Or maybe it failed to work 10 years ago and I'm only now
noticing (since I've had to do a lot of reboots to fix other things that
broke in Bullseye).

On two systems I tried to run upgrade-from-grub-legacy in Bullseye. The
program appears to run, but the double chain loading of the old grub
continues. I infer that it did not work.

If the program cannot be run any more, then it should be removed from the
package.

If a solution can be offered to those of us who didn't pay close enough
attention to an upgrade 8 years ago, then, perhaps, the program can
be fixed.

Here are the run-time messages from upgrade-from-grub-legacy:

$ sudo upgrade-from-grub-legacy

core.img doesn't exist, trying to create it.

Installing for i386-pc platform.
Installation finished. No error reported.
dpkg: warning: version 'dummy-version' has bad syntax: version number does not start with digit
Configuring grub-pc
-------------------

The grub-pc package is being upgraded. This menu allows you to select which devices you'd like
grub-install to be automatically run for, if any.

Running grub-install automatically is recommended in most situations, to prevent the installed
GRUB core image from getting out of sync with GRUB modules or grub.cfg.

If you're unsure which drive is designated as boot drive by your BIOS, it is often a good idea to
install GRUB to all of them.

Note: it is possible to install GRUB to partition boot records as well, and some appropriate
partitions are offered here. However, this forces GRUB to use the blocklist mechanism, which makes
it less reliable, and therefore is not recommended.

  1. /dev/md0 (1995264 MB; precession:0)            3. /dev/sdb (2000398 MB; ST2000DM008-2FR102)
  2. /dev/sda (2000398 MB; WDC_WD2002FAEX-00MJRA0)  4. /dev/dm-0 (74998 MB; precession-root)

(Enter the items or ranges you want to select, separated by spaces.)

GRUB install devices: 2 3


Installing for i386-pc platform.
File descriptor 3 (pipe:[239103]) leaked on vgs invocation. Parent PID 66419: grub-install
File descriptor 3 (pipe:[239103]) leaked on vgs invocation. Parent PID 66419: grub-install
File descriptor 3 (pipe:[239103]) leaked on vgs invocation. Parent PID 66419: grub-install
Installation finished. No error reported.
Installing for i386-pc platform.
File descriptor 3 (pipe:[239103]) leaked on vgs invocation. Parent PID 66455: grub-install
File descriptor 3 (pipe:[239103]) leaked on vgs invocation. Parent PID 66455: grub-install
File descriptor 3 (pipe:[239103]) leaked on vgs invocation. Parent PID 66455: grub-install
Installation finished. No error reported.
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-5.10.0-10-amd64
Found initrd image: /boot/initrd.img-5.10.0-10-amd64
Found linux image: /boot/vmlinuz-4.19.0-18-amd64
Found initrd image: /boot/initrd.img-4.19.0-18-amd64
done

GRUB Legacy has been removed, but its configuration files have been preserved,
since this script cannot determine if they contain valuable information.  If
you would like to remove the configuration files as well, use the following
command:

  rm -f /boot/grub/menu.lst*

But after I reboot I continue to see the old GRUB with fd0 errors before
the new modern grub successfully works.

The other system I tried this on had the same behavior: I still get
the old GRUB legacy splash screen before the new grub chain loads and
successfully boots the system.

*** End of the template - remove these template lines ***