![Intel Extensible Firmware Interface Specification Download Page 324](http://html1.mh-extra.com/html/intel/extensible-firmware-interface/extensible-firmware-interface_specification_2073117324.webp)
Extensible Firmware Interface Specification
306
12/12/00
Version 1.02
16.1.1 File System Format
The first block (sector) of a partition contains a data structure called the BIOS Parameter Block,
BPB, that defines the type and location of FAT file system on the drive. The BPB contains a data
structure that defines the size of the media, the size of reserved space, the number of FAT tables,
and the location and size of the root directory (not used in FAT-32). The first block (sector) also
contains code that will be executed as part of the boot process on a legacy Intel architecture system.
This code in the first block (sector) usually contains code that can read a file from the root directory
into memory and transfer control to it. Since EFI firmware contains a file system driver, EFI
firmware can load any file from the file system with out needing to execute any code from the
media.
The EFI firmware must support the FAT-32, FAT-16, and FAT-12 variants of the EFI file system.
What variant of EFI FAT to use is defined by the size of the media. The rules defining the
relationship between media size and FAT variants is defined in the specification for the EFI file
system.
16.1.2 File
Names
FAT stores file names in two formats. The original FAT format limited file names to eight
characters with three extension characters. This type of file name is called an 8.3, pronounced eight
dot three, file name. FAT was extended to include support for long file names. The acronym LFN
is used to denote long file names.
FAT 8.3 file names are always stored as upper case ASCII characters. LFN can either be stored as
ASCII or Unicode and are stored case sensitive. The string that was used to open or create the file
is stored directly into LFN. FAT defines that all files in a directory must have a unique name, and
unique is defined as a case insensitive match. The following are examples of names that are
considered to be the same, and can not exist in a single directory:
•
“ThisIsAnExampleDirectory.Dir”
•
“thisisanexamppledirectory.dir”
•
THISISANEXAMPLEDIRECTORY.DIR
•
ThisIsAnExampleDirectory.DIR
16.1.3 Directory
Structure
An EFI system partition that is present on a hard disk must contain an EFI defined directory in the
root directory. This directory is named
EFI
. All OS loaders and applications will be stored in sub
directories below
EFI
. Applications that are loaded by other applications or drivers are not
required to be stored in any specific location in the EFI system partition. The choice of the sub
directory name is up to the vendor, but all vendors must pick names that do not collide with any
other vendor's sub directory name. This applies to system manufacturers, operating system
vendors, BIOS vendors, and third party tool vendors, or any other vendor that wishes to install files
on an EFI system partition. There must also only be one executable EFI image for each supported
CPU architecture in each vendor sub directory. This guarantees that there is only one image that
can be loaded from a vendor sub directory by the EFI Boot Manager. If more than one executable
EFI image is present, then the boot behavior for the system will not be deterministic. There may
also be an optional vendor sub directory called
BOOT
.
Summary of Contents for Extensible Firmware Interface
Page 1: ...Extensible Firmware Interface Specification Version 1 02 December 12 2000...
Page 4: ...Extensible Firmware Interface Specification iv 12 12 00 Version 1 02...
Page 42: ...Extensible Firmware Interface Specification 24 12 01 00 Version 1 02...
Page 190: ...Extensible Firmware Interface Specification 172 12 12 00 Version 1 02...
Page 200: ...Extensible Firmware Interface Specification 182 12 12 00 Version 1 02...
Page 226: ...Extensible Firmware Interface Specification 208 12 12 00 Version 1 02...
Page 230: ...Extensible Firmware Interface Specification 212 12 12 00 Version 1 02...
Page 252: ...Extensible Firmware Interface Specification 234 12 12 00 Version 1 02...
Page 294: ...Extensible Firmware Interface Specification 276 12 12 00 Version 1 02...
Page 348: ...Extensible Firmware Interface Specification 330 12 01 00 Version 1 01...
Page 350: ...Extensible Firmware Interface Specification 332 12 12 00 Version 1 02...
Page 354: ...Extensible Firmware Interface Specification 336 12 12 00 Version 1 02...
Page 362: ...Extensible Firmware Interface Specification 344 12 12 00 Version 1 02...
Page 486: ...Extensible Firmware Interface Specification 468 12 12 00 Version 1 02...
Page 494: ...Extensible Firmware Interface Specification 476 12 12 00 Version 1 02...