Bug#913916: grub-efi-amd64: UEFI boot option removed after update to grub2 2.02~beta3-5+deb9u1

Gábor Gombás gombasg at digikabel.hu
Wed Jul 21 09:41:57 BST 2021


Package: grub2-common
Version: 2.04-20
Followup-For: Bug #913916
X-Debbugs-Cc: gombasg at digikabel.hu

Hi,

I can confirm the bug still exists, running grub-install makes my laptop
(Dell Latitude E7470) unbootable by removing all (well, the only) boot
options, and I have to enter the firmware menu to set up the boot
options again.

It took more than a year to figure out it was due to grub-install,
because the bug usually manifested itself after installing a large
number of packages, and I was lazy to figure out which exactly was the
trigger. But yesterday, the only relevant packages which I have updated
were shim-helpers-amd64-signed and grub-efi-amd64-signed, and only
shim-helpers-amd64-signed had a postinst script, and the only thing that
postinst script did was running grub-install.

Here's the output of "efibootmgr -v", if it helps:

# efibootmgr -v
BootCurrent: 0006
Timeout: 0 seconds
BootOrder: 0001,0004,0002,0007,0008,0006
Boot0000  Windows Boot Manager	HD(1,GPT,xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx,0x800,0x32000)/File(\EFI\Microsoft\Boot\bootmgfw.efi)WINDOWS.........x...B.C.D.O.B.J.E.C.T.=.{.x.x.x.x.x.x.x.x.-.x.x.x.x.-.x.x.x.x.-.x.x.x.x.-.x.x.x.x.x.x.x.x.x.x.x.x.}...3................
Boot0001  Diskette Drive	BBS(Floppy,Diskette Drive,0x0)..BO
Boot0002* Internal HDD	BBS(HD,P2: TOSHIBA XXXXXXXXXXXXX M.2 ,0x0)..BO
Boot0003* debian	HD(1,GPT,xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx,0x800,0x100000)/File(\EFI\debian\shimx64.efi)
Boot0004  CD/DVD/CD-RW Drive	BBS(CDROM,CD/DVD/CD-RW Drive,0x0)..BO
Boot0005* Linux Firmware Updater	HD(1,GPT,xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx,0x800,0x100000)/File(\EFI\debian\fwupdx64.efi)
Boot0006* Debian	PciRoot(0x0)/Pci(0x17,0x0)/Sata(2,65535,0)/HD(1,GPT,xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx,0x800,0x100000)/File(\EFI\debian\shimx64.efi)
Boot0007* Onboard NIC	BBS(Network,Onboard NIC,0x0)..BO
Boot0008* USB Storage Device	BBS(USB,USB Storage Device,0x0)..BO

The "Debian" entry (with capital 'D') is the one I've set up through the
firware menu. The "debian" entry with lower case "d" is I guess the one
which was originally created by Debian Installer, and it is suspiciously
missing from BootOrder.

Regards,
Gabor

-- Package-specific info:

*********************** BEGIN /boot/grub/grub.cfg
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#

### BEGIN /etc/grub.d/00_header ###
if [ -s $prefix/grubenv ]; then
  set have_grubenv=true
  load_env
fi
if [ "${next_entry}" ] ; then
   set default="${next_entry}"
   set next_entry=
   save_env next_entry
   set boot_once=true
else
   set default="0"
fi

if [ x"${feature_menuentry_id}" = xy ]; then
  menuentry_id_option="--id"
else
  menuentry_id_option=""
fi

export menuentry_id_option

if [ "${prev_saved_entry}" ]; then
  set saved_entry="${prev_saved_entry}"
  save_env saved_entry
  set prev_saved_entry=
  save_env prev_saved_entry
  set boot_once=true
fi

function savedefault {
  if [ -z "${boot_once}" ]; then
    saved_entry="${chosen}"
    save_env saved_entry
  fi
}
function load_video {
  if [ x$feature_all_video_module = xy ]; then
    insmod all_video
  else
    insmod efi_gop
    insmod efi_uga
    insmod ieee1275_fb
    insmod vbe
    insmod vga
    insmod video_bochs
    insmod video_cirrus
  fi
}

if [ x$feature_default_font_path = xy ] ; then
   font=unicode
else
insmod lvm
insmod btrfs
set root='lvmid/REDACTED'
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root --hint='lvmid/REDACTED' REDACTED
else
  search --no-floppy --fs-uuid --set=root REDACTED
fi
    font="/@/usr/share/grub/unicode.pf2"
fi

if loadfont $font ; then
  set gfxmode=1920x1080x32,auto
  load_video
  insmod gfxterm
  set locale_dir=$prefix/locale
  set lang=en_US
  insmod gettext
fi
terminal_output gfxterm
if [ "${recordfail}" = 1 ] ; then
  set timeout=30
else
  if [ x$feature_timeout_style = xy ] ; then
    set timeout_style=menu
    set timeout=5
  # Fallback normal timeout code in case the timeout_style feature is
  # unavailable.
  else
    set timeout=5
  fi
fi
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/05_debian_theme ###
insmod lvm
insmod btrfs
set root='lvmid/REDACTED'
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root --hint='lvmid/REDACTED'  REDACTED
else
  search --no-floppy --fs-uuid --set=root REDACTED
fi
insmod png
if background_image /@/usr/share/desktop-base/homeworld-theme/grub/grub-16x9.png; then
  set color_normal=white/black
  set color_highlight=black/white
else
  set menu_color_normal=cyan/blue
  set menu_color_highlight=white/blue
fi
### END /etc/grub.d/05_debian_theme ###

### BEGIN /etc/grub.d/10_linux ###
function gfxmode {
	set gfxpayload="${1}"
}
set linux_gfx_mode=keep
export linux_gfx_mode
menuentry 'Debian GNU/Linux' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-REDACTED' {
	load_video
	gfxmode $linux_gfx_mode
	insmod gzio
	if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
	insmod part_gpt
	insmod ext2
	set root='hd0,gpt2'
	if [ x$feature_platform_search_hint = xy ]; then
	  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2  REDACTED
	else
	  search --no-floppy --fs-uuid --set=root REDACTED
	fi
	echo	'Loading Linux 5.10.0-8-amd64 ...'
	linux	/vmlinuz-5.10.0-8-amd64 root=/dev/mapper/host--vg-root ro rootflags=subvol=@  quiet
	echo	'Loading initial ramdisk ...'
	initrd	/initrd.img-5.10.0-8-amd64
}
submenu 'Advanced options for Debian GNU/Linux' $menuentry_id_option 'gnulinux-advanced-REDACTED' {
	menuentry 'Debian GNU/Linux, with Linux 5.10.0-8-amd64' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.10.0-8-amd64-advanced-REDACTED' {
		load_video
		gfxmode $linux_gfx_mode
		insmod gzio
		if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
		insmod part_gpt
		insmod ext2
		set root='hd0,gpt2'
		if [ x$feature_platform_search_hint = xy ]; then
		  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2  REDACTED
		else
		  search --no-floppy --fs-uuid --set=root REDACTED
		fi
		echo	'Loading Linux 5.10.0-8-amd64 ...'
		linux	/vmlinuz-5.10.0-8-amd64 root=/dev/mapper/host--vg-root ro rootflags=subvol=@  quiet
		echo	'Loading initial ramdisk ...'
		initrd	/initrd.img-5.10.0-8-amd64
	}
	menuentry 'Debian GNU/Linux, with Linux 5.10.0-8-amd64 (recovery mode)' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.10.0-8-amd64-recovery-REDACTED' {
		load_video
		gfxmode $linux_gfx_mode
		insmod gzio
		if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
		insmod part_gpt
		insmod ext2
		set root='hd0,gpt2'
		if [ x$feature_platform_search_hint = xy ]; then
		  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2  REDACTED
		else
		  search --no-floppy --fs-uuid --set=root REDACTED
		fi
		echo	'Loading Linux 5.10.0-8-amd64 ...'
		linux	/vmlinuz-5.10.0-8-amd64 root=/dev/mapper/host--vg-root ro single rootflags=subvol=@ 
		echo	'Loading initial ramdisk ...'
		initrd	/initrd.img-5.10.0-8-amd64
	}
	menuentry 'Debian GNU/Linux, with Linux 5.10.0-7-amd64' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.10.0-7-amd64-advanced-REDACTED' {
		load_video
		gfxmode $linux_gfx_mode
		insmod gzio
		if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
		insmod part_gpt
		insmod ext2
		set root='hd0,gpt2'
		if [ x$feature_platform_search_hint = xy ]; then
		  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2  REDACTED
		else
		  search --no-floppy --fs-uuid --set=root REDACTED
		fi
		echo	'Loading Linux 5.10.0-7-amd64 ...'
		linux	/vmlinuz-5.10.0-7-amd64 root=/dev/mapper/host--vg-root ro rootflags=subvol=@  quiet
		echo	'Loading initial ramdisk ...'
		initrd	/initrd.img-5.10.0-7-amd64
	}
	menuentry 'Debian GNU/Linux, with Linux 5.10.0-7-amd64 (recovery mode)' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.10.0-7-amd64-recovery-REDACTED' {
		load_video
		gfxmode $linux_gfx_mode
		insmod gzio
		if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
		insmod part_gpt
		insmod ext2
		set root='hd0,gpt2'
		if [ x$feature_platform_search_hint = xy ]; then
		  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2  REDACTED
		else
		  search --no-floppy --fs-uuid --set=root REDACTED
		fi
		echo	'Loading Linux 5.10.0-7-amd64 ...'
		linux	/vmlinuz-5.10.0-7-amd64 root=/dev/mapper/host--vg-root ro single rootflags=subvol=@ 
		echo	'Loading initial ramdisk ...'
		initrd	/initrd.img-5.10.0-7-amd64
	}
}

### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/20_linux_xen ###

### END /etc/grub.d/20_linux_xen ###

### BEGIN /etc/grub.d/30_os-prober ###
### END /etc/grub.d/30_os-prober ###

### BEGIN /etc/grub.d/30_uefi-firmware ###
menuentry 'System setup' $menuentry_id_option 'uefi-firmware' {
	fwsetup
}
### END /etc/grub.d/30_uefi-firmware ###

### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.
### END /etc/grub.d/40_custom ###

### BEGIN /etc/grub.d/41_custom ###
if [ -f  ${config_directory}/custom.cfg ]; then
  source ${config_directory}/custom.cfg
elif [ -z "${config_directory}" -a -f  $prefix/custom.cfg ]; then
  source $prefix/custom.cfg;
fi
### END /etc/grub.d/41_custom ###
*********************** END /boot/grub/grub.cfg

*********************** BEGIN /proc/mdstat
cat: /proc/mdstat: No such file or directory
*********************** END /proc/mdstat

-- System Information:
Debian Release: 11.0
  APT prefers testing
  APT policy: (990, 'testing'), (500, 'testing-security'), (102, 'unstable')
Architecture: amd64 (x86_64)

Kernel: Linux 5.10.0-8-amd64 (SMP w/4 CPU threads)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages grub2-common depends on:
ii  dpkg                1.20.9
ii  grub-common         2.04-20
ii  libc6               2.31-13
ii  libdevmapper1.02.1  2:1.02.175-2.1
ii  libefiboot1         37-6
ii  libefivar1          37-6
ii  liblzma5            5.2.5-2

grub2-common recommends no packages.

grub2-common suggests no packages.

-- no debconf information



More information about the Pkg-grub-devel mailing list