diff options
author | rpaulo <rpaulo@FreeBSD.org> | 2009-06-26 09:32:31 +0000 |
---|---|---|
committer | rpaulo <rpaulo@FreeBSD.org> | 2009-06-26 09:32:31 +0000 |
commit | 9378d21df9f3802549dfe73ceb9fb8bc3c435ad5 (patch) | |
tree | 50de61194a71407c73b4d3de28dd46a2b22e6bc2 /sys | |
parent | df53d25725625fbb5a8eecad422c95e9e22eac14 (diff) | |
download | FreeBSD-src-9378d21df9f3802549dfe73ceb9fb8bc3c435ad5.zip FreeBSD-src-9378d21df9f3802549dfe73ceb9fb8bc3c435ad5.tar.gz |
On special systems where the MBR and the GPT are in sync (up to the 4th
slicei, Apple EFI hardware), the bootloader will fail to recognize the GPT
if it finds anything else but the EFI partition. Change the check to continue
detecting the GPT by looking at the EFI partition on the MBR but
stopping successfuly after finding it.
PR: kern/134590
Submitted by: Christoph Langguth <christoph at rosenkeller.org>
Reviewed by: jhb
MFC after: 2 weeks
Approved by: re (kib)
Diffstat (limited to 'sys')
-rw-r--r-- | sys/boot/i386/libi386/biosdisk.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/boot/i386/libi386/biosdisk.c b/sys/boot/i386/libi386/biosdisk.c index b49d4e6e..7e1fa193 100644 --- a/sys/boot/i386/libi386/biosdisk.c +++ b/sys/boot/i386/libi386/biosdisk.c @@ -880,7 +880,7 @@ bd_open_gpt(struct open_disk *od, struct i386_devdesc *dev) for (i = 0; i < NDOSPART; i++) { if (dp[i].dp_typ == 0xee) part++; - else if (dp[i].dp_typ != 0x00) + else if ((part != 1) && (dp[i].dp_typ != 0x00)) return (EINVAL); } if (part != 1) |