Grub looses menu entry after kernel update

My entries were added using Yast.

So this bug still hasn’t been fixed yet.

1c1
< # Modified by YaST2. Last modification on Thu Oct 28 00:31:20 PDT 2010
---
> # Modified by YaST2. Last modification on Mon Jan  3 06:21:12 PST 2011
5c5
< default 2
---
> default 0
10,15c10
< title openSUSE 11.3 (Teal) - kernel 2.6.34.7-0.5 (Desktop)
<     partnew (hd0,0) 0x06         63     514017
<     partnew (hd0,1) 0xA5   73947195  285282270
<     partnew (hd0,2) 0xA5  361398240  100663290
<     partnew (hd1,1) 0xA5   18539010  534016665 
<     partnew (hd1,2) 0xA5  554724450   79698465 
---
> title Desktop -- openSUSE 11.3 - 2.6.34.7-0.7
17,18c12,13
<     kernel /boot/vmlinuz-2.6.34.7-0.5-desktop root=/dev/disk/by-uuid/4946e10e-d727-42fb-9ce4-2d09d49d6a52 resume=/dev/disk/by-uuid/ba9db764-a47e-48d9-b6f9-b627b57c0287 splash=silent quiet showopts vga=0x31a
<     initrd /boot/initrd-2.6.34.7-0.5-desktop
---
>     kernel /boot/vmlinuz-2.6.34.7-0.7-desktop root=/dev/disk/by-uuid/4946e10e-d727-42fb-9ce4-2d09d49d6a52 resume=/dev/disk/by-uuid/ba9db764-a47e-48d9-b6f9-b627b57c0287 splash=silent quiet showopts vga=0x31a
>     initrd /boot/initrd-2.6.34.7-0.7-desktop
20,26c15,16
< ###Don't change this comment - YaST2 identifier: Original name: linux###
< title openSUSE 11.3 (Teal) - kernel 2.6.34.7-0.5 (Default)
<     partnew (hd0,0) 0x06         63     514017
<     partnew (hd0,1) 0xA5   73947195  285282270
<     partnew (hd0,2) 0xA5  361398240  100663290
<     partnew (hd1,1) 0xA5   18539010  534016665 
<     partnew (hd1,2) 0xA5  554724450   79698465 
---
> ###Don't change this comment - YaST2 identifier: Original name: failsafe###
> title Failsafe -- openSUSE 11.3 - 2.6.34.7-0.7 (desktop)
28,29c18,19
<     kernel /boot/vmlinuz-2.6.34.7-0.5-default root=/dev/disk/by-uuid/4946e10e-d727-42fb-9ce4-2d09d49d6a52 resume=/dev/disk/by-uuid/ba9db764-a47e-48d9-b6f9-b627b57c0287 splash=silent quiet showopts vga=0x31a
<     initrd /boot/initrd-2.6.34.7-0.5-default
---
>     kernel /boot/vmlinuz-2.6.34.7-0.7-desktop root=/dev/disk/by-uuid/4946e10e-d727-42fb-9ce4-2d09d49d6a52 showopts apm=off noresume edd=off powersaved=off nohz=off highres=off processor.max_cstate=1 nomodeset x11failsafe vga=0x31a
>     initrd /boot/initrd-2.6.34.7-0.7-desktop
31,32c21,22
< ###Don't change this comment - YaST2 identifier: Original name: failsafe###
< title openSUSE 11.3 (Teal) - kernel 2.6.34.7-0.5 (Desktop - Failsafe)
---
> ###Don't change this comment - YaST2 identifier: Original name: linux###
> title openSUSE 11.3 - 2.6.34.7-0.7
34,35c24,25
<     kernel /boot/vmlinuz-2.6.34.7-0.5-desktop root=/dev/disk/by-uuid/4946e10e-d727-42fb-9ce4-2d09d49d6a52 showopts apm=off noresume edd=off powersaved=off nohz=off highres=off processor.max_cstate=1 nomodeset x11failsafe vga=0x31a
<     initrd /boot/initrd-2.6.34.7-0.5-desktop
---
>     kernel /boot/vmlinuz-2.6.34.7-0.7-default root=/dev/disk/by-uuid/4946e10e-d727-42fb-9ce4-2d09d49d6a52 resume=/dev/disk/by-uuid/ba9db764-a47e-48d9-b6f9-b627b57c0287 splash=silent quiet showopts vga=0x31a
>     initrd /boot/initrd-2.6.34.7-0.7-default
38c28
< title openSUSE 11.3 (Teal) - kernel 2.6.34.7-0.5 (Default - Failsafe)
---
> title Failsafe -- openSUSE 11.3 - 2.6.34.7-0.7 (default)
40,102c30,31
<     kernel /boot/vmlinuz-2.6.34.7-0.5-default root=/dev/disk/by-uuid/4946e10e-d727-42fb-9ce4-2d09d49d6a52 showopts apm=off noresume edd=off powersaved=off nohz=off highres=off processor.max_cstate=1 nomodeset x11failsafe vga=0x31a
<     initrd /boot/initrd-2.6.34.7-0.5-default
< 
< 
< ###Don't change this comment - YaST2 identifier: Original name: Ubuntu###
< title Ubuntu 10.10 (maverick) - kernel 2.6.35-24-generic
<     partnew (hd0,0) 0x06         63     514017
<     partnew (hd0,1) 0xA5   73947195  285282270
<     partnew (hd0,2) 0xA5  361398240  100663290
<     partnew (hd1,1) 0xA5   18539010  534016665 
<     partnew (hd1,2) 0xA5  554724450   79698465 
<     root (hd0,5)
<     kernel /boot/vmlinuz-2.6.35-24-generic root=UUID=5adac0e4-5c27-4292-a8dc-cd86cb806951 ro vga=794
<     initrd /boot/initrd.img-2.6.35-24-generic
< 
< 
< ###Don't change this comment - YaST2 identifier: Original name: MandrivaOld###
< title Mandriva 2010.1 (Farman) - kernel 2.6.33.7-69
<     partnew (hd0,0) 0x06         63     514017
<     partnew (hd0,1) 0xA5   73947195  285282270
<     partnew (hd0,2) 0xA5  361398240  100663290
<     partnew (hd1,1) 0xA5   18539010  534016665 
<     partnew (hd1,2) 0xA5  554724450   79698465 
<     root (hd1,5)
<     kernel /boot/vmlinuz-2.6.33.7-desktop-69mib BOOT_IMAGE=2.6.33.7-desktop-69mib root=UUID=4ecf3517-c7e9-47a1-8930-13a4e188e730 resume=UUID=ba9db764-a47e-48d9-b6f9-b627b57c0287 splash=silent vga=794 
<     initrd /boot/initrd-2.6.33.7-desktop-69mib.img
< 
< 
< ###Don't change this comment - YaST2 identifier: Original name: Mandriva###
< title Mandriva 2010.1 (Farman) - kernel 2.6.33.7-2
<     partnew (hd0,0) 0x06         63     514017
<     partnew (hd0,1) 0xA5   73947195  285282270
<     partnew (hd0,2) 0xA5  361398240  100663290
<     partnew (hd1,1) 0xA5   18539010  534016665 
<     partnew (hd1,2) 0xA5  554724450   79698465 
<     root (hd1,5)
<     kernel /boot/vmlinuz-2.6.33.7-desktop-2mnb BOOT_IMAGE=desktop_2.6.33.7-2 root=UUID=4ecf3517-c7e9-47a1-8930-13a4e188e730 resume=UUID=ba9db764-a47e-48d9-b6f9-b627b57c0287 splash=silent vga=794
<     initrd /boot/initrd-2.6.33.7-desktop-2mnb.img
< 
< 
< ###Don't change this comment - YaST2 identifier: Original name: Arch###
< title Arch Linux - kernel 2.6.36.2-1
<     partnew (hd0,0) 0x06         63     514017
<     partnew (hd0,1) 0xA5   73947195  285282270
<     partnew (hd0,2) 0xA5  361398240  100663290
<     partnew (hd1,1) 0xA5   18539010  534016665 
<     partnew (hd1,2) 0xA5  554724450   79698465 
<     root   (hd0,14)
<     kernel /boot/vmlinuz26 root=/dev/disk/by-uuid/23c64367-0f52-4195-881b-1e25854ad5a5 ro vga=794
<     initrd /boot/kernel26.img
< 
< 
< ###Don't change this comment - YaST2 identifier: Original name: Debian###
< title Debian GNU/Linux, kernel 2.6.32-3-amd64
<     partnew (hd0,0) 0x06         63     514017
<     partnew (hd0,1) 0xA5   73947195  285282270
<     partnew (hd0,2) 0xA5  361398240  100663290
<     partnew (hd1,1) 0xA5   18539010  534016665 
<     partnew (hd1,2) 0xA5  554724450   79698465 
<     root (hd0,18)
<     kernel /boot/vmlinuz-2.6.32-3-amd64 root=UUID=30eac80e-8574-46fb-a4ee-ec2a2ee453f9 ro vga=794
<     initrd /boot/initrd.img-2.6.32-3-amd64
< 
---
>     kernel /boot/vmlinuz-2.6.34.7-0.7-default root=/dev/disk/by-uuid/4946e10e-d727-42fb-9ce4-2d09d49d6a52 showopts apm=off noresume edd=off powersaved=off nohz=off highres=off processor.max_cstate=1 nomodeset x11failsafe vga=0x31a
>     initrd /boot/initrd-2.6.34.7-0.7-default

The stuff in darkred has been removed as part of the kernel update. This is normal. But (scroll down!), all the stuff in bright red has been deleted: all non-openSUSE kernel boot entries. This is not expected. Well, I was expecting that but I mean this is not desired. As “usual” chainloader entries remained untouched, as shown below:

###Don't change this comment - YaST2 identifier: Original name: UbuntuGrub###
title Ubuntu Grub
    root (hd0)
    chainloader +1

###Don't change this comment - YaST2 identifier: Original name: MandrivaGrub###
title Mandriva Grub
    root (hd1,5)
    chainloader +1

###Don't change this comment - YaST2 identifier: Original name: ArchGrub###
title Arch Grub
    root (hd0,14)
    chainloader +1

###Don't change this comment - YaST2 identifier: Original name: DebianGrub###
title Debian Grub
    root (hd0,18)
    chainloader +1

###Don't change this comment - YaST2 identifier: Original name: OpenBSD###
title OpenBSD 4.7
    partnew (hd0,0) 0x06         63     514017 
    partnew (hd0,1) 0xA6  317283750   41945715
    partnew (hd0,2) 0xA9  411729885   50331645
    partnew (hd1,1) 0xA6  510609960   41945715
    partnew (hd1,2) 0xA9  605056095   29366820
    rootnoverify (hd0,1)
    makeactive
    chainloader +1
 .../...

I’ve been updated three systems now and it hit them all … I know it will hit the others too and it will keep me busy for a while. :frowning:

I you’re dual or multi booting directly other Linux kernels from openSUSE Grub, always backup your /boot/grub/menu.lst before updating the kernel.

I found the cause … and half of the solution. /sbin/update-bootloader, which is called by /usr/lib/bootloader/bootloader_entry, any time you install/deinstall a kernel is the culprit. See a more detailled explanation in this post: updategrub for openSUSE Legacy Grub (not update-grub!)