2 partition discovery – Intel Extensible Firmware Interface User Manual

Page 367

Advertising
background image

Protocols

— Bootable Image Support

Version 1.10

12/01/02

11-7

11.2.2 Partition

Discovery

EFI requires the firmware to be able to parse legacy master boot records, the new GUID Partition
Table (GPT), and El Torito logical device volumes. The EFI firmware produces a logical

BLOCK_IO

device for each EFI Partition Entry, El Torito logical device volume, and if no EFI

Partition Table is present any partitions found in the partition tables. Logical block address zero of
the

BLOCK_IO

device will correspond to the first logical block of the partition. See Figure 11-1.

BLOCK_I/O

DISK

Partition

Partition

Partition Table

Pointers
to partitions

Partition Table

Pointers
to partitions

Partition

Partition

OM13159

Figure 11-1. Nesting of Legacy MBR Partition Records

The following is the order in which a block device must be scanned to determine if it contains
partitions. When a check for a valid partitioning scheme succeeds, the search terminates.

1. Check for GUID Partition Table Headers.
2. Follow ISO-9660 specification to search for ISO-9660 volume structures on the magic LBA.

 Check for an “El Torito” volume extension and follow the “El Torito” CD-ROM

specification.

3. If none of the above, check LBA 0 for a legacy MBR partition table.
4. No partition found on device.

EFI supports the nesting of legacy MBR partitions, by allowing any legacy MBR partition to
contain more legacy MBR partitions. This is accomplished by supporting the same partition
discovery algorithm on every logical block device. It should be noted that the GUID Partition
Table does not allow nesting of GUID Partition Table Headers. Nesting is not needed since a
GUID Partition Table Header can support an arbitrary number of partitions (the addressability
limits of a 64-bit LBA is the limiting factor).

Advertising