grub2 confuses Windows Vista/7 with Windows Recovery Environment
From:
Jonathan Winterflood
Subject:
grub2 confuses Windows Vista/7 with Windows Recovery Environment
Date:
Tue, 23 Nov 2010 21:37:04 +0000
Hi all,
Having recently installed Ubuntu 10.10 on a machine alongside Vista, I noticed that grub (1.98+20100804-5ubuntu3) incorrectly detects the nature of my "Windows Recovery Environment" and "Windows Vista" partitions:
### BEGIN /etc/grub.d/30_os-prober ### menuentry "Windows Vista (loader) (on /dev/sda1)" { insmod part_msdos insmod ntfs set root='(hd0,msdos1)' search --no-floppy --fs-uuid --set 64bce3a1bce36bcc
chainloader +1 } menuentry "Windows Recovery Environment (loader) (on /dev/sda2)" { insmod part_msdos insmod ntfs set root='(hd0,msdos2)' search --no-floppy --fs-uuid --set bc3c53c13c5374fc
drivemap -s (hd0) ${root} chainloader +1 } ### END /etc/grub.d/30_os-prober ###
The correct order is the opposite (Vista on sda2) Booting the 'wrong' one seems to boot the correct one fine, despite "drivemap -s (hd0) ${root}" being missing/added.
This means that the computer's main user (not an experienced user) could get very confused and trash the whole system.... I could recreate the entries as custom (as mentioned in a previous message on help-grub, see below), but then there would be two sets of Windows entries, which may be even more confusing....
This seems to be a bug in os-prober to me, but a quick look at 30_os-prober has left me unable to diagnose where the problem is.
I would have a look at patching this myself, but by the time I've been pointed in the right direction, the person pointing might be able to just fix it...