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
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs