Differences between BIOS and UEFI Firmware and Legacy and UEFI Mode Systems
Before going in detail, we must accept the fact that UEFI environment is created to replace the good old BIOS interface. Though BIOS is in a de facto situation now, still both of the firmware is working with grace as before. About the new system, it is not a type of BIOS, but more than that, including almost all the old features from its predecessor.
Therefore, the recommendation goes always with the modern UEFI setup. But, being the experimental child of modern demands, it is still facing its own issues too. Though, being in the toddler age, its every upgradation comes with the solutions of the previous concern to make it a wholesome for all users. Its proper implementation has started from the Windows 10 version 1709. Since then, the new models launch with the default UEFI mode.
Here, I must smash out the biggest confusion lurking around this matter. UEFI is not a brainchild of Microsoft, it never was. The ancestor was EFI, originated by Intel. And UEFI is controlled by the UEFI Forum, where Microsoft shares a member’s seat together with all the major PC manufacturers including Red Hat, Apple, and so and so.
Now, let us consider the case of the Dual-booting, that is when we use different OSs in one single machine. In that case, you should surely go through the following topic to make the right choice. Because, it is advisable to install the OSs in the same boot mode. Otherwise, you can skip the effort, and better go for the next one.
Note: In dual booting, each OS is installed on an individual partition inside the main hard drive.
Again, if you want to understand the firmware from the beginning of its time, you can go through the reference of the paper A Tale of Two Standards and the UEFI specifications in the UEFI official site.
Here, we will be focusing on the present day differences between both the environment based on their boot process.
BIOS Boot Process: Source 1.
Boot Process of UEFI PI Components: Source 2.
Step by Step Differences
When we turn on the device, the central processor executes startup code located in the ROM.
Firmware: BIOS → EFI → UEFI
- Old BIOS code was written in the plain ROMs, which had no option to alter or erase the code. Hence, the software couldn’t be upgraded as per demand.
- Modern BIOS code is written in the option ROM, i.e., EPROM or EEPROM, which can be updated and programmed to perform some tasks like changing boot order; turning on/off IDE/SATA ports, Serial ports or USB ports; Power Management(ACPI); controlling CPU or RAM frequency; Video Initialization(X.org); controlling motherboard fan for hot swapping.
- But, the option ROM storage is limited to 64 kb, and you must upgrade this ROM each time you update the hardware. Otherwise, it won’t work.
- Moreover, BIOS code is limited in 16-bit real interface realm.
- To-date, Most BIOS are able to boot only from MBR(Master Boot Record) Partition disks, which supports up to 2.2 TB(TeraByte) partitions and uses 32-bit values for coding. A tiny front part of the MBR disk contains a boot loader(a small piece of code) executable by the BIOS, and then it boots the OS. The BIOS is simple as an infant, who can only run what’s inside a disk’s MBR. The boot loader then completes all the hard work.
But, the MBR does not contain enough space for the modern boot loaders. They just install a little part of themselves inside the MBR proper, and the remaining part tries to adjust at the space between the end of the MBR and the starting of the first partition inside the disk. In that case, there is no good way to decide the right place to begin the first partition. And for some boot loader configuration, this space is not enough.
Note: Network booting is available in both BIOS and UEFI.
To overcome these issues, first came the EFI firmware system. UEFI is the second version of this firmware, which came with the models after 2010.
This system is able to
- Boot from disk size up to 9.4 ZB(ZetaByte – TB > PB > EB > ZB), using GPT (GUID Partition Table).
Note: GUID (or UUID) stands for ‘Globally Unique Identifier’ (or ‘Universally Unique Identifier’). It’s a 128-bit integer number used for identifying resources. The term GUID is specially used in Microsoft technologies, while UUID is used elsewhere.
- Support user-friendly graphical interface with a huge range of different colors, and animation. It is also capable of recognizing large storage devices.
- Recognize both mouse, and keyboard while dealing with the UEFI framework, unlike the old system.
- Carry its own built-in feature called the Secure Boot. This one prevents any digitally unsigned drivers from loading, along with any malicious software like Rootkit.
Provide a modular interface, independent of the CPU architecture. This interface supports applications and devices controlled by EFI drivers (EBCs, EFI Byte-Code).
Note: If you want to know the firmware build of your machine, the precise way is to go through the motherboard manual.
Now, after UEFI implementation, a new boot mode was born:
- UEFI mode: The new boot mode requires the separate EFI partition for bootloaders to store.
- BIOS mode: The old method used by the BIOS, where the bootloaders are stored in the disks.
Here started the confusion. OS installed in BIOS mode can’t be booted using UEFI mode unless we modify or reinstall the whole system, and vice-versa. This is the reason UEFI now supports the Legacy Mode.
Legacy Mode vs UEFI Mode
Legacy Mode is the process of operating UEFI similar to a BIOS. Hence, it is also called as Legacy BIOS mode, provided by Compatibility Support Module (CSM) inside the UEFI implementation.
Note: It is advisable not to mix both Legacy and UEFI mode in the same computer, and definitely not on the same disk. What you decide, it’s up to you, but use only one of them consistently.
This method does not include a lot of benefits of the UEFI, namely the Secure Boot and the Fast Boot. Though the graphical user interface remains here too.
The main difference here is that the UEFI is bootable from MBR disks, and hence, compatible with non-UEFI installations.
But, there are other things that we need to consider here.
In Legacy mode, we can have only 4 Primary Partitions, whereas the number is 128 in case of UEFI native mode.
Also, in UEFI based machines, we can load more than 2 OSs in the single system, whereas the Legacy mode can work well for 2 OS only.
UEFI Boot Speed
The speed difference mainly occurs in the customization options and, in the hardware initialization system at the early stage of the process. In this way, cache and hibernation files help in booting faster than the BIOS mode. But, the process is so fast like lightning speed, that it’s almost impossible to notice the POST screen also. Though we can’t properly understand the speed difference, it does make a distinction in performance at the statistical level.
UEFI Performance Enhancemennt Graph 1 : Source 2
UEFI Performance Enhancemennt Graph 2 : Source 2
The Legacy mode coding uses assembler, whereas UEFI uses C/C++ language. Also, the old assembler language can be more confusing with its long line of codes. Also, in the BIOS compatible mode, a hardware upgrade is the necessity for system updates. Hence, it requires more complicated and numerous lines of code to complete the process.
Again, EFI format provides a user-friendly and object-oriented interface, which is not available in the BIOS mode.
Here is something to add: According to the Windows OS update models, Windows 10 LCU (Latest Cumulative Update) packages (only update model) are more beneficial than the legacy OS update models. Before that, the different types (cumulative as monthly rollup and security-only) of update models were creating a lot of confusions and issues through worldwide users. Hence, Windows 7 and 8 Legacy OSs were moved to a cumulative model in 2016, and Windows Server 2008 SP2 in October 2018. Though they still have other options too, switching in different models is not recommended. These models work differently than the cumulative update models in Windows 10.
Cumulative Update model : Source
Legacy OS Security Only Update model : Source
Since, Microsoft is going to end supporting Legacy OSs like Windows 7 SP1 and Windows Server 2008 R2 variants after January 14, 2020 (after 10 years cycle), they are focused on providing best assistance on the modern workplace and to defragment the whole Windows environment.
I hope, you are now able to grasp a little bit on both the world of firmware environments. But, before making a decision, why don’t you go through the next topic to have a detail work process on them?
Go to the next topic Common BIOS Settings in Windows 10.