PDA

View Full Version : [ubuntu] No Grub2 change after kernel update



FokkerCharlie
December 6th, 2009, 10:13 AM
Hello!

Earlier today, I installed the upgrades offered by Update Manager, including a new kernel image (2.6.31-16), which was fine. On rebooting, I noticed that Grub2 is still only offering 2.6.31.14 on boot.

sudo update-grub emits:


Searching for GRUB installation directory ... found: /boot/grub
Searching for default file ... found: /boot/grub/default
Testing for an existing GRUB menu.lst file ... found: /boot/grub/menu.lst
Searching for splash image ... none found, skipping ...
Found kernel: /boot/vmlinuz-2.6.31-16-generic
Found kernel: /boot/vmlinuz-2.6.31-15-generic
Found kernel: /boot/vmlinuz-2.6.31-14-generic
Found GRUB 2: /boot/grub/core.img
Found kernel: /boot/memtest86+.bin
Updating /boot/grub/menu.lst ... done


Which looks OK to me... but maybe I should be running update-grub2.. which is not installed.

grub-mkconfig also looks like it's working correctly:


$ sudo grub-mkconfig
Generating grub.cfg ...
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by /usr/sbin/grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#

### BEGIN /etc/grub.d/00_header ###
if [ -s /boot/grub/grubenv ]; then
have_grubenv=true
load_env
fi
set default="0"
if [ ${prev_saved_entry} ]; then
saved_entry=${prev_saved_entry}
save_env saved_entry
prev_saved_entry=
save_env prev_saved_entry
fi
insmod ext2
set root=(hd0,5)
search --no-floppy --fs-uuid --set 290d055b-724c-4098-a60c-d3e16e7f7081
if loadfont /usr/share/grub/unicode.pf2 ; then
set gfxmode=1024x768
insmod gfxterm
insmod vbe
if terminal_output gfxterm ; then true ; else
# For backward compatibility with versions of terminal.mod that don't
# understand terminal_output
terminal gfxterm
fi
fi
if [ ${recordfail} = 1 ]; then
set timeout=-1
else
set timeout=10
fi
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/05_debian_theme ###
set menu_color_normal=white/black
set menu_color_highlight=black/white
### END /etc/grub.d/05_debian_theme ###

### BEGIN /etc/grub.d/10_linux ###
Found linux image: /boot/vmlinuz-2.6.31-16-generic
Found initrd image: /boot/initrd.img-2.6.31-16-generic
menuentry "Ubuntu, Linux 2.6.31-16-generic" {
recordfail=1
if [ -n ${have_grubenv} ]; then save_env recordfail; fi
set quiet=1
insmod ext2
set root=(hd0,5)
search --no-floppy --fs-uuid --set 290d055b-724c-4098-a60c-d3e16e7f7081
linux /boot/vmlinuz-2.6.31-16-generic root=UUID=290d055b-724c-4098-a60c-d3e16e7f7081 ro splash quiet vga=773 pci=routeirq quiet splash pci=routeirq
initrd /boot/initrd.img-2.6.31-16-generic
}
menuentry "Ubuntu, Linux 2.6.31-16-generic (recovery mode)" {
recordfail=1
if [ -n ${have_grubenv} ]; then save_env recordfail; fi
insmod ext2
set root=(hd0,5)
search --no-floppy --fs-uuid --set 290d055b-724c-4098-a60c-d3e16e7f7081
linux /boot/vmlinuz-2.6.31-16-generic root=UUID=290d055b-724c-4098-a60c-d3e16e7f7081 ro single splash quiet vga=773 pci=routeirq
initrd /boot/initrd.img-2.6.31-16-generic
}
Found linux image: /boot/vmlinuz-2.6.31-15-generic
Found initrd image: /boot/initrd.img-2.6.31-15-generic
menuentry "Ubuntu, Linux 2.6.31-15-generic" {
recordfail=1
if [ -n ${have_grubenv} ]; then save_env recordfail; fi
set quiet=1
insmod ext2
set root=(hd0,5)
search --no-floppy --fs-uuid --set 290d055b-724c-4098-a60c-d3e16e7f7081
linux /boot/vmlinuz-2.6.31-15-generic root=UUID=290d055b-724c-4098-a60c-d3e16e7f7081 ro splash quiet vga=773 pci=routeirq quiet splash pci=routeirq
initrd /boot/initrd.img-2.6.31-15-generic
}
menuentry "Ubuntu, Linux 2.6.31-15-generic (recovery mode)" {
recordfail=1
if [ -n ${have_grubenv} ]; then save_env recordfail; fi
insmod ext2
set root=(hd0,5)
search --no-floppy --fs-uuid --set 290d055b-724c-4098-a60c-d3e16e7f7081
linux /boot/vmlinuz-2.6.31-15-generic root=UUID=290d055b-724c-4098-a60c-d3e16e7f7081 ro single splash quiet vga=773 pci=routeirq
initrd /boot/initrd.img-2.6.31-15-generic
}
Found linux image: /boot/vmlinuz-2.6.31-14-generic
Found initrd image: /boot/initrd.img-2.6.31-14-generic
menuentry "Ubuntu, Linux 2.6.31-14-generic" {
recordfail=1
if [ -n ${have_grubenv} ]; then save_env recordfail; fi
set quiet=1
insmod ext2
set root=(hd0,5)
search --no-floppy --fs-uuid --set 290d055b-724c-4098-a60c-d3e16e7f7081
linux /boot/vmlinuz-2.6.31-14-generic root=UUID=290d055b-724c-4098-a60c-d3e16e7f7081 ro splash quiet vga=773 pci=routeirq quiet splash pci=routeirq
initrd /boot/initrd.img-2.6.31-14-generic
}
menuentry "Ubuntu, Linux 2.6.31-14-generic (recovery mode)" {
recordfail=1
if [ -n ${have_grubenv} ]; then save_env recordfail; fi
insmod ext2
set root=(hd0,5)
search --no-floppy --fs-uuid --set 290d055b-724c-4098-a60c-d3e16e7f7081
linux /boot/vmlinuz-2.6.31-14-generic root=UUID=290d055b-724c-4098-a60c-d3e16e7f7081 ro single splash quiet vga=773 pci=routeirq
initrd /boot/initrd.img-2.6.31-14-generic
}
### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/20_memtest86+ ###
Found memtest86+ image: /boot/memtest86+.bin
menuentry "Memory test (memtest86+)" {
linux16 /boot/memtest86+.bin
}
menuentry "Memory test (memtest86+, serial console 115200)" {
linux16 /boot/memtest86+.bin console=ttyS0,115200n8
}
### END /etc/grub.d/20_memtest86+ ###

### BEGIN /etc/grub.d/30_os-prober ###
Found Windows Vista (loader) on /dev/sda1
menuentry "Windows Vista (loader) (on /dev/sda1)" {
insmod ntfs
set root=(hd0,1)
search --no-floppy --fs-uuid --set 42c0126ec0126885
chainloader +1
}
### END /etc/grub.d/30_os-prober ###

### 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 ###
done

But to no good effect on reboot.

What's going on here?

Cheers!
Charlie

FokkerCharlie
December 6th, 2009, 11:45 AM
Quick bit of extra info-

The above output from grub-mkconfig looks OK to me, but is not reflected in /boot/grub/grub.cfg:


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

### BEGIN /etc/grub.d/00_header ###
if [ -s /boot/grub/grubenv ]; then
have_grubenv=true
load_env
fi
set default="0"
if [ ${prev_saved_entry} ]; then
saved_entry=${prev_saved_entry}
save_env saved_entry
prev_saved_entry=
save_env prev_saved_entry
fi
insmod ext2
set root=(hd0,5)
search --no-floppy --fs-uuid --set 290d055b-724c-4098-a60c-d3e16e7f7081
if loadfont /usr/share/grub/unicode.pf2 ; then
set gfxmode=640x480
insmod gfxterm
insmod vbe
if terminal_output gfxterm ; then true ; else
# For backward compatibility with versions of terminal.mod that don't
# understand terminal_output
terminal gfxterm
fi
fi
if [ ${recordfail} = 1 ]; then
set timeout=-1
else
set timeout=10
fi
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/05_debian_theme ###
set menu_color_normal=white/black
set menu_color_highlight=black/white
### END /etc/grub.d/05_debian_theme ###

### BEGIN /etc/grub.d/10_linux ###
menuentry "Ubuntu, Linux 2.6.31-14-generic" {
recordfail=1
if [ -n ${have_grubenv} ]; then save_env recordfail; fi
set quiet=1
insmod ext2
set root=(hd0,5)
search --no-floppy --fs-uuid --set 290d055b-724c-4098-a60c-d3e16e7f7081
linux /boot/vmlinuz-2.6.31-14-generic root=UUID=290d055b-724c-4098-a60c-d3e16e7f7081 ro quiet splash
initrd /boot/initrd.img-2.6.31-14-generic
}
menuentry "Ubuntu, Linux 2.6.31-14-generic (recovery mode)" {
recordfail=1
if [ -n ${have_grubenv} ]; then save_env recordfail; fi
insmod ext2
set root=(hd0,5)
search --no-floppy --fs-uuid --set 290d055b-724c-4098-a60c-d3e16e7f7081
linux /boot/vmlinuz-2.6.31-14-generic root=UUID=290d055b-724c-4098-a60c-d3e16e7f7081 ro single
initrd /boot/initrd.img-2.6.31-14-generic
}
### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/20_memtest86+ ###
menuentry "Memory test (memtest86+)" {
linux16 /boot/memtest86+.bin
}
menuentry "Memory test (memtest86+, serial console 115200)" {
linux16 /boot/memtest86+.bin console=ttyS0,115200n8
}
### END /etc/grub.d/20_memtest86+ ###

### BEGIN /etc/grub.d/30_os-prober ###
menuentry "Windows Vista (loader) (on /dev/sda1)" {
insmod ntfs
set root=(hd0,1)
search --no-floppy --fs-uuid --set 42c0126ec0126885
chainloader +1
}
### END /etc/grub.d/30_os-prober ###

### 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 ###

Very odd! I'm tempted to copy and paste the terminal output into the grub.cfg file... but that might be asking for trouble.

Charlie

darkod
December 6th, 2009, 12:08 PM
The first line of code you provided is finding menu.lst but then you also have grub.cfg. It seems you have a strange mix of grub1 and grub2.
grub1 uses menu.lst which not always adds new kernels automatically and was usually meant to be edited, while grub2 uses grub.cfg.

grub-install -v


will show you your current version. You either didn't finish an upgrade from grub1 to grub2 or something got mixed up. I guess the confusion will remain until you have only one grub.

FokkerCharlie
December 6th, 2009, 12:09 PM
OK, the version reported is:

grub-install (GNU GRUB 0.97)

I was expecting 1.97 or something, and now I'm confused!

Any thoughts?

Charlie

darkod
December 6th, 2009, 12:22 PM
As you probably realised yourself, that grub1.

Are you running 9.10? And have the 9.10 ubuntu cd at hand?

If yes, you could just boot in LiveCD and install grub2. Another option is upgrade from grub1, look under Installing Ubuntu 9.04 here:
https://wiki.ubuntu.com/Grub2

FokkerCharlie
December 6th, 2009, 12:24 PM
OK, will take a look at that tomorrow.

Cheers
Charlie

FokkerCharlie
December 7th, 2009, 10:58 AM
Thanks!

Reinstalling GRUB worked.

Charlie