The first Personal Computer or PC is designed in 1980’s by IBM. This computer has different components and design from previously designed computers. This design is cloned by a lot of manufacturers. This computer boot sequence was like below.
BIOS -> Operating System
BIOS was the first component that runs when computer starts. BIOS initialization hardware and make some checks and then start operating system resides in disk or network.
UEFI is next generation BIOS which provides a lot of functionalities. New computers are shipped with UEFI.
Inter developed Extensible Firmware Interface (EFI) 2005 . And used Windows related data formats.This standard is updated and version as UEFI 2.1 in 2007.
UEFI has a lot of advantages over BIOS and other non standard firmware.
- Ability to boot large disks
- CPU-independent architecture
- CPU-independent drivers
- Flexible pre-OS environment
- Modular design
- Backward and forward compability
There are two type of services
Boot Services: Services provides access to the various devices like bus, block and files services
Runtime Servicesprovides access to the date, time, NVRAM for the operating system after the boot. CIA has used
ExisBootServicesfor trojan injection
UEFI can load applications an run them accordingly. The run time flow is operated like below.
One of the most speculated feature for UEFI is secure boot feature. Because This feature prevents unsigned operating systems to boot. At the time Windows declared that it will prevent unsigned operating systems in preloaded PC’s.
Shell provides interactive console to get various environment related information. Whit shell firmware information, memory map, modifying boot parameter, partitioning disk can be done.