BIOS vs. UEFI
At their cores, UEFI and BIOS are two firmware interfaces for computers. The sole purpose behind them is to act as interpreters between the operating system and the computer firmware. Both are used at startup to initialize the hardware components and load the operating system onto the hard drive. UEFI is newer, better and is included by default on most modern PCs. But things are not as simple as them seem. Here’s a rundown of the functionalities of both systems to help guide you in the decision of UEFI vs. BIOS.
The Basics of BIOS
BIOS (Basic Input-Output System) works by reading the first sector of the hard drive with the next device’s address to initialize or code to execute. BIOS also selects the boot device that needs to be initialized to start the operating system. Since BIOS has been in use since the 1980s (it’s been around since the MS-DOS era), it still works in 16-bit mode. This limits the amount of code that can be read and executed from the firmware ROM. To learn more about BIOS, read up on all of its common settings.
Disk Size Limitations
One of the biggest points in UEFI vs. BIOS is that the latter uses 32-bit entries in its partition table. This limits the total physical partitions in BIOS to only four. Further, each of these four partitions can only have up to 2TB in overall size, so the BIOS can only boot from a drive with a physical space of 2.2TB. This can be limiting for systems that use higher capacity drives for redundant storage.
BIOS Speed and Performance
As discussed above, BIOS works seamlessly in older 16-bit systems. BIOS developers design the system to be both lightweight and simple to make it incredibly quick and responsive – even in slower machines. For example, a traditional BIOS machine that skips memory and hardware checks can load its operating system in one to two seconds.
The Basics of UEFI
Unlike BIOS, UEFI (Unified Extensible Firmware Interface) stores all of the information about system initialization in an .efi file instead of a dedicated chip. This file is often stored on the hard drive inside a special partition called EFI System Partition (ESP). ESP also contains the boot loader programs for the operating system installed on the computer. UEFI is meant to completely replace BIOS and bring in many new features and enhancements that can’t be implemented through BIOS. Tip: learn how to boot directly into UEFI in Windows 10.
Breaking Out of Size Limitations
One of the biggest advantages UEFI over BIOS is that it is possible to include larger capacity drives. Unlike the traditional BIOS Master Boot Record, the UEFI GUID Partition Table uses 64-bit entries, so you can dramatically extend support for size possibilities of the hard drive. (More on difference between MBR and GPT). In addition, UEFI supports larger HDDs and SSDs. UEFI’s theoretical size limit for bootable drives is more than nine zettabytes, while BIOS can only boot from drives 2.2 terabytes or smaller.
UEFI Speed and Performance
Since UEFI is platform independent, it may be able to enhance the boot time and speed of the computer. This is especially the case when you have large hard drives installed in your computer. This enhancement depends on how UEFI is configured to run. UEFI can also perform better while initializing the hardware devices. Normally, this speed enhancement is a fraction of the total boot time, so you will not see a huge difference in overall boot time. Developers can make use of the UEFI shell environment, which can execute commands from other UEFI apps, optimizing the performance of the system further.
UEFI Security
Secure boot is a feature of UEFI that has been implemented in Windows 8 and has become the standard for Windows 11. The biggest benefit of UEFI is its security over BIOS. UEFI can allow only authentic drivers and services to load at boot time, making sure that no malware can be loaded at computer startup. Microsoft implemented this feature to counter piracy issues in Windows, while Mac has been using UEFI for quite some time. Secure Boot works by requiring a digital signature of boot loaders, which should require digital signature by the kernel. This process continues until the operating system is started. This secure boot feature is also one of the reasons why it is more difficult to install another operating system on a Windows machine.
BIOS Security vs. UEFI
One of the biggest disadvantages of BIOS is its lack of proper firmware security. It is possible to lock down a BIOS machine through a boot password. However, this approach does not protect you from arbitrary code execution. While newer BIOS machines offer Data Execution Prevention modules, this mechanism does not support iterative driver execution in the firmware level. As such, using BIOS can be an issue if you want to properly secure your computer.
Why Choose UEFI?
One reason to choose this over the more familiar BIOS is that Intel no longer supports the “traditional” BIOS in 2022. UEFI provides the following functionality and advantages:
Languages: BIOS is written in assembler, while UEFI is written in simpler C-language. Drives: UEFI supports larger HDDs and SSDs. UEFI’s theoretical size limit for bootable drives is more than nine zettabytes, while BIOS can only boot from drives 2.2 terabytes or smaller. Drivers: UEFI has intricate yet discrete drivers, while BIOS uses drivers in optional ROM (read-only memory). With BIOS, updating the hardware requires retuning the ROMs for compatibility. This specification applies to separately-written, upgradable UEFI drivers. Boot time: in most cases, UEFI provides a faster booting time vs. BIOS machines. Security: UEFI offers improved security features. “Secure Boot” prevents the computer from booting from unsigned or unauthorized applications. The OS must contain a recognizable key. Without Secure Boot enabled, a PC is vulnerable to malware corrupting the startup process. Data processors: UEFI runs in 32-bit or 64-bit mode. BIOS runs only in 16-bit mode and may utilize only 1 MB of executable memory. GUI: UEFI provides a more intuitive graphical user interface that you may navigate with a mouse and keyboard, unlike BIOS.
Another advantage of UEFI is that an industry-wide interface forum maintains it and is more manufacturer-agnostic than BIOS.
Why Choose BIOS?
Some reasons a user may choose Legacy BIOS instead of UEFI include:
BIOS is ideal if you don’t require fine control over how your computer operates. BIOS is also sufficient if you only have small drives or partitions. Although many newer hard drives exceed BIOS’s 2-terabyte limit, not every user requires that amount of space. UEFI’s “Secure Boot” feature may result in OEM manufacturers preventing users from installing other operating systems on their hardware. If you stick with BIOS, you sidestep this issue. BIOS provides access to hardware information in the interface, while not every implementation of UEFI does so. Hardware specs are accessible within the OS, however.
Some newer PCs allow you to run UEFI in Legacy BIOS Mode. Users who wish to maintain machines running older operating systems, including Windows 7, will want to enable this feature. Image credit: Unsplash. All alterations and screenshots by Ramces Red. In Linux, you can do this by opening a terminal window and running ls /sys/firmware/efi. This will list the UEFI files and folders that are present in your distribution. Running this command in a BIOS machine will yield no results. You can do this conversion directly through Windows 10, though it’s possible you may need to switch from “Legacy BIOS” to UEFI through your motherboard’s BIOS settings (accessed by repeatedly hitting F8, F2 or Del (usually) as your computer is booting up. More modern motherboards let you update the BIOS directly through the BIOS (accessed as your PC is booting up), while on laptops the updates tend to happen automatically. With older motherboards, you may have to go to the motherboard manufacturer’s site, download the correct BIOS version for the correct motherboard to a flash drive, then insert the flash drive into your PC and reboot your PC. It should then boot to the flash drive and the BIOS update process.