Intel Extensible Firmware Interface User Manual

Page 73

Advertising
background image

Boot

Manager

Version 1.10

12/01/02

3-3

If the boot image is not loaded via

LoadImage()

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

LOAD_FILE_PROTOCOL

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.

Advertising