Time to make a foolish assumption: Most of you know about BIOS. Time to make another foolish assumption: A lot of you have heard about UEFI, even if you don’t own a modern machine.
It is easy to think of UEFI as an evolution of the classic BIOS, which it is.
But this new technology is quite a bit more than simply an improved version of the BIOS system. Microsoft has dived head first into support for UEFI on Windows, while Intel recently outlined plans to completely replace BIOS with UEFI on all their chipsets by 2020.
Time to find out all the key details and the differences between UEFI and BIOS.
Let’s start with the basics first. Both BIOS and UEFI are firmware interfaces — low level software that interface with the hardware on your computer and tell your PC to boot up your operating system. They work as interpreter between the operating system and the computer.
Whenever you boot up your system, you will notice a quick splash screen with some information. Depending on the age of your system, that is either your BIOS or UEFI.
Both these interfaces are used at the startup to initialize the hardware components of your machine, and start the OS that is stored on the hard drive. This is also where you will need to dig around if you want to change settings on a hardware level on your computer. You will also have to deal with these when you install Windows on your PC.Almost all new devices that ship with Windows 10 make use of UEFI by default. Older machines have BIOS as the only option. Mac users probably don’t even know what a BIOS is, as Apple not just uses UEFI, it also likes to keep everything tucked away, out of sight from users.
As you can see, this is a topic that can get really technical, so we’ll try to keep things simple.
What is BIOS?
Known as Basic Input/Output System (BIOS), this is the de facto standard that defines a firmware interface on the PC side of things. It is the first software run by a computer when it is powered on, and resides in a chip on the motherboard on your device.
The name BIOS originated from the CP/M operating system in 1975. It was invented by Gary Kildall of Digital Research for computers based on Intel 8080/85 processors. IBM incorporated BIOS into its IBM PC based on the Intel 8088 in 1981, which is when the technology truly went mainstream. Since then, the technology has found its way on billions and billions of devices over subsequent decades.The basic purpose of the BIOS is to wake up your computer. It initializes and test the hardware components, ensuring that everything is in tiptop shape. On older hardware, BIOS also provides an abstraction layer for the hardware, ensuring a consistent way for software to interact with the keyboard, mouse, display, and other peripherals. However, modern operating systems access these hardware components directly, ignoring the abstraction layer that BIOS provides altogether.
Another important thing that BIOS is tasked with is give the green signal for your operating system to boot up. This it does by loading a bootloader or an OS from the storage device. It could be the hard drive attached to the system, or even a disc or USB.
The BIOS also lets you change several basic settings on your device, things like which device should your computer boot from first, the system time and date, password protection.
All these can be changed within the BIOS. And whenever you change something in the BIOS and save it, the changes are saved on the motherboard itself. That is why it is recommended not to fiddle around with BIOS settings unless you are absolutely sure what you are doing — messing it up can cause severe issues with your system.
Before BIOS boots up your system, it goes through a POST, which is Power-On Self-Test. This test makes sure that everything is alright with your hardware. If it finds a problem, it will let you know via error messages or loud beeps from the motherboard, which you can then look up.
After it passes the POST, the BIOS then looks up the MBR, or the Master Boot Record that is stored on the boot device. This is when it launches the boot loader and follows it up with you operating system.
To access your BIOS, you need to press a specific key on your keyboard while your system is booting. This is usually listed on the screen. It is often the Del or Esc buttons or any of the Function keys up top that get you in like F2, F8, or F12.
All this, obviously, depend upon the make and model of your computer.
What is UEFI?
The Unified Extensible Firmware (UEFI) is a specification designed to replace the BIOS firmware interface. This is a specification that defines a software interface between an operating system and platform firmware.
Before we get to the juicy technical details, a little history.
BIOS served well for its time, but with advancements in hardware technologies, it soon became clear that it needed replacement. It was Intel that developed the original EFI in the 1990s, designing it for the larger server platforms that for its Itanium systems.
It then deprecated it in favor of UEFI in 2005.
And in 2007, Intel, AMD, Microsoft, and PC manufacturers agreed on a new UEFI specification, which is now the industry wide specification managed by the United Extended Firmware Interface Forum. This is a group of hardware, chipset, system, firmware, and operating system vendors — consisting virtually of all the important developers and suppliers of hardware.
Microsoft introduced UEFI support to Windows with Windows Vista Service Pack 1 and Windows 7, and is now the common motherboard interface. The vast majority of computers that you buy today now use UEFI as opposed to a traditional BIOS.
Over in the other neighborhood, Apple chose EFI in 2006 when it made the switch to Intel architecture, but other PC manufacturers were slow to follow. This is why Macs have been using UEFI much longer than Windows based computers, and it is only now that the industry is completing the transition.UEFI is essentially a tiny operating system that can either be stored in flash memory on the motherboard, or loaded from a hard drive or network share at boot. This means it can do a lot more than a traditional BIOS.
We’ll be taking a look at what improvements the technology brings to the table, below.
Differences between UEFI and BIOS
One thing to make clear right off the bat is that UEFI is orders of magnitude better than BIOS. And it continues to get better. BIOS was amazing for its time, but this is a technology that has lasted 36 or so years on the PC platform — an eternity in the world of computing.
That BIOS lasted so long is impressive. But as the years went by, it became increasingly obvious that the computing world was due for a change. A change suitable both for the modern hardware of today and the innovations of tomorrow.
Below is a list of advantages of UEFI over traditional BIOS:
- Performance: BIOS must run in 16-bit processor mode, and only has 1MB of space to execute its operations. This is why it has trouble initializing multiple hardware devices at once, leading to a slower boot process. This was not a problem a long time ago, but modern hardware has moved. UEFI has more addressable space than BIOS, and this allows a system to initialize the hardware and boot faster into the operating system.
- Security: One of the biggest advantages UEFI has over BIOS is that it provides inherent security via Secure Boot to ensure that no malware tampers with the boot process. This makes sure that the operating system loads up crystal clean. Windows also uses this system to ensure that no pirated copies of boot loaders are used.
- Storage: Perhaps the biggest letdown of a BIOS on modern computers is that it is unable to boot the system from a hard drive larger than 2 terabytes. This means that if you have a 3TB hard drive, then your BIOS will not be able to boot your operating system. UEFI, on the other hand, is able to boot up from drives up to 9.4 zettabytes in capacity. This is equivalent to one trillion gigabytes, roughly three times the size of everything on the Internet.
- Partitions: Since UEFI uses the GPT partitioning scheme, instead of MBR, it also supports an unlimited number of partitions. BIOS only allows 4 primary partitions. That said, Windows does limit you to 128 partitions on UEFI, but that is still more than most users would need.
- Drivers: BIOS runs via option ROMs, which only work with the hardware that is running it. Meaning if you upgrade your hardware, you will need to update the option ROMs to make sure that all aspects of the booting process remain compatible. UEFI incorporates drivers in place of these option ROMs, and these drivers are written separately. They can even be uploaded using a flash drive, making them compatible with upgraded form of hardware.
- File System: Since UEFI is the equivalent of a mini operating system, it has the support of a file system that can read FAT partition files directly. It is also possible to develop applications that run directly in this environment. These type of program files usually end with the UEFI extension. It is also possible to develop a Windows installer application to completely simplify the installation process of the operating system.
- Operating Systems: BIOS plays nicely if you want to load 2 operating systems on the same system, but UEFI allows you to run many more on a single PC.
- Hardware: Certain modern hardware devices only work with UEFI. For example, you should have no trouble installing a SATA SSD on a legacy BIOS, but the newer M.2 PCIE SSD hard drives only work on the newer UEFI systems.
- Interface: If you have entered a BIOS screen, you know antiquated and outdated it looks. Straight from the 80s. UEFI offers an updated and modern look with richer setup menus, instead of being just limited to text like on legacy BIOS. UEFI also supports graphics as well as a mouse cursor to easily move around the environment.
- Compatibility: UEFI comes with solid backwards compatibility via BIOS emulation for older hardware and old operating systems that expect a BIOS instead of UEFI.
- Networking: Another improvement for UEFI compared to a BIOS is the support for networking function in the UEFI firmware itself, which is handy for configuration and remote troubleshooting.
- Development: Importantly, UEFI developers use the C programming language to develop drivers, libraries and various other services for the environment. BIOS is limited to only the assembly language, which is more abstract and much harder to learn. This is one of reasons why manufacturers continue to refine and add improvements to UEFI on their hardware devices.
Take all of this into account, and it becomes clear that BIOS is an ice age technology. The advantages that UEFI brings to the table are numerous.
That is not to say that it is all milk and honey in the world of UEFI.
As you will find out below, it has certain limitations, most notably with how several Linux distributions do not work with these systems. And the fact that it is a new technology, many users do not know how to use this feature to correctly install the operating system. BIOS still is more user friendly, owning to its familiarity. It is very easy to select the boot device you want to boot from, and the MBR is automatically searched for and picked up.
Plus, there are the occasional stability hiccups with certain hardware devices in UEFI. These are usually fixed quick, as the industry transitions to this new firmware type and driver developers get better.
UEFI Boot Process
One of the major areas of improvements for UEFI is with the boot process. UEFI employs a modern booting process that provides advanced capabilities for the computers of today. The UEFI boot process differs from BIOS in that it uses GUID Partition Table (GPT) to save information about the hard drive data, while BIOS still makes do with the very old Master Boot Record (MBR) technology.The major difference between UEFI and BIOS is that MBR is restricted to using 32-bit entries in its table, and this limits the total physical partitions to only 4. Furthermore, each partition can be only a maximum of 2TB in size. GPT, on the other hand, uses 64-bit entries in its table, and this dramatically extends the size possibilities of the drives.
In addition to that, UEFI is designed to be modular, and this means that only what is required for the system is loaded and accessed at boot — for example a network card driver or a RAID controller.
UEFI being able to run in 64-bit mode also gives it more addressable space than BIOS, and this enables it to enhance the boot time and speed of the computer right at the start. This is especially true if you have large capacity hard drives installed on your system. However, this speed enhancement is normally a fraction of the boot time, so most people will not notice a huge difference in overall boot time.
Since the UEFI specification is not designed to replace the BIOS, it still initiates certain things outside its environment. For example, the POST is still done separately to ensure that all the hardware is working as intended before moving on.
UEFI Secure Boot
This is a key feature of UEFI, Secure Boot. It ensures security of your system by only allowing digitally signed drives from loading and helps prevent malicious software from taking hold. The operating system is checked for validity to ensure that no malware has tampered with the boot process.A traditional BIOS will boot any software, it is not able to tell the difference between a trusted boot loader and a malware. This makes it possible for certain types of malware, like a rootkit for example, to replace your boot loader. The rootkit can load your OS completely normally, without even a hint that anything is wrong — making the threat completely invisible and undetectable on your system.
Secure Boot is designed to stop this.
Windows 8 and Windows 10 PCs ship with a Microsoft certificated stored in the UEFI, and it will check the boot loader before launching it to make sure that it is signed by Microsoft. If a rootkit or any other type of malware tampers with or replaces your boot loader, UEFI will not allow it to boot.
Microsoft has put its weight behind this feature in both the modern versions of its operating system. If a PC manufacturer wants to place a Windows 8 or Windows 10 logo sticker on their PC, they are required to follow certain guidelines and enable Secure Boot.
Unfortunately, this has a downside, as it prevents users from installing some Linux distributions, and this can be quite a hassle. All the big ones do support Secure Boot, though, including Ubuntu, Fedora, Red Hat Enterprise and openSUSE. These will work on modern hardware without any tweaks.
UEFI in Windows 10
Microsoft went all in with UEFI with Windows 8. That version of the OS started the transition, and it continues in Windows 10. Both operating systems consolidate the various boot options into a single screen that goes by as “Advanced Options”.
This is the menu that provides various repair tools and options for changing the startup behavior of the operating system like debugging, booting into the safe mode and launching a recovery environment. All of this should be familiar for users of the previous versions of Windows, but all the options are nicely brought together and tucked away in this convenient place.
What this means is that instead of pressing a key while your PC starts, you access your UEFI settings through this Windows menu. Besides, with the advent of SSDs, computers boot up so fast now that most manufacturers did not want to slow down the boot process to accommodate pressing of a key.
That said, there are computers with UEFI that allow you access in similar fashion to a BIOS, by pressing a button during the boot up process.
How to find UEFI in Windows 10?
You may be aware how when performing a clean install or repairing Windows 10 boot issues, you need to go to the BIOS to change the boot setting or give your USB or DVD drive the boot priority? But what if your computer is using UEFI firmware, how to get to it from Windows 10?
There are a couple of ways to find out, including digging around in the files. But the easiest route is to check things out via the System Information app.
Simply search for System Information in Start and fire up the application. The main screen with the System Summary will list this detail on the right, as BIOS Mode. If it says Legacy, it means your device is running on BIOS. If it says UEFI, then you are rocking a system with support for UEFI.
If you are running UEFI, the next step is to launch into the environment. This is a bit more complicated than pressing a key at boot to go into BIOS. But there are only a few steps involved, and Windows takes you directly there.
Go to Settings, then choose Update & Security. Then click on Recovery, and at the Advanced startup section, click the Restart now button. Your system will restart. You will now be provided with a few options, where you should click on the Troubleshoot button. Choose Advanced options to get to the next page, and after that select UEFI Firmware Settings. Finally, click Restart to your computer and enter the UEFI interface.
Different computers have different UEFI user interfaces and features. But navigation is almost similar in most cases, and the basics the same.
The UEFI future
In case you’re wondering, there is no way to switch from BIOS to UEFI on an existing computer. You need to buy new hardware that supports UEFI — most new computers do now. On top of that, most UEFI implementations provide BIOS emulation as well, allowing you to install and boot old operating systems that work with BIOS like Windows 7.
This is what enables backwards compatibility for the UEFI technology.
Yet, UEFI is not quite meant to replace the BIOS. Many older and less expensive motherboards continue to use the BIOS system to interface between the hardware and the user. Not to mention, it is hard to find the new firmware quite across the spectrum.
Intel is finally taking some big steps towards the transition from BIOS to UEFI, and outlined plans in 2017 to remove legacy BIOS support from UEFI in 2020. Remains to be seen whether AMD has similar ideas, and how much time the industry takes to completely move to UEFI. But it’s getting there.
UEFI and BIOS, at their core, may simply be two different types of motherboard software. But they are different enough that it often leads to confusion among users, particularly those that have little interest in the hardware side of things.
Fact is, UEFI is the future, a huge leap in computer technology. And the sooner you familiarize yourself with it and how it works, the better, as BIOS slowly fades away.