Hardware Reference
In-Depth Information
well as boot and runtime services that are available to the OS loader and to the OS after it is loaded.
These tables and services provide an industry-standard environment for running preboot applications,
booting an OS, and providing drivers for devices that need to be active during boot. Because UEFI is
based on the EFI specification originated by Intel, it is common to use the terms EFI and UEFI
interchangeably.
UEFI was initially created by Intel as just EFI, and the EFI 1.01 specification was originally released
in 2000. EFI was an outgrowth of the Intel Boot Initiative (IBI) program that began in 1998. You can
see the original Intel EFI specifications at www.intel.com/technology/efi . Intel updated the EFI
specification through 2003, and in 2005 it contributed the specification to the Unified EFI (UEFI)
Forum, a nonprofit organization formed to promote and manage the UEFI standard. The UEFI Forum
is led by representatives from 11 major companies including AMD, AMI, Apple, Dell, HP, IBM,
Insyde, Intel, Lenovo, Microsoft, and Phoenix Technologies. You can download the latest version of
the UEFI specification from the Unified EFI Forum at www.uefi.org .
Starting in 2011 virtually all Intel and AMD-based motherboards included a BIOS with UEFI
support. Operating systems with UEFI support include the 64-bit versions of Windows Vista SP1 and
later, including Windows 7 and 8.
UEFI and BIOS Limitations
The original PC BIOS was released in 1981 as part of the first IBM PC. The BIOS at that time
consisted of only 8KiB of 16-bit code running in what is known as the “real mode” of Intel x86 (or
compatible) processors, which limits memory addressability to just 1 mebibyte (MiB). Since then the
BIOS has grown somewhat in size, but it still must run as 16-bit x86 code and fit into a meager 128-
kibibyte (KiB) window of memory. In addition, add-on cards that need to be functional at boot time
(such as video and RAID cards) must contain a ROM of limited size with 16-bit x86 code. This is
why the POST, BIOS Setup, RAID Setup, and other preboot code you normally interact with usually
runs in text mode and must be navigated using only the keyboard. All of this looks and feels crude in
comparison to the high-res graphical mouse-driven interfaces found in modern OSs.
Another issue is that because the BIOS is so limited in size and functionality (it exists mainly to
test/initialize the hardware, and then find and load an OS), a PC without an OS installed (or with one
that has been corrupted) has little or no functionality besides entering the BIOS Setup. In other words,
you cannot run extensive diagnostics, go online with a web browser, send or receive email, or read
or write files.
But perhaps the most important limitation with the PC BIOS is that it was only designed to boot from
MBR-formatted disks. Because the MBR can only define up to four primary partitions on a disk of
just under 2.2TB in maximum size, BIOS-based systems cannot boot from a drive that is 2.2TB or
greater in capacity. That started to be a problem a few years ago for drive arrays as it became
possible to combine multiple drives in an array potentially larger than that. But the 2.2-terabyte (TB)
limitation started to become an even bigger problem in 2010 when the first 3TB drives were released
to the market.
The solution to the limitations caused by the MBR format is a more flexible partitioning scheme
called the GUID (globally unique identifier) Partition Table (GPT). The GPT is a newer boot sector
and format design that supports up to 128 partitions on a disk of up to 9.4 zettabytes (ZB, where 1
zettabyte = 1 billion terabytes or 1 sextillion bytes). While the GPT breaks the 2.2TB barrier, GPT-
formatted drives can only be used as data drives because the PC BIOS supports only MBR and cannot
 
 
Search WWH ::




Custom Search