Intel Extensible Firmware Interface User Manual
Page 73

Boot
Manager
Version 1.10
12/01/02
3-3
If the boot image is not loaded via
the boot manager is required to check for a
default application to boot. Searching for a default application to boot happens on both removable
and fixed media types. This search occurs when the device path of the boot image listed in any boot
option points directly to a
SIMPLE_FILE_SYSTEM
device and does not specify the exact file to
load. The file discovery method is explained in “Boot Option Variables Default Behavior” starting
on page 2-7 of this chapter. The default media boot case of a protocol other than
SIMPLE_FILE_SYSTEM
is handled by the
for the target device path
and does not need to be handled by the boot manager.
The boot manager must also support booting from a short-form device path that starts with the first
element being a hard drive media device path (see Table 8-24, “Hard Drive Media Device Path” in
Chapter 8). The boot manager must use the GUID or signature and partition number in the hard
drive device path to match it to a device in the system. If the drive supports the GPT partitioning
scheme the GUID in the hard drive media device path is compared with the
UniquePartitionGuid
field of the GUID Partition Entry (see Table 11-2 in Chapter 11). If
the drive supports the PC-AT MBR scheme the signature in the hard drive media device path is
compared with the
UniqueMBRSignature
in the Legacy Master Boot Record (see Table 11-5 in
Chapter 11). If a signature match is made, then the partition number must also be matched. The
hard drive device path can be appended to the matching hardware device path and normal boot
behavior can then be used. If more than one device matches the hard drive device path, the boot
manager will pick one arbitrarily. Thus the operating system must ensure the uniqueness of the
signatures on hard drives to guarantee deterministic boot behavior.
Each load option variable contains an
EFI_LOAD_OPTION
descriptor that is a byte packed buffer
of variable length fields. Since some of the fields are variable length, an
EFI_LOAD_OPTION
cannot be described as a standard C data structure. Instead, the fields are listed below in the order
that they appear in an
EFI_LOAD_OPTION
descriptor:
Descriptor
UINT32
Attributes;
UINT16
FilePathListLength;
CHAR16
Description[];
EFI_DEVICE_PATH
FilePathList[];
UINT8
OptionalData[];
Parameters
Attributes
The attributes for this load option entry. All unused bits must be
zero and are reserved by the EFI specification for future growth.
See “Related Definitions.”
FilePathListLength
Length in bytes of the
FilePathList
.
OptionalData
starts at offset
sizeof(UINT32)
+
sizeof(UINT16)
+
StrSize(
Description)
+
FilePathListLength
of
the
EFI_LOAD_OPTION
descriptor.
Description
The user readable description for the load option. This field ends
with a Null Unicode character.