Seems to be fixed --- the machine in question did not have problems booting after the latest grub update.
** Description changed: Assume grub installed on its own partition, the kernel and initrd in "/boot". fstab looks like: - [code] + <pre> UUID=cd4782ce-cbe5-46bb-a1ca-0ef613d65be1 / ext4 errors=remount-ro 0 1 UUID=ffa76c51-70ca-4557-ac26-798e64ff9502 /boot/grub ext3 errors=remount-ro 0 2 - [/code] + </pre> update-grub now generates: - [code] + <pre> ### BEGIN /etc/grub.d/10_linux ### menuentry "Ubuntu, mit Linux 2.6.32-19-generic" --class ubuntu --class gnu-linux --class gnu --class os { - recordfail - insmod ext2 - set root='(hd0,1)' - search --no-floppy --fs-uuid --set ffa76c51-70ca-4557-ac26-798e64ff9502 - linux /vmlinuz-2.6.32-19-generic root=UUID=cd4782ce-cbe5-46bb-a1ca-0ef613d65be1 ro quiet splash - initrd /initrd.img-2.6.32-19-generic + recordfail + insmod ext2 + set root='(hd0,1)' + search --no-floppy --fs-uuid --set ffa76c51-70ca-4557-ac26-798e64ff9502 + linux /vmlinuz-2.6.32-19-generic root=UUID=cd4782ce-cbe5-46bb-a1ca-0ef613d65be1 ro quiet splash + initrd /initrd.img-2.6.32-19-generic } menuentry "Ubuntu, mit Linux 2.6.32-19-generic (Wiederherstellungsmodus)" --class ubuntu --class gnu-linux --class gnu --class os { - recordfail - insmod ext2 - set root='(hd0,1)' - search --no-floppy --fs-uuid --set ffa76c51-70ca-4557-ac26-798e64ff9502 - echo Linux 2.6.32-19-generic wird geladen … - linux /vmlinuz-2.6.32-19-generic root=UUID=cd4782ce-cbe5-46bb-a1ca-0ef613d65be1 ro single - echo Initiale Ramdisk wird geladen … - initrd /initrd.img-2.6.32-19-generic + recordfail + insmod ext2 + set root='(hd0,1)' + search --no-floppy --fs-uuid --set ffa76c51-70ca-4557-ac26-798e64ff9502 + echo Linux 2.6.32-19-generic wird geladen … + linux /vmlinuz-2.6.32-19-generic root=UUID=cd4782ce-cbe5-46bb-a1ca-0ef613d65be1 ro single + echo Initiale Ramdisk wird geladen … + initrd /initrd.img-2.6.32-19-generic } ### END /etc/grub.d/10_linux ### - [/code] + </pre> The UUID of the grub-partition is used to set the root device, leading to error "File not found. You must load a kernel first..." while booting. update-grub should have instead used UUID of the partition kernel and initrd are on. The relevant part is in "/etc/grub.d/10_linux": - [code] - 50 if [ "x${GRUB_DEVICE_UUID}" = "x" ] || [ "x${GRUB_DISABLE_LINUX_UUID}" = "xtrue" ] \ - 51 || ! test -e "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" \ - 52 || [ "`grub-probe -t abstraction --device ${GRUB_DEVICE} | sed -e 's,.*\(lvm\).*,\1,'`" = "lvm" ] ; then - 53 LINUX_ROOT_DEVICE=${GRUB_DEVICE} - 54 else - 55 LINUX_ROOT_DEVICE=UUID=${GRUB_DEVICE_UUID} - 56 fi - [/code] + <pre> + 50 if [ "x${GRUB_DEVICE_UUID}" = "x" ] || [ "x${GRUB_DISABLE_LINUX_UUID}" = "xtrue" ] \ + 51 || ! test -e "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" \ + 52 || [ "`grub-probe -t abstraction --device ${GRUB_DEVICE} | sed -e 's,.*\(lvm\).*,\1,'`" = "lvm" ] ; then + 53 LINUX_ROOT_DEVICE=${GRUB_DEVICE} + 54 else + 55 LINUX_ROOT_DEVICE=UUID=${GRUB_DEVICE_UUID} + 56 fi + </pre> This code should not refer to GRUB_DEVICE_UUID. It should refer to KERNEL_DEVICE_UUID instead. -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/557144 Title: update-grub2 does not honor the right boot device -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs