June 23, 2010 T13/2132-D Revision 3
Working Draft Enhanced Disk Drive - 4 (EDD-4) 73
9) set the IA-32 registers according to the hybrid MBR boot code hand over procedure (see A.4) and jump
to 7C00h.
NOTE 4 — In contrast, legacy MBR boot code searches the MBR Partition Records for a partition
with the Boot Indicator field set to 80h, then loads the VBR based on the Starting LBA field and
passes the Size In LBA field to the VBR.
A.4 Hybrid MBR boot code endeavor procedure
Hybrid MBR boot code fills in the IA-32 registers according to table A.2 before jumping to 7C00h.
Table A.3 defines the Hybrid MBR boot code hand over structure.
NOTE 5 — With legacy MBR boot code, this structure included fields from the MBR Partition Record
of the boot partition. Since the GPT partition may be located at an LBA beyond the 32-bit LBA
addressing boundary, additional fields are added to communicate the full information to the VBR.
Table A.2 — Hybrid MBR endeavor IA-32 register values
Register Description Differences from legacy MBR hand over
DL Disk number No change
ES:DI Pointer to $PnP No change
EAX 54504721h (i.e., "!GPT"). Indicates that the hybrid
MBR hand over structure is being passed with
DS:SI rather than the legacy MBR Partition Record
New
DS:SI Pointer to the hybrid MBR hand over structure (see
table A.3)
New
Table A.3 — Hybrid MBR boot code hand over structure
Mnemonic
Byte
Offset
Byte
Length Description
Differences from legacy
MBR hand over structure
Boot Indicator 0 1 Set to 80h (i.e., bootable). Fixed value
Starting CHS 1 3 Set to FF_FFFFh. The VBR boot code
should ignore this field.
Fixed value
OS Type 4 1 Set to the OS Type of the bootable
partition (i.e., that would have been
assigned had the partition been
installed in an MBR disk layout).
No change
Ending CHS 5 3 Set to FF_FFFFh. The VBR boot code
should ignore this field.
Fixed value
Starting LBA 8 4 Set to FFFF_FFFFh. Fixed value
Size In LBA 12 4 Set to FFFF_FFFFh. Fixed value
Size Of Partition Entry 16 4 Set to the Size Of Partition Entry field of
the GPT Partition Header.
New value
GPT Partition Entry 20 Partition
Entry
Size
Set to the GPT Partition Entry of the
boot partition
New value