Getting older, not necessarily wiser!
If you are anything like me, you probably were able to grasp the basic concept of using either the Basic Input/Output System (BIOS) or the Unified Extensible Firmware Interface (UEFI) to boot your computer. For most users, understanding that you need to use one or the other is enough. However, again if you are like me, comprehending the details of each system required a little bit more study.
I am going to take a sightly different tact here than I see in most articles on the subject. The normal approach is discuss BIOS versus UEFI. If you have read more than one article, you may have also seen some conflicting jargon. I am going to take a step back and take a simplistic look at the basics of the computer startup process. Understanding the startup process will make it easier to understand either BIOS or UEFI.
System board (also referred to as motherboards) are complex items. In addition to the many other components, they contain Non Volatile Random Access Memory (NVRAM). Additionally, some mother boards also contain Volatile Random Access Memory. If a system board has volatile memory, it will also have a small battery of some sort to keep it alive.
Note this is not the same as memory modules that get plugged into a system board. Also, this is an oversimplification for the purposes of this discussion. I don’t want to get bogged down talking about various memory types and functions.
One of the reasons NVRAM is present is to contain the system board firmware. When power is applied to the system board, the processor starts executing the firmware code. This code does several things during the boot process. In no specific order the firmware may be doing any of the following low level processes during startup.
The method of booting a computer in the good old days was with a program within the system board firmware called BIOS. Sometimes referred to as Legacy BIOS today. That is a bit of a misnomer, but I understand the reasoning behind the jargon.
All system boards that used the BIOS system also had volatile memory (usually referred to as CMOS), keep alive by a small battery. Pressing the correct key on the keyboard during startup will open the BIOS (Display/Modification) screen. Any changes made will be saved to the volatile memory. If volatile memory is lost, the BIOS would use its default parameters on the next startup.
Once the BIOS has loaded any custom settings and finished checking the system board and attached components (POST), it looks to the first sector of the boot drive which identifies the operating system, and how to start it. This is called the Master Boot Record (MBR). By default the BIOS will go to the first sector of the first drive. If it is not the first drive, then this would be one of those custom settings from the CMOS.
The BIOS system has some limitations, mainly due to its age, and processor mode. The major ones are; trouble with hard drives larger than two terabytes, limited to four primary partitions, can only initialize one device at a time.
On newer system boards, the BIOS program in the firmware has been replaced with the UEFI program. UEFI is a much newer program that overcomes many of the older BIOS limitations. On some system boards, the UEFI can default back to the older BIOS behavior if needed.
UEFI does not use the MBR. Instead, it uses a special partition called GUID Partition Table (GPT). GUID stands for Globally Unique Identifier. UEFI keeps a list of all drives with a GPT partition.
UEFI does not suffer from the same addressing and space issues that the legacy BIOS program had. Because it uses a partition instead of a sector, a more comprehensive bootloader is installed. Therefore, it can provide a more detailed and graphical setup display, recognize larger hard drives, and handle more partitions.
Another function of UEFI, that is not available on BIOS is secure boot. This feature has gotten mixed reviews, basically for the way it was introduce (a subject for another time). Some people hate it, others love it.
Hard drives used with the legacy BIOS, or in legacy BIOS mode, need to be formatted with a MBR. Hard drives used with UEFI bios need to be formatted with a GPT partition. The two types of formats are mutually exclusive. A hard drive must be one or the other.
There are conversion programs to change a MBR hard drive to a GPT hard drive. Generally it does not work the other way.
The term BIOS, as used today, started with the IBM personal computer back in 1981. It has gone through a number of changes and refinements, but is showing its age. EFI, originally developed by Intel in the 1990’s, was the base for the UEFI system now being used, with the first implementation in 2005. Since the specification was designed much later, it did not suffer the issues if the “Legacy” BIOS on modern systems.
Both are firmware code that live on a System Board. UEFI can have a legacy mode making it act like the older BIOS. BIOS used the first sector of the bootable hard drive to initiate the boot process. UEFI uses an entire GPT partition for its boot code. With continued system advancements, the “Legacy: BIOS will soon disappear altogether.