Comparison of UEFI and BIOS – from an operating system perspective
In a recent blog (the one right below this one, on the previous …/communities/blog/ page) I discussed the transition from BIOS (Basic Input Output System) to UEFI (Unified Extensible Firmware Interface) firmware from a hardware perspective. In this blog I’ll address the comparison from the operating system perspective. There is a definite overlap between each of these perspectives, so I’ll try to reiterate the commonalities in this blog as well. That way this blog entry is as much of a standalone document as possible. However, I recommend you read each blog so you get both perspectives.
Systems Are Transitioning
The x86 system market is currently in a transition from BIOS-based system firmware to UEFI-based system firmware. This includes desktop, laptop, workstation and server systems. As this transition occurs, the operating system installation and boot processes must transition as well. SUSE Linux Enterprise operating systems have supported this changeover from the beginning, when SUSE hardware partners started releasing systems with this new firmware architecture.
YES Certification Validating Firmware
The SUSE development and YES Certification teams work closely with all major and a large number of smaller hardware partners. From a YES Certification standpoint we test and validate the interaction of the hardware, firmware and operating system, then publish YES Certified Bulletins that document what was tested and the results of that testing. Certification today can be performed on a BIOS configured system, a UEFI configured system or a UEFI-legacy configured system. In each case the SUSE Linux Enterprise operating system is booted, installed and certified using the systems’ specific firmware configuration. The certification bulletin highlights specifically the firmware configuration tested. The best place to search for a YES Certification hardware bulletin is https://www.suse.com/yessearch/.
System Boot Process
When the SUSE Linux Enterprise installation begins, it detects and boots the correct install environment based on the type of firmware the hardware system presents to the install application. This is true for both DVD and PXE-network installations. A PXE-network install must be set up correctly for either a legacy or UEFI installation, and the hardware must be configured accordingly as well. It is possible to set up both legacy and UEFI PXE configurations on the same network, thus allowing the hardware to determine which PXE menu is booted for its specific configuration.
If the SUSE Linux Enterprise install determines that the system is BIOS or UEFI-legacy, it will configure the install based on an MBR (Master Boot Record) configured hard disk, and the partition table will be MSDOS. The install then configures the disk with a swap partition and a / (root) partition by default. Depending on the version of SUSE Linux Enterprise you are installing, it may also create other partitions by default. But only the swap and the / partitions are required on a BIOS or legacy system. When the system boots, it uses the boot sector MBR to start the boot loader, which in-turn starts the operating system. If a 32-bit SUSE operating system is installed, the system configuration will always be BIOS or legacy. UEFI installation and booting are only supported on 64-bit SUSE operating systems.
SUSE Linux Enterprise Boot Loader
It should be noted that the default boot loader with SUSE Linux Enterprise Server 11 is GRUB if you are installing on a BIOS or UEFI-legacy system; the default boot loader for a UEFI installation, with SUSE Linux Enterprise 11, is ELILO. SUSE Linux Enterprise Server 12 uses GRUB2 as the default boot loader for all installations. Also, the kernel boot menu files on a BIOS or UEFI-legacy system are located in /boot/grub/menu.list. But on a UEFI system these are now located in /etc/default/grub.
If the SUSE Linux Enterprise installation application determines that the system is UEFI, it will configure the install and disks based on a GPT (GUID* Partition Table) partition-table, using a SUSE ESP (EFI System Partition) for booting. The ESP contains any UEFI applications, the boot loader and the Linux kernel. The ESP will automatically be created, or you can manually create it during the SUSE Linux Enterprise disk partitioning step of the installation. The ESP is also entered into the hardware system setup boot manager by the installation and will be designated as the first boot entry. From within the system setup the boot entries can be reordered, new entries added or existing entries deleted. (SUSE Linux Enterprise 12 has built-in backups that protect against deleting an entry mistakenly. One way around these fail-safes, in a “test” environment, is to re-create the partition table – caution all data on the disk will be deleted). The ESP must be mounted to /boot/efi, and it will be formatted with a UEFI version of the FAT file system (the FAT file system provides extended compatibility). In addition to the ESP the installation will also create a swap partition and a / partition, by default. Depending on the version of SUSE Linux Enterprise you are installing, it may also create other partitions, such as /home, by default. On a UEFI installation there are three required partitions: ESP (mounted to /boot/efi), swap and / (root).
EFI Boot Manager
When SUSE Linux Enterprise is booted and running on a UEFI system, the UEFI variables can be managed using the EFI Boot Manager command-line utility “efibootmgr.” The efibootmgr utility gives you the ability to view the UEFI boot entries, change the default boot entry and add boot entries from the command line of a running SUSE Linux system.
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 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.
Boot Options on a YES Certification Bulletin
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 used by the operating system.
One topic that I noticeably did not address in this blog is secure boot. I will discuss this topic in a standalone future blog. Stay tuned. I also did not address the comparison of UEFI and BIOS from the hardware perspective in this blog. As mentioned above, that is a separate blog released at the same time as this one (Comparison of UEFI and BIOS – from a hardware perspective). Please read it too. I hope this gives you some helpful information about the transition from BIOS to UEFI on the operating system 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