GPT - (last) call for action

Rui Paulo rpaulo at fnop.net
Sun Jun 10 20:35:51 UTC 2007


At Sun, 10 Jun 2007 11:08:47 -0700,
Marcel Moolenaar wrote:
> 
> 
> On Jun 10, 2007, at 10:52 AM, Matthew Dillon wrote:
> 
> > :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
> >
> >     In the bootcamp approach, is the GPT (0xEE) slice the first slice,
> >     and the bootcamp slice the second slice?  I'm assuming it is.  Do
> >     they mirror a GPT partition or do they use the uncontrolled area
> >     approach?
> 
> I seem to recall that the 0xEE partition is not the first, but rather
> the second or third. It would make sense, because it has no function
> other than to have the disk appear used. Bootcamp uses the mirroring
> approach.

No.
The first partition is the EFI GPT (0xee):

% fdisk -1
******* Working on device /dev/ad0 *******
parameters extracted from in-core disklabel are:
cylinders=116280 heads=16 sectors/track=63 (1008 blks/cyl)

Figures below won't work with BIOS for partitions not in cyl 1
parameters to be used for BIOS calculations are:
cylinders=116280 heads=16 sectors/track=63 (1008 blks/cyl)

Media sector size is 512
Warning: BIOS sector numbering starts with sector 1
Information from DOS bootblock is:
The data for partition 1 is:
sysid 238 (0xee),(EFI GPT)
    start 40, size 409600 (200 Meg), flag 0
        beg: cyl 0/ head 0/ sector 41;
        end: cyl 406/ head 6/ sector 14


% gpt -r show ad0
gpt show: ad0: Suspicious MBR at sector 0
      start       size  index  contents
          0          1         MBR
          1          1         Pri GPT header
          2         32         Pri GPT table
         34          6         
         40     409600      1  GPT part - EFI System
     409640   41943040      2  GPT part - Apple HFS
   42352680   74857527      3  GPT part - FreeBSD UFS/UFS2
  117210207         32         Sec GPT table
  117210239          1         Sec GPT header


--
Rui Paulo


More information about the freebsd-current mailing list