Bug#1134186: grub2-common: grub-mkconfig keeps a package that has been removed

Vincent Lefevre vincent at vinc17.net
Fri Apr 17 15:40:34 BST 2026


Package: grub2-common
Version: 2.14-2
Severity: normal

The following command shows that there are 3 kernels with
a menu entry:

  6.19.12+deb14-amd64
  6.19.11+deb14-amd64
  6.19.10+deb14-amd64

cventin:~> grep "menuentry 'Debian GNU/Linux, with Linux" /boot/grub/grub.cfg
menuentry 'Debian GNU/Linux, with Linux 6.19.12+deb14-amd64' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-6.19.12+deb14-amd64-advanced-4bcb3bbd-f516-4ddf-be96-6fa3a8cdc8a0' {
menuentry 'Debian GNU/Linux, with Linux 6.19.12+deb14-amd64 (recovery mode)' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-6.19.12+deb14-amd64-recovery-4bcb3bbd-f516-4ddf-be96-6fa3a8cdc8a0' {
menuentry 'Debian GNU/Linux, with Linux 6.19.11+deb14-amd64' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-6.19.11+deb14-amd64-advanced-4bcb3bbd-f516-4ddf-be96-6fa3a8cdc8a0' {
menuentry 'Debian GNU/Linux, with Linux 6.19.11+deb14-amd64 (recovery mode)' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-6.19.11+deb14-amd64-recovery-4bcb3bbd-f516-4ddf-be96-6fa3a8cdc8a0' {
menuentry 'Debian GNU/Linux, with Linux 6.19.10+deb14-amd64' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-6.19.10+deb14-amd64-advanced-4bcb3bbd-f516-4ddf-be96-6fa3a8cdc8a0' {
menuentry 'Debian GNU/Linux, with Linux 6.19.10+deb14-amd64 (recovery mode)' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-6.19.10+deb14-amd64-recovery-4bcb3bbd-f516-4ddf-be96-6fa3a8cdc8a0' {

But 6.19.10+deb14-amd64 was removed, and /boot now contains only:

-rw-r--r-- 1 root root       93 2026-04-05 08:17:47 System.map-6.19.11+deb14-amd64
-rw-r--r-- 1 root root       93 2026-04-13 20:58:30 System.map-6.19.12+deb14-amd64
-rw-r--r-- 1 root root   296476 2026-04-05 08:17:47 config-6.19.11+deb14-amd64
-rw-r--r-- 1 root root   296435 2026-04-13 20:58:30 config-6.19.12+deb14-amd64
drwxr-xr-x 5 root root     4096 2026-04-17 15:41:14 grub/
-rw-r--r-- 1 root root 79256785 2026-04-17 15:16:37 initrd.img-6.19.11+deb14-amd64
-rw-r--r-- 1 root root 79263420 2026-04-17 15:40:03 initrd.img-6.19.12+deb14-amd64
-rw-r--r-- 1 root root 13936576 2026-04-05 08:17:47 vmlinuz-6.19.11+deb14-amd64
-rw-r--r-- 1 root root 13940672 2026-04-13 20:58:30 vmlinuz-6.19.12+deb14-amd64

This problem appeared for the first time after I installed
linux-image-6.19.10+deb14-amd64 and removed
linux-image-6.19.6+deb14-amd64 on 2026-03-31.

There was no such issue when I installed linux-image-6.19.8+deb14-amd64
and removed linux-image-6.18.15+deb14-amd64 on 2026-03-19, also with
grub2 2.14-2.

-- Package-specific info:

*********************** BEGIN /proc/mounts
/dev/sda5 / ext4 rw,relatime,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 [ "${env_block}" ] ; then
  set env_block="(${root})${env_block}"
  export env_block
  load_env -f "${env_block}"
fi

if [ "${next_entry}" ] ; then
   set default="${next_entry}"
   set next_entry=
   if [ "${env_block}" ] ; then
     save_env -f "${env_block}" next_entry
   else
     save_env next_entry
   fi
   set boot_once=true
else
   set default="${saved_entry}"
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}"
    if [ "${env_block}" ] ; then
      save_env -f "${env_block}" saved_entry
    else
      save_env saved_entry
    fi

  fi
}
function load_video {
  if [ x$grub_platform = xefi ]; then
    insmod efi_gop
  elif [ x$feature_all_video_module = xy ]; then
    insmod all_video
  else
    insmod efi_gop
    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_msdos
insmod ext2
set root='hd0,msdos5'
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5  4bcb3bbd-f516-4ddf-be96-6fa3a8cdc8a0
else
  search --no-floppy --fs-uuid --set=root 4bcb3bbd-f516-4ddf-be96-6fa3a8cdc8a0
fi
    font="/usr/share/grub/unicode.pf2"
fi

if loadfont $font ; then
  set gfxmode=1024x768 640x480
  load_video
  insmod gfxterm
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_msdos
insmod ext2
set root='hd0,msdos5'
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5  4bcb3bbd-f516-4ddf-be96-6fa3a8cdc8a0
else
  search --no-floppy --fs-uuid --set=root 4bcb3bbd-f516-4ddf-be96-6fa3a8cdc8a0
fi
insmod png
if background_image "/usr/share/desktop-base/ceratopsian-theme/grub/grub-4x3.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 ###
set linux_gfx_mode=keep
export linux_gfx_mode
menuentry 'Debian GNU/Linux, with Linux 6.19.12+deb14-amd64' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-6.19.12+deb14-amd64-advanced-4bcb3bbd-f516-4ddf-be96-6fa3a8cdc8a0' {
	savedefault
	load_video
	set gfxpayload=$linux_gfx_mode
	insmod gzio
	if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
	insmod part_msdos
	insmod ext2
	set root='hd0,msdos5'
	if [ x$feature_platform_search_hint = xy ]; then
	  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5  4bcb3bbd-f516-4ddf-be96-6fa3a8cdc8a0
	else
	  search --no-floppy --fs-uuid --set=root 4bcb3bbd-f516-4ddf-be96-6fa3a8cdc8a0
	fi
	echo	'Loading Linux 6.19.12+deb14-amd64 ...'
	linux	/boot/vmlinuz-6.19.12+deb14-amd64 root=UUID=4bcb3bbd-f516-4ddf-be96-6fa3a8cdc8a0 ro  quiet
	echo	'Loading initial ramdisk ...'
	initrd	/boot/initrd.img-6.19.12+deb14-amd64
}
menuentry 'Debian GNU/Linux, with Linux 6.19.12+deb14-amd64 (recovery mode)' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-6.19.12+deb14-amd64-recovery-4bcb3bbd-f516-4ddf-be96-6fa3a8cdc8a0' {
	load_video
	set gfxpayload=$linux_gfx_mode
	insmod gzio
	if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
	insmod part_msdos
	insmod ext2
	set root='hd0,msdos5'
	if [ x$feature_platform_search_hint = xy ]; then
	  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5  4bcb3bbd-f516-4ddf-be96-6fa3a8cdc8a0
	else
	  search --no-floppy --fs-uuid --set=root 4bcb3bbd-f516-4ddf-be96-6fa3a8cdc8a0
	fi
	echo	'Loading Linux 6.19.12+deb14-amd64 ...'
	linux	/boot/vmlinuz-6.19.12+deb14-amd64 root=UUID=4bcb3bbd-f516-4ddf-be96-6fa3a8cdc8a0 ro single dis_ucode_ldr 
	echo	'Loading initial ramdisk ...'
	initrd	/boot/initrd.img-6.19.12+deb14-amd64
}
menuentry 'Debian GNU/Linux, with Linux 6.19.11+deb14-amd64' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-6.19.11+deb14-amd64-advanced-4bcb3bbd-f516-4ddf-be96-6fa3a8cdc8a0' {
	savedefault
	load_video
	set gfxpayload=$linux_gfx_mode
	insmod gzio
	if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
	insmod part_msdos
	insmod ext2
	set root='hd0,msdos5'
	if [ x$feature_platform_search_hint = xy ]; then
	  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5  4bcb3bbd-f516-4ddf-be96-6fa3a8cdc8a0
	else
	  search --no-floppy --fs-uuid --set=root 4bcb3bbd-f516-4ddf-be96-6fa3a8cdc8a0
	fi
	echo	'Loading Linux 6.19.11+deb14-amd64 ...'
	linux	/boot/vmlinuz-6.19.11+deb14-amd64 root=UUID=4bcb3bbd-f516-4ddf-be96-6fa3a8cdc8a0 ro  quiet
	echo	'Loading initial ramdisk ...'
	initrd	/boot/initrd.img-6.19.11+deb14-amd64
}
menuentry 'Debian GNU/Linux, with Linux 6.19.11+deb14-amd64 (recovery mode)' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-6.19.11+deb14-amd64-recovery-4bcb3bbd-f516-4ddf-be96-6fa3a8cdc8a0' {
	load_video
	set gfxpayload=$linux_gfx_mode
	insmod gzio
	if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
	insmod part_msdos
	insmod ext2
	set root='hd0,msdos5'
	if [ x$feature_platform_search_hint = xy ]; then
	  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5  4bcb3bbd-f516-4ddf-be96-6fa3a8cdc8a0
	else
	  search --no-floppy --fs-uuid --set=root 4bcb3bbd-f516-4ddf-be96-6fa3a8cdc8a0
	fi
	echo	'Loading Linux 6.19.11+deb14-amd64 ...'
	linux	/boot/vmlinuz-6.19.11+deb14-amd64 root=UUID=4bcb3bbd-f516-4ddf-be96-6fa3a8cdc8a0 ro single dis_ucode_ldr 
	echo	'Loading initial ramdisk ...'
	initrd	/boot/initrd.img-6.19.11+deb14-amd64
}
menuentry 'Debian GNU/Linux, with Linux 6.19.10+deb14-amd64' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-6.19.10+deb14-amd64-advanced-4bcb3bbd-f516-4ddf-be96-6fa3a8cdc8a0' {
	savedefault
	load_video
	set gfxpayload=$linux_gfx_mode
	insmod gzio
	if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
	insmod part_msdos
	insmod ext2
	set root='hd0,msdos5'
	if [ x$feature_platform_search_hint = xy ]; then
	  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5  4bcb3bbd-f516-4ddf-be96-6fa3a8cdc8a0
	else
	  search --no-floppy --fs-uuid --set=root 4bcb3bbd-f516-4ddf-be96-6fa3a8cdc8a0
	fi
	echo	'Loading Linux 6.19.10+deb14-amd64 ...'
	linux	/boot/vmlinuz-6.19.10+deb14-amd64 root=/dev/sda5 ro  quiet
}
menuentry 'Debian GNU/Linux, with Linux 6.19.10+deb14-amd64 (recovery mode)' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-6.19.10+deb14-amd64-recovery-4bcb3bbd-f516-4ddf-be96-6fa3a8cdc8a0' {
	load_video
	set gfxpayload=$linux_gfx_mode
	insmod gzio
	if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
	insmod part_msdos
	insmod ext2
	set root='hd0,msdos5'
	if [ x$feature_platform_search_hint = xy ]; then
	  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5  4bcb3bbd-f516-4ddf-be96-6fa3a8cdc8a0
	else
	  search --no-floppy --fs-uuid --set=root 4bcb3bbd-f516-4ddf-be96-6fa3a8cdc8a0
	fi
	echo	'Loading Linux 6.19.10+deb14-amd64 ...'
	linux	/boot/vmlinuz-6.19.10+deb14-amd64 root=/dev/sda5 ro single dis_ucode_ldr 
}

### 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 ###
if [ "$grub_platform" = "efi" ]; then
	fwsetup --is-supported
	if [ "$?" = 0 ]; then
		menuentry 'UEFI Firmware Settings' $menuentry_id_option 'uefi-firmware' {
			fwsetup
		}
	fi
fi
### 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

*********************** BEGIN /dev/disk/by-id
total 0
lrwxrwxrwx 1 root root  9 2026-04-17 15:49:24 ata-HL-DT-ST_DVD+_-RW_GHB0N_K74ECIG5041 -> ../../sr1
lrwxrwxrwx 1 root root  9 2026-04-17 15:49:28 ata-HL-DT-ST_DVD+_-RW_GTA0N_KZIF4DG4119 -> ../../sr0
lrwxrwxrwx 1 root root  9 2026-04-17 15:49:23 ata-SK_hynix_SH920_2.5_7MM_512GB_1I45N12261160645N -> ../../sda
lrwxrwxrwx 1 root root 10 2026-04-17 15:49:23 ata-SK_hynix_SH920_2.5_7MM_512GB_1I45N12261160645N-part1 -> ../../sda1
lrwxrwxrwx 1 root root 10 2026-04-17 15:49:23 ata-SK_hynix_SH920_2.5_7MM_512GB_1I45N12261160645N-part2 -> ../../sda2
lrwxrwxrwx 1 root root 10 2026-04-17 15:49:23 ata-SK_hynix_SH920_2.5_7MM_512GB_1I45N12261160645N-part3 -> ../../sda3
lrwxrwxrwx 1 root root 10 2026-04-17 15:49:23 ata-SK_hynix_SH920_2.5_7MM_512GB_1I45N12261160645N-part5 -> ../../sda5
lrwxrwxrwx 1 root root 10 2026-04-17 15:49:23 ata-SK_hynix_SH920_2.5_7MM_512GB_1I45N12261160645N-part6 -> ../../sda6
lrwxrwxrwx 1 root root  9 2026-04-17 15:49:24 wwn-0x5001480000000000 -> ../../sr1
*********************** END /dev/disk/by-id

*********************** BEGIN /dev/disk/by-uuid
total 0
lrwxrwxrwx 1 root root 10 2026-04-17 15:49:23 3a31982a-76fe-493b-a6b0-a627706c26c7 -> ../../sda6
lrwxrwxrwx 1 root root 10 2026-04-17 15:49:23 4bcb3bbd-f516-4ddf-be96-6fa3a8cdc8a0 -> ../../sda5
lrwxrwxrwx 1 root root 10 2026-04-17 15:49:23 5450-4444 -> ../../sda1
lrwxrwxrwx 1 root root 10 2026-04-17 15:49:23 F07B-1091 -> ../../sda2
*********************** END /dev/disk/by-uuid

-- System Information:
Debian Release: forky/sid
  APT prefers unstable-debug
  APT policy: (500, 'unstable-debug'), (500, 'stable-updates'), (500, 'stable-security'), (500, 'stable-debug'), (500, 'proposed-updates-debug'), (500, 'unstable'), (500, 'testing'), (500, 'stable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 6.19.12+deb14-amd64 (SMP w/12 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=C.UTF-8, LC_CTYPE=C.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  gettext-base        0.23.2-2
ii  libc6               2.42-14
ii  libdevmapper1.02.1  2:1.02.205-2
ii  libefiboot1t64      39-2
ii  libefivar1t64       39-2
ii  libfreetype6        2.14.3+dfsg-1
ii  libfuse3-4          3.18.2-1
ii  liblzma5            5.8.3-1

Versions of packages grub2-common recommends:
ii  os-prober  1.84

Versions of packages grub2-common suggests:
ii  console-setup  1.247
ii  desktop-base   14.0.0~pre3
pn  grub-emu       <none>
pn  mtools         <none>
pn  multiboot-doc  <none>
pn  xorriso        <none>

-- no debconf information

-- 
Vincent Lefèvre <vincent at vinc17.net> - Web: <https://www.vinc17.net/>
100% accessible validated (X)HTML - Blog: <https://www.vinc17.net/blog/>
Work: CR INRIA - computer arithmetic / Pascaline project (LIP, ENS-Lyon)



More information about the Pkg-grub-devel mailing list