GPT - (last) call for action

Matthew Dillon dillon at
Mon Jun 11 20:33:48 UTC 2007

:>> # gpt -r show /dev/rdisk0
:>>        start       size  index  contents
:>>            0          1         PMBR
:>>            1          1         Pri GPT header
:>>            2         32         Pri GPT table
:>>           34          6
:>>           40     409600      1  GPT part - C12A7328-F81F-11D2-BA4B-
:>> xxxxxxxxxxxx
:>>       409640  159414704      2  GPT part - 48465300-0000-11AA-AA11-
:>> xxxxxxxxxxxx
:> Well, what's happening is that Boot Camp syncs the BIOS partition
:> table with the GPT table, so the first partition should start at 40,
:> just like the GPT.
:> Why does it start at 40 ? Because you need room for the PMBR, the
:> Primary GPT header and the Primary GPT table.
:Agreed, you need about 32 sectors for the GPT header+table.

    It makes sense for them to point the first MBR slice at the first
    partition in the GPT, even though the standard says something else.

    It really sounds like they are making an accomodation for BIOS
    booting or older Windows booting... or *something* of that sort.  The
    fact that the bootability bit is not set in the MBR (I'm not sure about
    that, is it set or not?)... that seems to imply a compatibility issue
    with other OS's like Windows in a multi-boot environment.

    They are just doing it all with a single slice instead of having
    two slices.

    I'll bet they found that the two-slice method doesn't work in some
    cases and the one-slice method does.  The standard document doesn't
    allow either method but it does seem to be a bit less insistent on
    the starting sector for slice 1 then it does on there only being
    one slice in the MBR, period.  I can also see some OS's / disk managers
    barfing on having two slices which overlap each other.

    So it really does make sense for them to point the MBR at sector 40.
    The more I think about it, the more sense it makes.

					Matthew Dillon 
					<dillon at>

More information about the freebsd-current mailing list