UEFI: the Good the Bad, and the Ugly

Published on February 16, 2023 at 7:39 am by LEW

Introduction

In late 2021, I published a post entitled “BIOS vs UEFI Takeaways”. This is a followup post, and my focus will be on the newer UEFI, what is good about it, what is bad about it, and what is just plain ugly about it.

I would like to note that some of what I am presenting here is just my personal opinion. Some of it based on the reading of various source documents, others on my experiences with corporate America.

As always, I strongly suggest people do their own research of all available source material, so they can come to their own informed conclusions.

Unified Extensible Firmware Interface Forum (UEFI Forum)

The UEFI Forum is the current de facto official source website for UEFI. There are a variety of other sites (like Tiancore for example) out there.

Regardless of which sites you chose to visit, it quickly becomes obvious that UEFI has become a “jack of all trades, and possibly a master of none”. I find reinforcement of this opinion in that I have often seen it referred to as a mini operating system.

To continue, UEFI consists of multiple specifications written by the UEFI Forum. These cover the architecture of the firmware, the boot process, the external interface, supported platforms, and add on applications (like secure boot).

Whats Good about UEFI?

Hard Drive Size: The older Bios had a 2 TB disk size boundary, which UEFI does not share. Now this has never been a problem for me, as I have never had a reason to install a drive larger than 1 TB. Of course when I started with computers a 10MB hard drive was considered large, so take what I say here with a grain of salt. I can see how someone ripping their entire CD/DVD/Blureray collection in non compressed format might need a drive larger than 2 TB.

Number of Partitions per Drive: Under then older BIOS, we were limited to four primary partitions (this could be gotten around with logical partitions, not an ideal solution). UEFI can have 128 partitions.

Note: I see a lot of arguments against partitioning, calling it old school. Some say install another drive, and admittedly drives are cheap now days. However there are some situations where that is not an option, and partitioning is a viable solution.

Boot File Sizes: In the old BIOS system, there where some limitations on the size of the various file used in the boot sequence. This was due to technical reasons based on the age of the BIOS standard and what was available back in the day. UEFI removes these limits, allowing more complex boot sequences. This is especially noticeable with the inclusion of Graphical User Interfaces to hardware settings (can’t call it BIOS settings anymore).

Other Boot Devices: UEFI has better support for non standard boot devices. Legacy BIOS generally supported floppy, CD/DVD, and Storage Drive as boot options. UEFI has built in support for other options, like booting form a network card for example.

Application Modules: In UEFI additional support/functionality can be added with application modules. There is a coding standard available for anyone wanting to write such modules. Legacy BIOS did not really support this type of extended functionality

Security: UEFI has support for additional security features/modules. Two common ones seen today are TPM and Secure Boot. Legacy BO+IOS had no built in support for added security.

Note: While TPM and Secure Boot can be used by UEFI, they are not UEFI.

Whats Bad About UEFI

Can be unstable: UEFI, while not new, is evolving and changing. I personally have had issues with some versions of UEFI not playing nice with both Operating Systems and hardware. While the old BIOS had no actual standard (there was a de facto standard), it was well understood (mainly to to how long it had been around and how limited it was). UEFI has an evolving standard (last release I know of was AUG of 2022). It is said that all non trivial programs have bugs. I have seen UEFI updates break all sorts of things. Maybe in ten or twenty years it will have become a more robust and reliable standard.

Not Compatible: There are lots of software and hardware out there still in use that will not be comparable with the UEFI standard. While compatibility with older BIOS can be built into UEFI, this is not always the case.

Note: UEFI is a standard, and every OEM is free to implement the standard however they want. This contributes to issues with both stability and compatibility.

Whats Ugly about UEFI

Designed by Committee: UEFI was and is designed by committee. And like anything designed by committee you never get the best possible end result. This is because the various committee members are pulling the project towards their desired goals at the expense of the actual goal.

Corporate Abuse: You should really take the time to read the various standards for UEFI, and take a look at who the promoters/contributors are. I have sat in enough corporate meetings and seen enough corporate decisions to know that money is always then bottom line.

In short then corporations involved have their own goals (making money). And they will drive then project towards those goals.

Conclusion

In this post I have looked at UEFI from a high level, talking about what is good and what is bad. Overall UEFI is out of its infancy, but still growing. It has a ways to go before reaching stability. Its advantages outweigh its disadvantages, and it is the way of the future.

If only the OEMs had pursued IPV6 with the same gusto…

Add New Comment

Your email address will not be published. Required fields are marked *