UEFI
The Unified Extensible
Firmware Interface (UEFI) is a specification that
defines a software interface between an operating
system and platform firmware. UEFI is a more secure replacement for
the older BIOS firmware interface, present in all IBM
PC-compatible personal computers, which is vulnerable
to bootkit malware.
The original EFI (Extensible Firmware
Interface) specification was developed by Intel. In 2005, development of
the EFI specification ceased in favour of UEFI, which had evolved from EFI
1.10. The UEFI specification is being developed by the industry-wide organization Unified
EFI Forum. UEFI is not restricted to any specific processor architecture and
can run on top of, or instead of, older BIOS implementations. UEFI is a
community effort by many companies in the personal-computer industry to
modernize the booting process. UEFI capable systems are already shipping, and
many more are in preparation. During the transition to UEFI, most platform
firmware will continue to support legacy (BIOS) booting as well, to accommodate
legacy-only operating systems.
The UEFI specification defines a new model for the interface between
personal-computer operating systems and platform firmware. The interface
consists of data tables that contain platform-related information, plus boot
and runtime service calls that are available to the operating system and its
loader. Together, these provide a standard environment for booting an operating
system and running pre-boot applications.
Extensible Firmware Interface's position in the
software stack
It all has begun when Intel decided to develop
64-bit CPU. They made decision which was very good logically, but unfortunately
not as good market-wise: to get rid of all ancient x86 features, drop entire
x86 backward portability, and create completely new CPU architecture, named Itanium (IA64).
That also meant that old BIOSes won't be running on it, and so opportunity
opened for new standard interface between OS and hardware/firmware. This is how
first steps took place in the half of 90s, to replace BIOS by new standard,
called Extended Firmware Interface (EFI).
Later, AMD created its own 64-bit architecture
called AMD64, which unlike Itanium was backward compatible with x86. Intel
called it EM64T or IA32e, later Intel 64, Microsoft
calls it x64, usually it is called x86-64. Support for this
architecture was included in UEFI 2.0 standard. In April
2008, ARM joined Unified EFI Forum, so we expect support these
CPUs coming too. latest version of standard is UEFI 2.1, which has
few minor changes and features compared to UEFI 2.0. But overall, all
versions of standard are very backwards compatible, so software and drivers
written for very first version of EFI still run on latest boards.
UEFI Specifications Update
The interface defined by the EFI specification
includes data tables that contain platform information, and boot and runtime
services that are available to the OS loader and OS. UEFI firmware provides
several technical advantages:
·
Ability
to boot from large disks (over 2 TiB)
·
Faster
boot-up
·
CPU-independent
architecture
·
CPU-independent
drivers
·
Flexible
pre-OS environment, including network capability
·
Modular
design
Some existing enhancements to PC BIOS, such as
the Advanced Configuration and Power Interface (ACPI) and System
Management BIOS (SMBIOS), are also present in EFI, as they do not rely on
a 16-bit runtime interface. The Unified EFI Forum is a non-profit collaborative
trade organization formed to promote and manage the UEFI standard. As an
evolving standard, the UEFI specification is driven by contributions and
support from member companies of the UEFI Forum.
The UEFI
Forum board of directors include representatives from the following eleven
leading companies:
·
AMD
·
American Megatrends Inc.
·
Apple Computer, Inc.
·
Dell
·
Hewlett Packard
·
IBM
|
·
Insyde
·
Intel
·
Lenovo
·
Microsoft
·
Phoenix Technologies
|