Maar dit zou je eerst moeten testen. Als het werkt kan het aangedragen worden als oplossing voor de bug
Edit: Op dezelfde manier moet regel 111 aangepast worden.
Getest! En zowel op 8.04 LTS, 8.10, 9.04 en 9.10 geeft dit de UUID in het correcte formaat. Ik zie dat je het al aan de bugmelding hebt toegevoegd. Prima!
Wat betreft regel 111 is er nog een ander probleem. Ubuntu Karmic 9.10 maakt gebruik van Grub2 (dus ook bij een Wubi installatie). Na het verplaatsen door het script is het de bedoeling dat de Windows bootloader in mbr overschreven wordt door grub. De huidige edit_grub routine geeft: grub not found.
edit_grub(){
echo "Editing grub..."
sed -i "s:# groot=.*::" $target/boot/grub/menu.lst
sed -i "s:kopt=.* ro:kopt=root=UUID=$(blkid -s UUID -o value $dev) ro:" $target/boot/grub/menu.lst
cp /usr/lib/grub/*/*stage* $target/boot/grub/
target_cmd update-grub
disk=${dev%%[0-9]*}
partn=${dev#$disk}
disk=${disk##*/}
gdisk=$(grep -w $disk /boot/grub/device.map|cut -d ')' -f 1)
gdisk=${gdisk#\(}
gpartn=$(expr $partn - 1)
[ -z "$gdisk" ] && gdisk=hd0
[ -z "$gpartn" ] && gpartn=0
echo "
root ($gdisk,$gpartn)
setup ($gdisk)
setup (hd0)
quit" | grub --batch --device-map=/boot/grub/device.map
}
Deze routine is zo correct voor grub1, zou er een kopie (edit_grub2) gemaakt kunnen worden? Dan blijft het 1 script voor alle versies.
In edit_grub2 zal een 'grub-install' gemaakt en uitgevoerd moeten worden?
Achteraf was dit op te lossen door grub2 te herstellen zoals hier beschreven:
http://wiki.ubuntu-nl.org/community/GrubHerstel.