GUID Partition sectors
Previous Topic  Next Topic 

Home



GUID Master Boot records are standard - as in Master Boot Record, but the partition table entry is rather different.  The partition type, as described in byte 4 is set to 0xEE and the partition start, bytes 8-11 are normally set at 1.  Sector 1 then has the complete partition information.


Sector 0


000000   00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00                   

000010   00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00                   

000020   00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00                   

000030   00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00                   

000040   00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00                   

000050   00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00                   

000060   00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00                   

000070   00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00                   

000080   00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00                   

000090   00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00                   

0000A0   00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00                   

0000B0   00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00                   

0000C0   00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00                   

0000D0   00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00                   

0000E0   00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00                   

0000F0   00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00                   

000100   00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00                   

000110   00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00                   

000120   00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00                   

000130   00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00                   

000140   00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00                   

000150   00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00                   

000160   00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00                   

000170   00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00                   

000180   00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00                   

000190   00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00                   

0001A0   00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00                   

0001B0   00 00 00 00 00 00 00 00 - 8C CC 51 6B 00 00 00 FE            Qk  

0001C0   FF FF EE FE FF FF 01 00 - 00 00 6F 59 1C 1D 00 00       oY 

0001D0   00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00                   

0001E0   00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00                   

0001F0   00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 55 AA                  U



Sector 1 Partition table header


000000   45 46 49 20 50 41 52 54 - 00 00 01 00 5C 00 00 00    EFI PART   \  

000010   E6 CB B4 84 00 00 00 00 - 01 00 00 00 00 00 00 00    ˴          

000020   6F 59 1C 1D 00 00 00 00 - 22 00 00 00 00 00 00 00    oY    "      

000030   4E 59 1C 1D 00 00 00 00 - 4E F1 2A 90 7A 65 97 49    NY    N*zeI

000040   86 05 CF CA DB 95 81 85 - 02 00 00 00 00 00 00 00    ە      

000050   80 00 00 00 80 00 00 00 - B5 D7 E6 8B 00 00 00 00             

000060   00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00 


The rest of the sector is all zeros                 

               

0001E0   00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00                   

0001F0   00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00  


The sector always starts with the string EFI PART followed by the version number (1) and record length (0x5c)


Offset 0x18 give the location of this sector (1)

Offset 0x20 is the offset of the spare EFI header (0x1d1c59ef)

Offset 0x28 is the start of the data area of the disk (0x22) normally just after the partition entries 

Offset 0x48  start of partition entries, normally 2



Sector 2-33, Partition entries


00000000   16 E3 C9 E3 5C 0B B8 4D - 81 7D F9 2D F0 02 15 AE    \ M}-

00000010   6E D9 3E F6 CE 0D B5 42 - A5 B8 8A 0B 10 6A 55 E3    n> B jU

00000020   22 00 00 00 00 00 00 00 - 21 00 04 00 00 00 00 00    "       !     

00000030   00 00 00 00 00 00 00 00 - 4D 00 69 00 63 00 72 00            M i c r

00000040   6F 00 73 00 6F 00 66 00 - 74 00 20 00 72 00 65 00    o s o f t   r e

00000050   73 00 65 00 72 00 76 00 - 65 00 64 00 20 00 70 00    s e r v e d   p

00000060   61 00 72 00 74 00 69 00 - 74 00 69 00 6F 00 6E 00    a r t i t i o n

00000070   00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00                   

00000080   A2 A0 D0 EB E5 B9 33 44 - 87 C0 68 B6 B7 26 99 C7    3Dh&

00000090   0A CD 32 5D 7E A5 35 48 - 9F B3 D7 0A A5 1F 77 EF     2]~5H w

000000A0   00 08 04 00 00 00 00 00 - FF 2F 51 5D 01 00 00 00          /Q]  

000000B0   00 00 00 00 00 00 00 00 - 42 00 61 00 73 00 69 00            B a s i

000000C0   63 00 20 00 64 00 61 00 - 74 00 61 00 20 00 70 00    c   d a t a   p

000000D0   61 00 72 00 74 00 69 00 - 74 00 69 00 6F 00 6E 00    a r t i t i o n

000000E0   00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00                   

000000F0   00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00                   

00000100   00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00                   


                




EFI stands for Extensible Firmware Interface.  EFI is designed to improve upon the existing Partition table design, which in particular has a 32 bit limit on sector numbers. 32 bit addressing will allow for 2TB of disk. Although this is not a problem at the moment, 1TB disks are becoming common, and 2TB are just being announced. The address fields are now 64 bit rather than 32 bit.  This will give a few years grace in capacity.


Sector 2, and following sectors describe each partition type.  Rather than a single byte, a GUID is used.  Each partition is described by 0x80 (128) byte record, and so in the example above, there are two partitions.  The first one


16 E3 C9 E3 5C 0B B8 4D - 81 7D F9 2D F0 02 15 AE


is a reseved microsoft partition  It starst at sector 0x22 and has a length of 0x40021


The second partition is Microsoft Data, and can be a normal NTFS partition.  The GUID is


A2 A0 D0 EB E5 B9 33 44 - 87 C0 68 B6 B7 26 99 C7


and the starting sector is 0x40800.  The length is 0x15d512fff sectors, or  about 2.9TB.  It shows that this value is greater than 32 bits, and hence the requirement for the EFI partition data.


A GUID is a Globably Unique ID.  These are numbers which should be unique.  A series of such numbers have been defined for different types of disk partition, eg Microsoft Data Partition, Apple HFS+.  There are also defined numbers for Linux, Solaris, HP-UX.  CnW currently recognise a few of these, but the list will grow.  The second 16 bytes of partition entry is a GUID for the specific drive.  This can be treated as a unique partition serial number.