For the past several years, x86 hardware systems (including desktops, laptops, workstations and servers) have been transitioning from BIOS-based (Basic Input Output System-based) to UEFI-based (Unified Extensible Firmware Interface-based) firmware interfaces. This firmware interface is usually just called “system firmware.” It is the initial code that recognizes the hardware components in the system and initializes it so that it can be handed off to the operating system at boot time. This transition is important to understand from a compatibility or hardware certification standpoint; true compatibility testing validates where the operating system and the hardware touch or interact with one another. The system firmware, BIOS or UEFI, is right in the middle of that interaction.
That’s why from a YES CERTIFICATION standpoint we test and validate the hardware, firmware and operating system interaction; then publish YES CERTIFIED Bulletins documenting what was tested and the results of that testing. Here at SUSE we want you to have the knowledge and understanding to make great choices for your hardware and operating system needs. The best place to search for a YES CERTIFICATION hardware bulletin is https://www.suse.com/yessearch/.
BIOS technology originated early in the development of personal computers. BIOS system firmware is limited and functions only in 16-bit mode; this, in-turn, limits the amount of memory address space. When booting a BIOS-based system, the hard disk uses the first sector or MBR (Master Boot Record) on the drive. The MBR then keeps track of the drive partitions and points to the location on the drive from which the operating system is started or loaded. There is no redundancy in the MBR by default. BIOS-based systems can boot only from a hard disk that is less than 2.2 TB (terabytes) in size*. The partition table type of a BIOS-based hard disk with Linux is MSDOS, which is a good indicator of how old BIOS technology is. Finally, MBR-based drives are limited to four primary partitions.
In addition to the limitations listed above, BIOS technology has been extended over the years beyond its initial scope to accommodate new functionality; one well-known example of this is the new functionality added when ACPI (Advanced Configuration and Power Interface) was introduced. With these limitations, shortcomings and the addition of extensions, a new technology was needed. UEFI fills that need.
UEFI technology was originally developed for the non-x86 Intel Itanium server architecture many years ago. It is also the technology used on Macintosh computers. Eventually it was transferred to the Unified EFI Forum, which governs the specification today. UEFI can function in 32-bit and 64-bit modes and does not have the limitation of a small memory address space. UEFI technology is even designed to be architecture-independent, so drivers or components will work with any CPU that is presented to it.
UEFI uses a GPT (GUID** Partition Table) partition-table, which has the theoretically upper limit of 9.4 ZB (zettabytes)*. I say “theoretically” because we are nowhere near having hard drives that large today, in fact, most documented storage specifications don’t even go that high. (For your reference, Gigabyte=10243, Terabyte=10244, Petabyte=10245, Exabyte=10246, Zettabyte=10247 and Yottabyte=10248). With GPT-based drives you no longer use the MBR for the boot process; instead GPT uses a Primary GPT Header on the disk, which is also redundantly backed up at the end of the drive in case there is corruption on the primary header. GPT-based drives can also support up to 128 primary partitions. With UEFI the ACPI functionality is designed in and can also be extended. UEFI is designed to move forward with new hardware, and it integrates very well with innovative operating systems, like SUSE Linux Enterprise.
It should be noted that sometimes the terms “BIOS” and “UEFI” are used interchangeably to describe a hardware platforms “system setup” program. Many systems use the F1 or F2 key to initiate the system setup at boot time. Within a specific system setup program the various boot and install options can be changed, usually between the following options: BIOS, UEFI and UEFI-legacy (sometimes just called “Legacy”), or some other similar terminology. The user can then designate how the system will boot by default, thus also defining how the operating system is installed – legacy or UEFI. Most UEFI-based systems today have a legacy BIOS functionality integrated in the UEFI system firmware, it provides a backward compatibility mode. A few newer systems today do not include this legacy compatibility mode, they are UEFI only. It is assumed that in the next few years all desktop and server systems will be UEFI only. When a UEFI-based operating system is installed, such as SUSE Linux Enterprise, it will add a new entry in the boot manager of the system setup and boot the newly installed OS using UEFI.
SUSE Linux Enterprise has integrated the workings of the UEFI specification, but it also still works in compatibility mode (UEFI-legacy), and with older BIOS-based systems. From a corporate network infrastructure standpoint, systems are completely interchangeable regardless of the system firmware type, install type or boot method. Thus, any type of system configuration, BIOS, UEFI or UEFI-legacy, can be used on the same network without users knowing the difference.
All YES CERTIFICATION bulletins list how the hardware and operating system were configured and tested during certification. On a bulletin, under the tested configuration section there is a BIOS/UEFI line, it will list either UEFI, BIOS or UEFI-Legacy. This indicates how the system was configured and tested. It then lists the version and date of the system firmware installed on the hardware.
One UEFI topic that I noticeably did not address in this blog is secure boot. This was actually covered extensively in three previous blogs. To read those blogs do a search for “Secure Boot” at suse.com. I also did not address the comparison of UEFI and BIOS from the operating systems perspective in this blog. That is a separate blog that was released at the same time as this one (Comparison of UEFI and BIOS – from an operating system perspective). Please read it too. Hopefully this gives you some helpful information about the transition from BIOS to UEFI, on the hardware side. You can find more information about SUSE YES Certification at https://www.suse.com/partners/ihv/yes/ or search for YES CERTIFIED hardware at https://www.suse.com/yessearch/. You can also review previous YES Certification blogs at YES Certification blog posts.
** GUID = Globally Unique Identifier