Extensible Firmware Interface Specification
312 12/12/00 Version 1.02
If the GUID Partition Table is the primary table, stored at LBA 1:
Check the AlternateLBA to see if it is a valid GUID Partition Table
If the primary GUID Partition Table is corrupt:
Check the last LBA of the device to see if it has a valid GUID Partition Table.
If valid backup GUID Partition Table found, restore primary GUID Partition Table.
Any software that updates the primary GUID Partition Table Header must also update the backup
GUID Partition Table Header. The order of the update of the GUID Partition Table Header and its
associated GUID Partition Entry array is not important, since all the CRCs are stored in the GUID
Partition Table Header. However, the primary GUID Partition Table Header and GUID Partition
Entry array must always be updated before the backup.
If the primary GUID Partition Table is invalid the backup GUID Partition Table is located on the
last logical block on the disk. If the backup GUID Partition Table is valid it must be used to restore
the primary GUID Partition Table. If the primary GUID Partition Table is valid and the backup
GUID Partition Table is invalid software must restore the backup GUID Partition Table. If both the
primary and backup GUID Partition Table is corrupted this block device is defined as not having a
valid GUID Partition Header.
The primary and backup GUID Partition Tables must be valid before an attempt is made to grow
the size of a physical volume. This is due to the GUID Partition Table recovery scheme depending
on locating the backup GUID Partition Table at the end of the physical device. A volume may
grow in size when disks are added to a RAID device. As soon as the volume size is increased the
backup GUID Partition Table must be moved to the end of the volume and the primary and backup
GUID Partition Table Headers must be updated to reflect the new volume size.
Table 16-2. GUID Partition Entry
Mnemonic
Byte
Offset
Byte
Length Description
Partition Type Guid 0 16 Unique id that defines the purpose and type of this
Partition. A value of zero defines that this partition
record is not being used.
Unique Partition Guid 16 16 Guid that is unique for every partition record. Every
partition ever created will have a unique GUID. This
GUID must be assigned when the GUID Partition Entry
is created. The GUID Partition Entry is created when
ever the NumberOfPartitionEntries in the GUID Partition
Table Header is increased to include a larger range of
addresses.
StartingLBA 32 8 Starting LBA of the partition defined by this record.
EndingLBA 40 8 Ending LBA of the partition defined by this record.
Attributes 48 8 Attribute bits, all bits reserved by EFI.
Partition Name 56 72 Unicode string.