DaveRowell
November 1st, 2009, 11:22 PM
Grub2 is configured to boot XP from hd(0,1) [the first partition] when it must be hd(0,2) [the second partition].
What is the "approved" way to change this?
Whine! Whimper! This isn't something new. Grub could never figure this out now Grub2 can't either - there is no OS on Compaq's recovery partition, hd(0,1) they installed XP on the second partition. I assume that there are millions of HP and Compaq PC's with exactly the same set-up and Grub SHOULD be able to tell whether there is an OS on a partition and move on if there isn't.
OK I had to do something and I got no advice so I edited grub.cfg ...
Grub menu (grub.cfg manually edited to comment out the Windows on sda1 entry and change the "ubuntu linux on sda2" entry title to read "Windows XP on sda2" - this is inelegant but it works!)
<<< grub.cfg file snippet >>>
### BEGIN /etc/grub.d/30_os-prober ###
# menuentry "Windows NT/2000/XP (on /dev/sda1)" {
# insmod fat
# set root=(hd0,1)
# search --no-floppy --fs-uuid --set 4452-51a8
# drivemap -s (hd0) ${root}
# chainloader +1
# }
menuentry "Windows XP (on /dev/sda2)" {
insmod ntfs
set root=(hd0,2)
search --no-floppy --fs-uuid --set 3c78b47778b4318e
drivemap -s (hd0) ${root}
chainloader +1
}
### END /etc/grub.d/30_os-prober ###
From this I presume that os-prober is failing to do its job!
<<< new grub menu display >>>
Linux ...
Linux recovery ...
Memory test ...
Memory test ...
******* XP ...
Choosing the default Linux works - choosing Windows XP works. I haven't tried the other choices.
Now can anyone suggest a "better" solution? PLEASE!
What is the "approved" way to change this?
Whine! Whimper! This isn't something new. Grub could never figure this out now Grub2 can't either - there is no OS on Compaq's recovery partition, hd(0,1) they installed XP on the second partition. I assume that there are millions of HP and Compaq PC's with exactly the same set-up and Grub SHOULD be able to tell whether there is an OS on a partition and move on if there isn't.
OK I had to do something and I got no advice so I edited grub.cfg ...
Grub menu (grub.cfg manually edited to comment out the Windows on sda1 entry and change the "ubuntu linux on sda2" entry title to read "Windows XP on sda2" - this is inelegant but it works!)
<<< grub.cfg file snippet >>>
### BEGIN /etc/grub.d/30_os-prober ###
# menuentry "Windows NT/2000/XP (on /dev/sda1)" {
# insmod fat
# set root=(hd0,1)
# search --no-floppy --fs-uuid --set 4452-51a8
# drivemap -s (hd0) ${root}
# chainloader +1
# }
menuentry "Windows XP (on /dev/sda2)" {
insmod ntfs
set root=(hd0,2)
search --no-floppy --fs-uuid --set 3c78b47778b4318e
drivemap -s (hd0) ${root}
chainloader +1
}
### END /etc/grub.d/30_os-prober ###
From this I presume that os-prober is failing to do its job!
<<< new grub menu display >>>
Linux ...
Linux recovery ...
Memory test ...
Memory test ...
******* XP ...
Choosing the default Linux works - choosing Windows XP works. I haven't tried the other choices.
Now can anyone suggest a "better" solution? PLEASE!