#1134186 grub2-common: grub-mkconfig keeps a menu entry for a kernel whose initrd.img has been removed

Package:
grub2-common
Source:
grub2-common
Description:
GRand Unified Bootloader (common files for version 2)
Submitter:
Vincent Lefevre
Date:
2026-04-17 15:43:02 UTC
Severity:
normal
#1134186#5
Date:
2026-04-17 14:40:34 UTC
From:
To:
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:

#1134186#10
Date:
2026-04-17 15:00:48 UTC
From:
To:
On a different machine, which still has grub2 2.12-9, there is the
same issue:

disset:~> grep "menuentry 'Debian GNU/Linux, with Linux" /boot/grub/grub.cfg
        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-d0d6b264-7587-42d0-81f6-18e89ce77d2d' {
        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-d0d6b264-7587-42d0-81f6-18e89ce77d2d' {
        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-d0d6b264-7587-42d0-81f6-18e89ce77d2d' {
        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-d0d6b264-7587-42d0-81f6-18e89ce77d2d' {

but /boot contains only

#1134186#19
Date:
2026-04-17 15:07:20 UTC
From:
To:
May this be a duplicate of #1131558 #1132517 #1132888 ?
#1134186#24
Date:
2026-04-17 15:40:39 UTC
From:
To:
Well, I think that if the initrd.img is removed, the menu entry
should be removed too, because the kernel is already no longer
usable.