Bug#1056764: grub-efi-amd64: can't boot with GRUB 2.12~rc1-12

Mate Kukri mate.kukri at canonical.com
Sun Nov 26 09:01:12 GMT 2023


Hi Nicolas,

The mechanism used to load the kernel has changed from GRUB 2.06 to
GRUB 2.12, it is possible that there are unfortunate bugs in either in
GRUB and/or your firmware that is stopping the new mechanism from
loading the kernel.

Would you be able to attempt these two things to gather some information?

- Run `set debug=linux`, then `linux
PATH_TO_KERNEL_THAT_FAILS_TO_BOOT`. The output of the Linux command
should contain extra information with the debug mode enabled.

- (Make sure to have Secure Boot disabled), then run `rmmod peimage`
at the GRUB console, and then try running your boot entry (or
alternatively edit the boot entry with E and add that command on top).

Mate Kukri

On Sat, Nov 25, 2023 at 10:45 PM Nicolas Haller <nicolas at boiteameuh.org> wrote:
>
> Package: grub-efi-amd64
> Version: 2.06-13
> Severity: critical
> Justification: breaks the whole system
>
> Dear Maintainer,
>
> My old laptop (Lenovo 11e) runs Sid and all was right before I updated
> it the other day (I don't do that very often). After that upgrade, GRUB
> wasn't able to load any kernel with the pretty much generic error
> "Error: can't load image". The version of GRUB was 2.12~rc1-12.
> If I try to boot again, GRUB tells me that I need to load the image
> first (I guess it somehow ignores the linux command and sends that when
> trying to load the initrd).
>
> I tried to reinstall grub, grub-install /dev/sda, update-grub, reinstall
> the kernel, update-initramfs from the rescue mode but nothing worked.
> The "file" command was able to read the vmlinuz file and none seemed
> truncated. The system has one partition with both / and /boot and isn't
> running out of space.
> I did not see any error message during those operation besides GRUB
> saying it wasn't able to update EFI parameters.
>
> I don't know if there is a way to get more logs or error message during
> the boot explaining why it wasn't able to load the image.
>
> I tried to get the last version of GRUB from Bookworm, that is
> 2.06-13, and now I'm able to boot. The kernel version did not change,
>   the only change I did is to downgrade GRUB (and dependencies apt was
>   asking for).
>
> I'm not sure which GRUB package I should use for reporting so I took the
> one that seems the most specific to my system. Apologies if it is not
> correct.
>
> Let me know if you need more info.
>
> Thanks,
>
> --
> Nicolas Haller
>
> *** Reporter, please consider answering these questions, where appropriate ***
>
>    * What led up to the situation?
>    * What exactly did you do (or not do) that was effective (or
>      ineffective)?
>    * What was the outcome of this action?
>    * What outcome did you expect instead?
>
> *** End of the template - remove these template lines ***
>
>
> -- Package-specific info:
>
> *********************** BEGIN /proc/mounts
> /dev/sda2 / ext4 rw,relatime,errors=remount-ro 0 0
> /dev/sda1 /boot/efi vfat rw,relatime,fmask=0077,dmask=0077,codepage=437,iocharset=ascii,shortname=mixed,utf8,errors=remount-ro 0 0
> *********************** END /proc/mounts
>
> *********************** 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 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  7d9badd3-db30-4b48-901f-cedca15e9902
> else
>   search --no-floppy --fs-uuid --set=root 7d9badd3-db30-4b48-901f-cedca15e9902
> fi
>     font="/usr/share/grub/unicode.pf2"
> fi
>
> if loadfont $font ; then
>   set gfxmode=auto
>   load_video
>   insmod gfxterm
>   set locale_dir=$prefix/locale
>   set lang=C
>   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 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  7d9badd3-db30-4b48-901f-cedca15e9902
> else
>   search --no-floppy --fs-uuid --set=root 7d9badd3-db30-4b48-901f-cedca15e9902
> fi
> insmod png
> if background_image /usr/share/desktop-base/emerald-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=
> export linux_gfx_mode
> menuentry 'Debian GNU/Linux' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-7d9badd3-db30-4b48-901f-cedca15e9902' {
>         load_video
>         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  7d9badd3-db30-4b48-901f-cedca15e9902
>         else
>           search --no-floppy --fs-uuid --set=root 7d9badd3-db30-4b48-901f-cedca15e9902
>         fi
>         echo    'Loading Linux 6.5.0-4-amd64 ...'
>         linux   /boot/vmlinuz-6.5.0-4-amd64 root=UUID=7d9badd3-db30-4b48-901f-cedca15e9902 ro  quiet psmouse.synaptics_intertouch=0
>         echo    'Loading initial ramdisk ...'
>         initrd  /boot/initrd.img-6.5.0-4-amd64
> }
> submenu 'Advanced options for Debian GNU/Linux' $menuentry_id_option 'gnulinux-advanced-7d9badd3-db30-4b48-901f-cedca15e9902' {
>         menuentry 'Debian GNU/Linux, with Linux 6.5.0-4-amd64' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-6.5.0-4-amd64-advanced-7d9badd3-db30-4b48-901f-cedca15e9902' {
>                 load_video
>                 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  7d9badd3-db30-4b48-901f-cedca15e9902
>                 else
>                   search --no-floppy --fs-uuid --set=root 7d9badd3-db30-4b48-901f-cedca15e9902
>                 fi
>                 echo    'Loading Linux 6.5.0-4-amd64 ...'
>                 linux   /boot/vmlinuz-6.5.0-4-amd64 root=UUID=7d9badd3-db30-4b48-901f-cedca15e9902 ro  quiet psmouse.synaptics_intertouch=0
>                 echo    'Loading initial ramdisk ...'
>                 initrd  /boot/initrd.img-6.5.0-4-amd64
>         }
>         menuentry 'Debian GNU/Linux, with Linux 6.5.0-4-amd64 (recovery mode)' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-6.5.0-4-amd64-recovery-7d9badd3-db30-4b48-901f-cedca15e9902' {
>                 load_video
>                 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  7d9badd3-db30-4b48-901f-cedca15e9902
>                 else
>                   search --no-floppy --fs-uuid --set=root 7d9badd3-db30-4b48-901f-cedca15e9902
>                 fi
>                 echo    'Loading Linux 6.5.0-4-amd64 ...'
>                 linux   /boot/vmlinuz-6.5.0-4-amd64 root=UUID=7d9badd3-db30-4b48-901f-cedca15e9902 ro single
>                 echo    'Loading initial ramdisk ...'
>                 initrd  /boot/initrd.img-6.5.0-4-amd64
>         }
>         menuentry 'Debian GNU/Linux, with Linux 6.4.0-3-amd64' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-6.4.0-3-amd64-advanced-7d9badd3-db30-4b48-901f-cedca15e9902' {
>                 load_video
>                 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  7d9badd3-db30-4b48-901f-cedca15e9902
>                 else
>                   search --no-floppy --fs-uuid --set=root 7d9badd3-db30-4b48-901f-cedca15e9902
>                 fi
>                 echo    'Loading Linux 6.4.0-3-amd64 ...'
>                 linux   /boot/vmlinuz-6.4.0-3-amd64 root=UUID=7d9badd3-db30-4b48-901f-cedca15e9902 ro  quiet psmouse.synaptics_intertouch=0
>                 echo    'Loading initial ramdisk ...'
>                 initrd  /boot/initrd.img-6.4.0-3-amd64
>         }
>         menuentry 'Debian GNU/Linux, with Linux 6.4.0-3-amd64 (recovery mode)' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-6.4.0-3-amd64-recovery-7d9badd3-db30-4b48-901f-cedca15e9902' {
>                 load_video
>                 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  7d9badd3-db30-4b48-901f-cedca15e9902
>                 else
>                   search --no-floppy --fs-uuid --set=root 7d9badd3-db30-4b48-901f-cedca15e9902
>                 fi
>                 echo    'Loading Linux 6.4.0-3-amd64 ...'
>                 linux   /boot/vmlinuz-6.4.0-3-amd64 root=UUID=7d9badd3-db30-4b48-901f-cedca15e9902 ro single
>                 echo    'Loading initial ramdisk ...'
>                 initrd  /boot/initrd.img-6.4.0-3-amd64
>         }
>         menuentry 'Debian GNU/Linux, with Linux 6.1.0-10-amd64' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-6.1.0-10-amd64-advanced-7d9badd3-db30-4b48-901f-cedca15e9902' {
>                 load_video
>                 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  7d9badd3-db30-4b48-901f-cedca15e9902
>                 else
>                   search --no-floppy --fs-uuid --set=root 7d9badd3-db30-4b48-901f-cedca15e9902
>                 fi
>                 echo    'Loading Linux 6.1.0-10-amd64 ...'
>                 linux   /boot/vmlinuz-6.1.0-10-amd64 root=UUID=7d9badd3-db30-4b48-901f-cedca15e9902 ro  quiet psmouse.synaptics_intertouch=0
>                 echo    'Loading initial ramdisk ...'
>                 initrd  /boot/initrd.img-6.1.0-10-amd64
>         }
>         menuentry 'Debian GNU/Linux, with Linux 6.1.0-10-amd64 (recovery mode)' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-6.1.0-10-amd64-recovery-7d9badd3-db30-4b48-901f-cedca15e9902' {
>                 load_video
>                 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  7d9badd3-db30-4b48-901f-cedca15e9902
>                 else
>                   search --no-floppy --fs-uuid --set=root 7d9badd3-db30-4b48-901f-cedca15e9902
>                 fi
>                 echo    'Loading Linux 6.1.0-10-amd64 ...'
>                 linux   /boot/vmlinuz-6.1.0-10-amd64 root=UUID=7d9badd3-db30-4b48-901f-cedca15e9902 ro single
>                 echo    'Loading initial ramdisk ...'
>                 initrd  /boot/initrd.img-6.1.0-10-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/25_bli ###
> if [ "$grub_platform" = "efi" ]; then
>   insmod bli
> fi
> ### END /etc/grub.d/25_bli ###
>
> ### BEGIN /etc/grub.d/30_os-prober ###
> ### END /etc/grub.d/30_os-prober ###
>
> ### BEGIN /etc/grub.d/30_uefi-firmware ###
> menuentry 'UEFI Firmware Settings' $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
> Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
> unused devices: <none>
> *********************** END /proc/mdstat
>
> *********************** BEGIN LVM
> *********************** END LVM
>
> *********************** BEGIN /dev/disk/by-id
> total 0
> lrwxrwxrwx 1 root root  9 Nov 25 13:11 ata-SAMSUNG_MZ7LN128HCHP-000L1_S1ZMNXAGB59830 -> ../../sda
> lrwxrwxrwx 1 root root 10 Nov 25 13:11 ata-SAMSUNG_MZ7LN128HCHP-000L1_S1ZMNXAGB59830-part1 -> ../../sda1
> lrwxrwxrwx 1 root root 10 Nov 25 13:11 ata-SAMSUNG_MZ7LN128HCHP-000L1_S1ZMNXAGB59830-part2 -> ../../sda2
> lrwxrwxrwx 1 root root 10 Nov 25 13:11 ata-SAMSUNG_MZ7LN128HCHP-000L1_S1ZMNXAGB59830-part3 -> ../../sda3
> lrwxrwxrwx 1 root root 10 Nov 25 13:11 ata-SAMSUNG_MZ7LN128HCHP-000L1_S1ZMNXAGB59830-part4 -> ../../sda4
> lrwxrwxrwx 1 root root  9 Nov 25 13:11 usb-SanDisk_Ultra_4C530001270212105552-0:0 -> ../../sdb
> lrwxrwxrwx 1 root root 10 Nov 25 13:11 usb-SanDisk_Ultra_4C530001270212105552-0:0-part1 -> ../../sdb1
> lrwxrwxrwx 1 root root 10 Nov 25 13:11 usb-SanDisk_Ultra_4C530001270212105552-0:0-part2 -> ../../sdb2
> lrwxrwxrwx 1 root root  9 Nov 25 13:11 wwn-0x5002538d00000000 -> ../../sda
> lrwxrwxrwx 1 root root 10 Nov 25 13:11 wwn-0x5002538d00000000-part1 -> ../../sda1
> lrwxrwxrwx 1 root root 10 Nov 25 13:11 wwn-0x5002538d00000000-part2 -> ../../sda2
> lrwxrwxrwx 1 root root 10 Nov 25 13:11 wwn-0x5002538d00000000-part3 -> ../../sda3
> lrwxrwxrwx 1 root root 10 Nov 25 13:11 wwn-0x5002538d00000000-part4 -> ../../sda4
> *********************** END /dev/disk/by-id
>
> *********************** BEGIN /dev/disk/by-uuid
> total 0
> lrwxrwxrwx 1 root root 10 Nov 25  2023 2023-10-07-10-32-09-00 -> ../../sdb1
> lrwxrwxrwx 1 root root 10 Nov 25 13:11 3c0e00d0-2f4f-4bd4-93ab-89c317415f1c -> ../../sda3
> lrwxrwxrwx 1 root root 10 Nov 25 13:11 7d9badd3-db30-4b48-901f-cedca15e9902 -> ../../sda2
> lrwxrwxrwx 1 root root 10 Nov 25 13:11 8A8B-ABC9 -> ../../sda1
> lrwxrwxrwx 1 root root 10 Nov 25 13:11 CC5C8EC95C8EADB0 -> ../../sda4
> lrwxrwxrwx 1 root root 10 Nov 25 13:11 DEB0-0001 -> ../../sdb2
> *********************** END /dev/disk/by-uuid
>
> -- System Information:
> Debian Release: trixie/sid
>   APT prefers stable
>   APT policy: (500, 'stable')
> Architecture: amd64 (x86_64)
> Foreign Architectures: i386
>
> Kernel: Linux 6.5.0-4-amd64 (SMP w/4 CPU threads; PREEMPT)
> Kernel taint flags: TAINT_UNSIGNED_MODULE
> Locale: LANG=en_CA.UTF-8, LC_CTYPE=en_CA.UTF-8 (charmap=UTF-8), LANGUAGE=en_CA:en
> Shell: /bin/sh linked to /usr/bin/dash
> Init: systemd (via /run/systemd/system)
> LSM: AppArmor: enabled
>
> Versions of packages grub-efi-amd64 depends on:
> ii  debconf [debconf-2.0]  1.5.82
> ii  grub-common            2.06-13
> ii  grub-efi-amd64-bin     2.06-13
> ii  grub2-common           2.06-13
> ii  ucf                    3.0043+nmu1
>
> grub-efi-amd64 recommends no packages.
>
> grub-efi-amd64 suggests no packages.
>
> -- debconf information:
>   grub2/kfreebsd_cmdline:
> * grub2/update_nvram: true
> * grub2/enable_os_prober: false
>   grub2/kfreebsd_cmdline_default: quiet
> * grub2/linux_cmdline_default: quiet psmouse.synaptics_intertouch=0
> * grub2/linux_cmdline:
> * grub2/force_efi_extra_removable: true
>   grub2/device_map_regenerated:
>
> _______________________________________________
> Pkg-grub-devel mailing list
> Pkg-grub-devel at alioth-lists.debian.net
> https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/pkg-grub-devel



More information about the Pkg-grub-devel mailing list