Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 9 Jun 2007 15:42:58 -0700
From:      Marcel Moolenaar <xcllnt@mac.com>
To:        Matthew Dillon <dillon@apollo.backplane.com>
Cc:        freebsd-hackers@freebsd.org, freebsd-current@freebsd.org, Ivan Voras <ivoras@fer.hr>, freebsd-geom@freebsd.org
Subject:   Re: GPT - (last) call for action
Message-ID:  <57F8CCC1-1841-41AE-9F82-0C87FE53BE99@mac.com>
In-Reply-To: <200706092128.l59LSjRs027671@apollo.backplane.com>
References:  <f4ek4o$i4u$1@sea.gmane.org> <4AB3C4C0-0DA1-482F-A4CD-375A53332F29@mac.com> <f4f14d$lhe$1@sea.gmane.org> <4D7CDA24-48FE-4319-A320-C8D7165E9EBC@mac.com> <200706092128.l59LSjRs027671@apollo.backplane.com>

next in thread | previous in thread | raw e-mail | index | archive | help

On Jun 9, 2007, at 2:28 PM, Matthew Dillon wrote:

>     I'm having to tackle this issue right now in DFly.  With GPT  
> having to
>     start at sector 1 (no choice there), the compatible MBR in  
> sector 0
>     presumably must have a slice (#1) which covers the entire disk.
>
>     But do we have to make slice #1 bootable?  Could we also create a
>     slice #2 in the MBR that points into the GPT's first partition,  
> mark
>     it bootable, and thus be able to put boot1 in the GPT's first  
> partition?
>     Or will the BIOS fart on the overlapping MBR slices?

Technically speaking, the MBR can only have a single partition of
type 0xEE that covers the whole disk. This is to protect the GPT
from MBR-specific tools that do not know about the GPT. This is
not a bootable slice by definition.

Practice is different. To support bootcamp on Intel-based Macs,
the MBR will have real partitions that mirror GPT partitions or
otherwise describe partitions outside the GPT controlled area.
These can be bootable partitions and the protective partition
(the one with type 0xEE) will not cover the whole disk anymore.

The nasty part is keeping MBR and GPT partitions in sync, so it
may be better to have the MBR partition fall outside the GPT
controlled area. This can be done because the GPT header contains
the LBA of the first and last sectors on the disk that can be
assigned to a partition. You can free up space for MBR partitions
after the primary GPT table by adjusting the first LBA. In the
MBR partition you can put a GPT aware boot loader that uses the
GPT to find the real partitions...

-- 
Marcel Moolenaar
xcllnt@mac.com





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?57F8CCC1-1841-41AE-9F82-0C87FE53BE99>