I hadn't updated Kubuntu Natty regular install on 8 GB USB for about a month due to the holidays and other things. After tried to update it Sunday, it would not boot because it could not find /dev/sdb1, which is strange, because it apparently was able to find the rest of grub and the kernel there and should be using UUID instead of /dev/sdb1.
So I tried doing a fresh install from daily build downloaded tonight from iso on USB, and kept getting an error when it got to Disk Setup that Partitioner does not have info about default partitions on that architecture, and that ubi-partman failed with exit code 10. But it was an Intel laptop with msdos partition table and NTFS and ext3 partitions on hard drive, FAT32 on USB iso booted from, and ext2 on the USB stick I was trying to reinstall to. Somehow by going back and forth I got to the Disk Setup and picked /dev/sdc1 for / and /dev/sdc for grub, and installed.
When install finished and I rebooted, the grub menu came up and Ubuntu logo with moving dots under it, but it then dropped to BusyBox. When I booted to (recovery), which still ended up in busybox, the visible boot messages revealed why. Apparently Kubuntu hard codes grub menuentries like root=/dev/sdc1 instead of using UUID, making it completely unsuitable for external flash or drive that may end up as a different drive on different computers. For example it would end up as a different drive on my desktop than on my laptop.
Kubuntu Natty (the wrong way, note root=/dev/sdc1 in vmlinuz line):
Ubuntu Natty (the right way, note root=UUID=... on vmlinuz line) on different drive:
This was a problem earlier in Kubuntu Natty grub, then it was fixed, but now it is broken again. Regular Ubuntu has always worked as any drive, so it is not a grub problem, it is the way Kubuntu configures grub. Who controls how grub is configured in Kubuntu?
So I tried doing a fresh install from daily build downloaded tonight from iso on USB, and kept getting an error when it got to Disk Setup that Partitioner does not have info about default partitions on that architecture, and that ubi-partman failed with exit code 10. But it was an Intel laptop with msdos partition table and NTFS and ext3 partitions on hard drive, FAT32 on USB iso booted from, and ext2 on the USB stick I was trying to reinstall to. Somehow by going back and forth I got to the Disk Setup and picked /dev/sdc1 for / and /dev/sdc for grub, and installed.
When install finished and I rebooted, the grub menu came up and Ubuntu logo with moving dots under it, but it then dropped to BusyBox. When I booted to (recovery), which still ended up in busybox, the visible boot messages revealed why. Apparently Kubuntu hard codes grub menuentries like root=/dev/sdc1 instead of using UUID, making it completely unsuitable for external flash or drive that may end up as a different drive on different computers. For example it would end up as a different drive on my desktop than on my laptop.
Kubuntu Natty (the wrong way, note root=/dev/sdc1 in vmlinuz line):
Code:
menuentry 'Ubuntu, with Linux 2.6.37-12-generic' --class ubuntu --class gnu-linux --class gnu --class os { recordfail set gfxpayload=$linux_gfx_mode insmod part_msdos insmod ext2 set root='(/dev/sdc,msdos1)' search --no-floppy --fs-uuid --set=root e7cd4ed7-58c3-4a4e-a9d0-0ad5853c6fae linux /boot/vmlinuz-2.6.37-12-generic root=/dev/sdc1 ro vt.handoff=7 quiet splash initrd /boot/initrd.img-2.6.37-12-generic
Code:
menuentry 'Ubuntu, with Linux 2.6.37-12-generic' --class ubuntu --class gnu-linux --class gnu --class os { recordfail savedefault set gfxpayload=$linux_gfx_mode insmod part_msdos insmod ext2 set root='(/dev/sdb,msdos1)' search --no-floppy --fs-uuid --set=root e70810eb-379d-4f9f-9087-54c2f1cd96f9 linux /boot/vmlinuz-2.6.37-12-generic root=UUID=e70810eb-379d-4f9f-9087-54c2f1cd96f9 ro vt.handoff=7 quiet splash initrd /boot/initrd.img-2.6.37-12-generic
Comment