Table of Contents
So you might have heard the acronyms BIOS and UEFI thrown around, especially when trying to switch Operating Systems or messing around with overclocking.
And you might know what these acronyms stand for (Unified Extensible Firmware Interface and Basic Input/Output System, respectively). But have you ever wondered how they’re used in a computer system?
Windows Boot Procedure
When your Windows boots after you press Power On button:
- The CPU starts up but needs some instructions to work on. Since the main memory is empty at this stage, CPU defers to load instructions from the firmware chip on the motherboard and begins executing instructions.
- The firmware code does a Power On Self Test (POST), initializes the remaining hardware, detects the connected peripherals (mouse, keyboard, pen drive etc.) and checks if all connected devices are healthy. You might remember it as a beep that desktops used to make after POST is successful.
- Finally, the firmware code cycles through all storage devices and looks for a bootloader (usually located in first sector of a disk). If the bootloader is found, then the firmware hands over control of the computer to it. Bootloader is only available in the first sector of a disk, which is 512 bytes.
The bootloader then loads the kernel into memory. In Windows, wininit.exe is loaded along with some other processes like services.exe for service control, lsass.exe for local security and authority and lsm.exe for local session management.
- After all this, and after some other drivers are initialized, the Graphical User Interface (GUI) is loaded, and you are presented with the login screen.
What's BIOS (Legacy mode)
BIOS stands for Basic Input/Output System, the firmware we talked about in the above boot procedure.
It is stored on an EPROM (Erasable Programmable Read-Only Memory), allowing the manufacturer to push out updates easily.
It provides many helper functions that allow reading boot sectors of attached storage and printing things on screen. You can access BIOS during the initial phases of the boot procedure by pressing Del, F2 or F10….
What's UEFI mode
UEFI stands for Unified Extensible Firmware Interface. It does the same job as a BIOS, but with one basic difference: it stores all data about initialization and startup in an .efi file, instead of storing it on the firmware.
This .efi file is stored on a special partition called EFI System Partition (ESP) on the hard disk. This ESP partition also contains the bootloader.
UEFI was designed to overcome many limitations of the old BIOS, including:
- UEFI supports drive sizes up to 9 zettabytes, whereas BIOS only supports 2.2 terabytes.
- UEFI provides faster boot time.
- UEFI has discrete driver support, while BIOS has driver support stored in its ROM, so updating BIOS firmware is a bit difficult.
- UEFI offers security like Secure Boot, which prevents the computer from booting from unauthorized/unsigned applications. This helps in preventing rootkits, but also hampers dual booting, as it treats other OS as unsigned applications.
- UEFI runs in 32bit or 64bit mode, whereas BIOS runs in 16bit mode. So UEFI is able to provide a GUI (navigation with mouse) as opposed to BIOS which allows navigation only using the keyboard.
You might not need UEFI
Some reasons why you might choose BIOS over UEFI are:
- If you’re beginner and don’t care about messing with any type of firmware, BIOS is for you.
- If you have less than 2 TB per hard disk or partition, you can go with BIOS.
- BIOS allows running multiple operating systems without changing any settings This can be a security issue from a modern standpoint, but hey, no hassles for the user.
- If you are someone who prefers a keyboard and text-based UI over navigation with a mouse and GUI, then BIOS is for you.
UEFI takes these limitations into account and provides a Legacy mode. In it you can run everything as if you had a BIOS firmware.
This post gave you an overview of the differences between BIOS and UEFI. It also advises you when to choose either one of them or how they are different from each other.