On Sep 29, 2009, at 4:49 AM, John Baldwin wrote:
On Monday 28 September 2009 7:52:47 pm Marcel Moolenaar wrote:
Author: marcel
Date: Mon Sep 28 23:52:47 2009
New Revision: 197608
URL: http://svn.freebsd.org/changeset/base/197608
Log:
The first 96 bytes may not be zeroes. It can contain trivial boot
code that merely emits an error and waits for a key press before
rebooting. The error being that extended partitions are not
bootable. The origin is presumed to be Windows 2000; Windows XP
does not do this...
For now, ignore the first 96 bytes when checking that the EBR is
(for the most part) all zeroes.
Tested by: Mario Lobo <ml...@digiart.art.br>
MFC after: 1 week
Modified:
head/sys/geom/part/g_part_ebr.c
Why do you check for zeros at all? AFAIK, the only real check is
for AA55 at
the end of the sector (and having an MBR or other Extended MBR
partition
entry point at the sector in question). The '96' thing seems rather
arbitrary in the code, and I think the zero's check is overly
restrictive.
Only checking for a signature that 99% of the boot blocks
have isn't enough. The msdos file system has that signature
and the check for all-zeroes is to prevent false positives
there.
--
Marcel Moolenaar
xcl...@mac.com
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"