By Samir Makwana Published Date
01 - Jun - 2007
| Last Updated
01 - Jun - 2007
How about a "proper" boot loader instead of the DOS-like BIOS screen ?

How does PC hardware load the operating system? Well, there's pre-loaded firmware called the BIOS (Basic Input/Output System), embedded on a chip (mostly PROM, EEPROM, or Flash memory) located on the motherboard. The BIOS primarily recognises hardware components and performs basic initialisation of the OS.

Since the origins of the BIOS in the late 1970s, hardware components such as hard drives-and the hardware technologies-have changed, and thousands of peripherals have come in.

In 1998, Extensible Firmware Interface (EFI) technology came into the picture from the Intel Boot Initiative program, which was first implemented on the Intel-HP Itanium architecture (formerly IA-64) based computers. Intel has been pushing it as a replacement for the PC BIOS.

Later in 2005, when leading BIOS and hardware developing companies started adopting this alternative for the BIOS, it was renamed "Unified Extensible Firmware Interface" (UEFI). The UEFI specifications derive from EFI specifications.

What Is EFI?

EFI is the next-generation of firmware that serves as an interface between the OS and the hardware in the boot environment. System-hardware-related information is stored in the form of a data table in this interface. Along with that, the OS and the OS loader can avail boot and runtime services before the OS loads.

EFI is one step ahead of, and performs all the basic functions of, the BIOS: running hardware/ OS setup and diagnostic utilities, loading the OS, and scanning for viruses-through a clean interface between the hardware and the OS at the time of system boot. Like the BIOS, EFI checks for the availability of necessary system hardware for bootup, and prepares the hardware by loading the respective drivers to boot the OS faster.

EFI resides between the OS and the firmware of the hardware components. 

EFI will work in sync with firmware and PC BIOS

Drivers for certain components that at times rely on the OS for loading will be created so as to be able to work with EFI: EFI thus enables functioning of third-party applications to perform certain functions in the pre-boot environment.

As compared to BIOS, which is written in "real-mode" 16-bit assembly language, and which offers a text-only interface, EFI will offer a proper 32-bit GUI. Being platform-independent, EFI decreases the compatibility and maintenance issues that often occur with legacy firmware. EFI driver codes are written in C, a high-level language, so developers can reuse driver codes and make modifications easily.

Functions AndBenefits Of EFI 

The device driver environment, which is platform-independent in the EFI specification, allows basic graphics and network support until the OS drivers load. EFI can thus provide boot services such as a graphical console for image loading of drivers and third-party applications, and the OS loader. In addition, runtime services for boot time are provided, such as a wake-up alarm and system reset.

The boot manager is an application in EFI used for OS selection at boot time if the system has more than one OS. In case the OS freezes at a certain stage, you can go into the pre-boot environment and reload the OS by replacing the faulty or corrupt drivers.

Also, an open source shell environment has been created for EFI to enable executing media without booting into the OS. This means you can watch a movie on the PC without booting up.

The Future

The development of EFI specifications has been stopped by Intel; only UEFI exists today. UEFI is the looked upon as the future firmware for the pre-boot environment. The pre-boot environment and functions will become such that users will be able to optimise OS booting, diagnose errors, and more.

UEFI becoming the industry standard for all PC makers will take time. The UEFI firmware image (32-bit and 64-bit) would be larger than that of the BIOS, and would therefore not fit into PROMs. It would add to the material and validation costs for system manufacturers for including them on ROM.

For instance, support for UEFI is not available for Windows Vista, but they promise that in a future service pack. Windows Longhorn Server edition will support UEFI.

The newer Intel Macs are based on EFI with a module update in Boot Camp.

UEFI might replace the BIOS in a few years to come. Right now though, it's difficult to comment on whether UEFI will deliver what it promises; we'll need to wait and watch. Keep an eye out for details as and when they appear, right here in Digit.  

Samir MakwanaSamir Makwana