Whenever you boot up your computer, those crucial first few seconds are BIOS/UEFI territory. Which one it is specifically though will depend on personal preference, or how old your computer is (Hint: BIOS=Old, UEFI=New/ish). Much as we are talking about the differences between the two, BIOS and UEFI have more in common than initially meets the eye.
For starters, both are classified as firmware interfaces which act as the glue between a computer’s firmware and the operating system/s installed on your computer. The fundamental purpose of both BIOS and UEFI is to do a spot check of the hardware components before starting the operating system on the local drive once they get the all-clear signal.
BIOS vs UEFI: An origin story
An acronym for Basic Input/Output System, BIOS has become synonymous with firmware interfaces so much that PC manufacturers sometimes refer to UEFI firmware as BIOS just for the heck of it. Truth be told, BIOS is old, so old in fact that it can trace its origins to way back in 1975 when it was first used in the CP/M operating system. After a few decades at the helm, BIOS is looking to passing the baton to UEFI and finally enjoy a long-overdue retirement.
UEFI (Unified Extensible Firmware Interface) for its part superseded the shortlived original Extensible Firmware Interface (EFI) specification spearheaded by Intel in 1998. Since its introduction in 2005, UEFI has spelt doom for BIOS and looks to completely replace it in the years to come. Matter of fact, Intel intends to completely replace BIOS on their chipsets with UEFI as soon as 2020 if all goes according to plan.
BIOS vs UEFI: Differences at a glance
- BIOS written in Assembler Language or a hybrid of Assembler/C-Language for Modern BIOS. UEFI written in C-Language.
- BIOS maximum size is 2 terabytes. UEFI exceeds 9Zetabytes.
- MBR in BIOS supports a maximum of 4 primary partitions. GPT under UEFI supports 128 primary partitions.
- MBR allows only one bootloader at a time. GPT supports multiple bootloaders in EFI system partition.
- GPT stores Cyclic Redundancy Check (CRC) values to verify the state of its data. MBR has no such provision.
Programming: Assembly vs. C-Language
Firstly, BIOS and UEFI also differ in the code they use. Having been around for much longer, the Assembler code BIOS uses is rather long and convoluted. Additionally, note that each Assembly language was often specific to particular computer architecture and even the operating system. Due to compatibility issues with different hardware new undocumented code was incrementally added which makes it cumbersome to maintain.
UEFI mostly uses the more user-friendly C-Language. The biggest advantage, of course, being its portability. Code written in C-Language can use re-used in other platforms, something Assembly can’t do. However, of late modern BIOS and UEFI are written in C-Language or a mix of both for BIOS.
Partition Structures: MBR vs. GPT
Secondly, BIOS and UEFI diverge in what partition structures they use and how it impacts their performance. As you may very know, there are two partition structures, namely MBR and GPT. These form the basis of how information is organised on your drive i.e which partition is bootable, where logical drive partitions begin and end and whatnot.
GPT (GUID Partition Table) is the newer standard supported by all modern PCs. Besides, GPT also forms an integral part of the UEFI specification and offers the advantages that make UEFI a far superior standard than BIOS. Unfortunately, Windows 7 and earlier 32-bit operating systems do not support UEFI and subsequently won’t allow GPT partitions.
MBR (short for Master Boot Record), the much older between the two, picked up steam way back in 1983 with PC DOS 2.0. BIOS would obviously use a partition structure from the same era. The one advantage of using MBR is because its highly compatible. Nevertheless, MBR comes with its limitations as we are going to find out.
One of the downsides of PCs running BIOS is size limitation. Due to the structure of MBR, BIOS can only run at a maximum of 32-bit real mode. UEFI for its part can run 32-bit or 64-bit architecture and has more address space.
As such, it can only boot from drives with a maximum of 2 TB of storage. On the other hand, UEFI, thanks to GPT can boot from drives exceeding a whopping 9 Zettabytes.
What’s more, BIOS is limited to 4 primary partitions and only one boot loader. You can boot 2 operating systems on BIOS and that’s that. Any more than that and you are forced to hack your way around the problem.
UEFI can support 128 primary partitions at a go and multiple bootloaders in EFI system partition. It can boot more than 2 operating systems with ease.
Secure boot, one of the security implementations in UEFI prevents boot-time malware attacks before the operating system loads. This is done by preventing the execution of drivers without a verified digital signature.
Another security implementation of note is Cyclic Redundancy Check, a tool which verifies that system data has not been tampered with. If the data is corrupted, the system will try to recover the damaged data from other locations on the disk. Unfortunately, MBR has no such provision.
How to check what you have: BIOS or UEFI?
Open Run (Press Win + R)
Let’s make a checklist to check what firmware we have running and what firmware our PCs can support.
- System type: x64-based PCs can run both BIOS and UEFI firmware. The hard drive has to be formatted to change the firmware.
- BIOS mode: As we said earlier, UEFI at times is called BIOS as in this case. Check what mode your PC has currently by checking the BIOS mode in System info.
- Secure Boot State: PCs that have Secure Boot on, to begin with, already support UEFI. BIOS mode won’t support secure boot.
Featured Image: tomshardware.com