Introduction to PC's EFI
We have used BIOS as the interface between the operating system and PC's firmware for more than twenty years. BIOS has brought us so much convenience in computer configuration and management. But now we are suffering more and more problems of BIOS with the hardware development. So we must look for another technology to replace it. Extensible Firmware Interface (EFI) is a good selection.
In last chapter, I introduce some basic information about PC's BIOS. Here we'll acquaint with PC's EFI. Extensible Firmware Interface (EFI) is similar to BIOS, is the next generation BIOS. EFI is a interface between PC's firmware and the operating system. It is a upgrade solution to classical BIOS which is developed by Intel Corporation. It was used in Itanium server systems from the original design.
With the BIOS limitations increasedly, more and more computer manufactures and BIOS developer are interest in EFI. In 2006, EFI was first used in Macbook Pro. It is the manufacture who used EFI in computer(x86).
Soon, Windows Vista begin to support EFI. Many mainboard makers are beginning to develop related productions, too. Bootbeta believe that the EFI will replace BIOS in the following three years.
Comparing to BIOS, EFI is more larger and complex. Here it is EFI conceptual mechanism from EFI v1.10 specificaition.
Commonly, EFI composed by:
* Pre-EFI initialization
* EFI driver execution circumstance
* EFI drivers
* Compatible Support Model
* EFI application
* GUID partition table
* EFI Boot Services.
* EFI Runtime Services.
* EFI Protocols Services.
Important support characteristic:
1. Processor-Independent Device Driver Environment.
2. Boot manager support Operating system(OS) loading and selection.
3. New partition scheme: GUID partition table(GPT).
4. Support shell environment.
EFI must be supported by the mainboard and operating systems. currently, Mac OS X/Windows 7/Windows 8/Ubuntu supporting EFI, the first motherboard supporting EFI is from MSI. but now most popular motherboards support EFI BOIS[Updated: 2014].
Pre-EFI initialization module and driver implementation environment are often integrated in a read-only memory. when the computer is powered on. Pre-EFI initialization will be excuted at first, it is responsible for the original CPU, north bridge, south bridge, memory and hard disk initialization, followed by loading EFI driver(these drivers are commonly installed in disk drive). When the basic EFI drivers is loaded before operating system startup, the system will have the ability to control all the hardware. this is a significant difference with BIOS.
Why are the EFI drivers stored in disk drive? Because EFI drivers will occupate a larger space than BIOS, these drivers cannot be burned in motherboard. When we first use EFI, we must devide a separate space from the hard disk for EFI use. the space may be 50-100M. it commonly desided by the drivers. Pre-EFI foundation can make a proper circumstance for next initialization of EFI.