I just hit this bug while upgrading from 2.00-22 to 2.02~beta2-15. I believe #743477 is a duplicate of this bug.

The current behavior breaks an existing functional boot simply by noninteractively upgrading grub-pc, which happens in an apt-get upgrade and/or dist-upgrade. If this happens on a noninteractive upgrade from wheezy to jessie, it would be a very serious release blocker. By its definition, this should be a critical bug.

Steps to reproduce:

- Deploy this jessie vagrant box: https://downloads.sourceforge.net/project/vagrantboxjessie/debian80.box (or any box with grub 2.00-22)
- apt-get update
- DEBIAN_FRONTEND=noninteractive apt-get -y install grub-pc
- reboot

The "DEBIAN_FRONTEND=noninteractive" is there to reproduce what happenes during provisioning automation (ansible/puppet/salt/chef etc). An example vagrantfile is here: http://paste.debian.net/130854/

The workaround is to do a "grub-install --recheck /dev/sda" after upgrading the package.

Due to the nature of deployable images like this, the install_devices from debconf will likely never match the newly created drive; even in cases where it is using /dev/sda it may be that an image would get deployed with virtio and the booted drive would end up being /dev/vda.

For reference, the output of "debconf-get-selections | grep -i grub" before upgrading grub-pc packages:

/usr/bin/debconf-get-selections |grep -i grub
grub-pc grub-pc/chainload_from_menu.lst boolean true
# Writing GRUB to boot device failed - continue?
grub-pc grub-pc/install_devices_failed  boolean false
grub-pc grub-pc/kopt_extracted  boolean false
# Hide the GRUB timeout
grub-pc grub-pc/hidden_timeout  boolean false
# GRUB install devices:
grub-pc grub-pc/install_devices multiselect /dev/disk/by-id/ata-VBOX_HARDDISK_VB4950a3eb-80192436
grub-pc grub2/linux_cmdline_default     string  quiet
# Remove GRUB 2 from /boot/grub?
grub-pc grub-pc/postrm_purge_boot_grub  boolean false
# Writing GRUB to boot device failed - try again?
grub-pc grub-pc/install_devices_failed_upgrade  boolean true
grub-pc grub2/linux_cmdline     string  debian-installer=en_US
grub-pc grub2/kfreebsd_cmdline  string  
# GRUB timeout
grub-pc grub-pc/timeout string  5
# /boot/grub/device.map has been regenerated
grub-pc grub2/device_map_regenerated    note    
# Continue without installing GRUB?
grub-pc grub-pc/install_devices_empty   boolean false
# GRUB install devices:
grub-pc grub-pc/install_devices_disks_changed   multiselect     
grub-pc grub2/kfreebsd_cmdline_default  string  quiet
# Finish conversion to GRUB 2 now?
grub-pc grub-pc/mixed_legacy_and_grub2  boolean true

And after upgrading:

grub-pc grub-pc/kopt_extracted  boolean false
# GRUB install devices:
grub-pc grub-pc/install_devices multiselect /dev/disk/by-id/ata-VBOX_HARDDISK_VB4950a3eb-80192436
grub-pc grub2/linux_cmdline_default     string  quiet
# GRUB install devices:
grub-pc grub-pc/install_devices_disks_changed multiselect /dev/disk/by-id/ata-VBOX_HARDDISK_VB4950a3eb-80192436
# /boot/grub/device.map has been regenerated
grub-pc grub2/device_map_regenerated    note    
# Remove GRUB 2 from /boot/grub?
grub-pc grub-pc/postrm_purge_boot_grub  boolean false
grub-pc grub2/kfreebsd_cmdline  string  
grub-pc grub-pc/chainload_from_menu.lst boolean true
# Continue without installing GRUB?
grub-pc grub-pc/install_devices_empty   boolean false
# Finish conversion to GRUB 2 now?
grub-pc grub-pc/mixed_legacy_and_grub2  boolean true
grub-pc grub2/kfreebsd_cmdline_default  string  quiet
grub-pc grub2/linux_cmdline     string  debian-installer=en_US
# Writing GRUB to boot device failed - try again?
grub-pc grub-pc/install_devices_failed_upgrade  boolean true
# What do you want to do about modified configuration file grub?
# GRUB timeout; for internal use
grub-pc grub-pc/timeout string  0
# Hide the GRUB timeout; for internal use
grub-pc grub-pc/hidden_timeout  boolean false
# Writing GRUB to boot device failed - continue?
grub-pc grub-pc/install_devices_failed  boolean false


--
To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to