EFI – Extensible Firmware Interface – explained

The BIOS has evolved very little since the birth of the PC in 1981, remaining a chunk of hand-crafted assembly language code most users know only for the series of arcane configuration and test messages fleetingly displayed when they turn on their PC. Intel first signalled that all that was about to change in early 2000, with the release of the first version of its Extensible Firmware Interface (EFI) specification, a proposed standard for the architecture, interface and services of a brand new type of PC firmware, designed to provide a well-specified set of services that are consistent across all platforms. EFI services are divided into two distinct groups, those that are available only before the operating system is loaded, known as Boot Services, and those that are also available after EFI has assumed its minimum footprint configuration, known as Runtime Services. Boot Services provide the breadth of functionality offered by EFI for platform configuration, initialisation, diagnostics, OS kernel image loading and other functions. Run-time Services represent a minimum set of services primarily used to query and update non-volatile EFI settings. Services within EFI are officially specified in the EFI Specification as core services and protocol interfaces. Various protocol interfaces have been defined for access to a variety of boot devices, many of which are provided in the EFI reference implementation. Other protocol interfaces provide services for application level functions, such as memory allocation and obtaining access to a specified protocol interface. EFI modules are generally defined as applications or drivers. Drivers conform to a model defined in the EFI specification, and are used to implement a particular protocol...

Pin It on Pinterest