[Bug 48068] Re: grub entry added for "Compaq diagnostics" partition

2010-06-23 Thread Hans Henrik Eriksen
I've had the same problem as Davide et al.

I suspect that the Ubuntu installation is also at fault for the fatal
end result, chosing a DOS Extended partition as a logical partition to
contain Linux root and swap.  The problem is that DOS expressly limits
this partition type (hex 05) to 8 GB, and DOS tools may corrupt the
partition if it actually extends beyond 8GB (which mine did).  I suspect
this is what possibly happened with the Acer Recovery tools zapping the
Linux partition(s).

So this is a Series of Unfortunate Events, to quote Lemony Snicket:

1) User installs Ubuntu on a disk containing Window, installer choses a DOS 
Extended partition (hex 05) for Linux root and swap
2) The GRUB os-prober script 20microsoft incorrectly defaults to Windows Vista 
when it cannot detect the Windows Recovery partition (partition type/id of hex 
12 or hex 27)
3) The GRUB os-prober script 20microsoft walks through the boot menu entries of 
my Windows Vista partition and choses what it finds first, which is Windows 
Recovery Environment.  It doesn't even look for Vista, although it defaults to 
it.  Windows 7 is searched for before Recovery, so a Win 7 partition will be 
correctly recognized.  Vista and 2008 Server will not, if you have a Recovery 
entry in the Windows boot menu.
4) At the next boot to Windows, the user will happily select the Windows Vista 
(loader) entry
5) Due to the incorrect GRUB config script, the PC will boot to the Recovery 
Environment instead of Vista
6) The Acer Recovery Environment sees the DOS Extended partition and corrupts 
it, presumably because it is larger than the 8GB limit, thereby also corrupting 
the Linux installation, or at least preventing the user from booting into Linux.

-- 
grub entry added for "Compaq diagnostics" partition
https://bugs.launchpad.net/bugs/48068
You received this bug notification because you are a member of Ubuntu
Bugs, which is a direct subscriber.

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs


[Bug 48068] Re: GRUB os-prober incorrectly detects Windows partitions

2010-06-23 Thread Hans Henrik Eriksen
** Summary changed:

- grub entry added for "Compaq diagnostics" partition
+ GRUB os-prober incorrectly detects Windows partitions

-- 
GRUB os-prober incorrectly detects Windows partitions
https://bugs.launchpad.net/bugs/48068
You received this bug notification because you are a member of Ubuntu
Bugs, which is a direct subscriber.

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs


[Bug 48068] Re: GRUB os-prober incorrectly detects Windows partitions

2010-06-23 Thread Hans Henrik Eriksen
I forgot to give the details for my configuration:

BUG description:  GRUB os-prober script /usr/lib/os-probes/mounted/20microsoft 
does a poor job detecting Windows partition types
Consequence: User is misled into booting the Windows Recovery Environment 
instead of the Windows OS
Worst case:  Windows Recovery Environment will corrupt the Linux installation 
when selected from the GRUB menu

My configuration:

Disk is /dev/sda with preinstalled Windows Vista, now also with Ubuntu 10.4 LTS 
32 bit in a separate partition:
/dev/sda1 is a hidden Windows Recovery Environment partition (type hex 27)
/dev/sda2 is the Windows primary boot partition (type hex 07) with a BCD 
bootmgr menu containing standard entries for Recovery, Memory test and Windows 
Vista.  Automatically resuming from hibernation or starting Vista (no menu is 
displayed unless I press spacebar - former F8)
/dev/sda3 is a DOS extended partition of 27GB containing Ubuntu 10.4 
subpartitions:
/dev/sda5 is Ubuntu root
/dev/sda6 is Ubuntu swap

At fault is the script /usr/lib/os-probes/mounted/20microsoft which scans the 
Windows Boot Config Data (BCD) i a partition looking for (in order) Win 7, 
Recovery, 2008 Server R2, 2008 Server.  Default when none is found is Vista.
A Recovery partition will not contain any of the search strings, thereby 
identifying as the default, Vista.
A Win 7 partition will identify correctly as such.
Any other partition (Vista, 2008*) will identify as a Recovery partition if the 
BCD contains a Recovery line, which is the normal case.

A better solution is NOT to search for the Windows Recovery Environment, but 
for Vista instead.
The Windows Recovery Environment can be detected (as a default action) by 
having a BCD file and a partition type hex 12 or hex 27.

This is still not optimal behavior, because there is no attempt at
detecting neither partition content (installed OS) nor Win bootmgr
configutation.  A better approach would be to identify as "Windows Boot
Manager" and pass control over to bootmgr when selected (relatively
easy), or extract all BCD entries as separate lines in the GRUB menu and
invoke directly when selected (relatively hard).

Nice partition type overview:
http://www.win.tue.nl/~aeb/partitions/partition_types-1.html

-- 
GRUB os-prober incorrectly detects Windows partitions
https://bugs.launchpad.net/bugs/48068
You received this bug notification because you are a member of Ubuntu
Bugs, which is a direct subscriber.

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs