Bonum Certa Men Certa

The UEFI hype and Microsoft's lies

posted by Roy Schestowitz on Mar 03, 2025,
updated Mar 04, 2025

Wow Retro Speech Bubble

By Sami Tikkanen

More than a year ago I wrote a document that I named "UEFI fact sheet". The purpose was to create a more truthful counterpart to a similarly named document which the UEFI forum was spreading on various Internet sites. For a long time my document was the first search result on most search engines when searching for "UEFI fact sheet". Recently I noticed that Bing (which is owned and maintained by Microsoft) had put my document to the second page of search results, and the first result now points to a disinformation document that is published by the UEFI forum.

For some reason the UEFI firmware is often being advocated by telling actual lies about both UEFI and BIOS, which is supposedly meant to be completely replaced by UEFI. Although these lies are technically not true, they have somehow achieved the status of an "official truth", to such extent that those claims are now everywhere and it is easier to find online sources that support them than it is to find those that don't. Those lies are being spread in such a determined manner that if you try to correct those claims in the articles of the Finnish Wikipedia, the changes are immediately reverted and you even get personally attacked by the user who reverted the changes.

In general the most hardworking UEFI advocates seem to be people who don't do stuff like install alternative operating systems on their computers. They certainly don't write computer code that would have something to do with the motherboard's firmware or interface with the peripheral devices.

The need for UEFI-type motherboard firmware is usually reasoned with seven main arguments:

- BIOS does not support hard disks that are larger than two terabytes (2 TB).

- BIOS supports only 512 bytes long sectors.

- BIOS supports only MS-DOS-style partitioning scheme, and doesn't allow the use of GPT partitioning.

- BIOS supports only four partitions.

- BIOS is insecure.

- BIOS is 16-bit. UEFI is either 32- or 64-bit, so UEFI must be better.

- UEFI is extensible, unlike BIOS.

None of those claims can withstand a closer scrutiny. Let's go through them all in detail.

"BIOS does not support hard disks that are larger than two terabytes (2 TB)."

When Microsoft claims that BIOS is limited to hard disks of two terabytes in size, they actually mean that Windows is limited to that size when it is installed to a computer that has BIOS. For some reason Microsoft has always hardcoded their operating systems to use some specific partition table: MS-DOS has its own partition table, which is also used by all Windows versions, if the firmware type is BIOS. If the computer has a UEFI firmware, the Windows versions newer than Windows 7 use GPT partitioning. Windows 7 and older versions cannot boot from UEFI at all. Microsoft's operating systems don't support other partitioning schemes than those two. The MS-DOS partition table doesn't support partitions that are larger than 2 TB.

For the original IBM PC BIOS the maximum size of a hard disk is 8,4 GB, assuming that the sector size is 512 bytes. That was more than enough at the time. During the 90s the actual sizes of hard drives were rapidly approaching that limit and something had to be done. In 1995 the BIOS specification was appended with "Enhanced Disk Drive Specification" which added the support for 64-bit sector indexing, which also works better with non-spinning disks that don't have a physical CHS* geometry. It means that a storage device can now have 264 blocks, which leads to the largest possible drive size of 8'589'934'592 terabytes with block size of 512 bytes. Currently hard drives use only 48 physical bits for actually addressing the sectors, so the limits of the current BIOS interface are not going to be a problem in the near future.

Often this claim also comes in a different form: "BIOS cannot boot from a larger partition than 2 TB." Of course that's also not true, because BIOS does not care at all about how the drive is partitioned - BIOS only reads the first sector from the drive and executes it as a computer code if it has a boot sector signature.

Actually UEFI is in this sense more limited than BIOS, because UEFI needs to have a FAT32 filesystem on the EFI partition, which makes it practically impossible to boot from a media that does not support random access (such as tape drives).

"BIOS supports only 512 bytes long sectors."

The original IBM PC BIOS supports all sector sizes from 128 bytes to 64 kilobytes. The only limitation is that the sector size must be a power of two, or else the "Disk Base Table" cannot show the exact sector size.

This was also fixed by the Enhanced Disk Drive specification that was mentioned in the previous chapter. It added a "Get Drive Parameters" function that tells the sector size by one byte precision. The claim that BIOS would be limited to 512 byte sectors is not true.

"BIOS supports only MS-DOS-style partitioning scheme, and doesn't allow the use of GPT partitioning."

This claim is also a lie. BIOS doesn't actually "support" any partitioning scheme at all - instead BIOS is completely partition-agnostic and does not care at all how the drive is (or isn't) partitioned. Therefore using GPT partitioning with BIOS is very well possible and most operating systems can do it.

Actually UEFI is again the more limited system here. According to its specification, UEFI supports booting only from drives that have either GPT- or MS-DOS-style partitioning scheme. Most UEFI implementations support only GPT partitioning. BIOS makes it possible to use also other partitioning schemes than those two. ST-DOS, an operating system that I wrote, uses its completely own partitioning scheme, which is so portable that by using it it's possible to copy the entire contents of the physical drive to a larger drive without changing anything. With GPT partitioning it is not possible.

ST-DOS's partitioning scheme also supports an unlimited amount of partitions, and the maximum size of a partition is (216)*(264)*(28) bytes which results in 281'474'976'710'656 terabytes. Unfortunately UEFI doesn't work with ST-DOS's partitioning scheme because UEFI is hardcoded to only GPT and MS-DOS partitionings.

"BIOS supports only four partitions."

This claim is based on the previous claim, which implicates that BIOS is somehow hardcoded to support only MS-DOS's partition table, which can only divide the disk to four partitions. Therefore the claim is not true.

"BIOS is insecure."

This claim is probably based on the assumption that security can always be improved by adding some cryptography. That's why UEFI has a functionality called "Secure Boot", which checks that the digital signature of the bootable program binary (which is usually the bootloader of an operating system) before running it. In practice it has been proven to be nearly impossible to create an actually working implementation of Secure Boot, and UEFI firmwares have been suffering from ridiculous security vulnerabilities that have rendered the whole Secure Boot completely ineffective.

Secure Boot only checks the EFI binary that is loaded from the EFI partition. It doesn't detect much more probable threats, such as changes in the actual operating system's filesystem made by some malware program in an attempt to start itself during the early initialization phase of the operating system. In addition to that most motherboards allow changing the CMOS settings programmatically from the operating system itself, which means that any malware code with sufficient permissions can easily just turn off the whole Secure Boot functionality.

In practice the only guaranteed-to-work way to protect the boot security is to physically write protect the boot media containing the operating system, the firmware ROM chip and also the CMOS chip that contains the firmware settings. Actually that's how it was done before the UEFI buzz became mainstream.

"BIOS is 16-bit. UEFI is either 32- or 64-bit, so UEFI must be better."

Intel's x86-family CPUs have many different operating modes. They start up in the so-called "real mode", where the operand size is 16 bits. The programmer can then chance the operating mode to whatever they like the most. Most modern operating systems use either 32- or 64-bit CPU modes. x86 CPUs have also the so-called "operand size prefix", which allows using 32-bit general purpose registers while the CPU is in 16-bit real mode.

In Turing-complete systems the bit width does not limit in any way what can be done with the computer. Either BIOS nor UEFI doesn't do anything that would greatly benefit from larger bit width of the default operand size. The BIOS interface had to be made for some specific CPU mode, and for historical reasons that CPU mode is the 16-bit real mode. It makes it possible to call the BIOS services from every CPU mode, be it a 16-, 32- or 64-bit mode - therefore it makes sense that the BIOS API of the IBM PC compatible computers is 16-bit. Some BIOS services temporarily switch the CPU to 32-bit mode.

In UEFI's marketing material it is often stated to somehow be UEFI's benefit that the CPU "is already in 32-bit mode" when loading an operating system. In practice switching the CPU mode is such a small part of initializing an operating system that it is utterly insignificant. At most this makes it more difficult to load 16-bit operating systems.

"UEFI is extensible, unlike BIOS."

Again a lie. BIOS has been extensible from the very start and it has been defined in its specification. Practically every graphics card has a BIOS extension on its ROM chip, as well as disk controller cards and network adapters that support booting from network. IBM has released instructions for making BIOS extensions in their book "IBM Personal System/2 and Personal Computer BIOS Interface Technical Reference" in chapter 4-12 Adapter Rom.

Why does this all matter?

The actions of those who spread the marketing lies of UEFI are unethical for many reasons. First of all, lying is bad. It is especially bad when it is done in an attempt to achieve financial gain. Microsoft has implemented an artificial limitation to their operating system, to create an artificial compatibility mismatch between old computers with BIOS firmware and new computers with UEFI firmware. The same operating systems cannot be used on them both anymore. This is how people are being forced to buy new computers when there is nothing technically broken with the old one.

Spreading erroneous assumptions about technology is harmful. The IT industry is already in crisis because of the lack of skilled labour. New junior programmers cannot code anymore because they don't know what they are doing. In school world, concepts are either not taught at all or they are taught in some twisted way wrong.

UEFI's marketing lies are very likely to cause more confusion and misconceptions to people who aim at becoming IT professionals. They need to manually learn away from these misconceptions, which is usually harder after having already once adopted the wrong information as the truth. The industry is in a particular need of developers who are able to do kernels, drivers and other low-level program components, and not many new ones aren't being graduated anymore. The development has taken an unsustainable route and any marketing buzz that contains technically untruthful claims always makes it worse.

In addition to all that, the transition from BIOS to UEFI in the motherboard firmwares has made it difficult (and in many cases impossible) to boot other operating systems and programs than Microsoft Windows. With BIOS you can boot any operating system without having to do any tricks - all you need to do is to insert a bootable disk in a drive and the computer boots from that disk regardless of what type of partition table or filesystem is used by the operating system to be booted. With computers that have UEFI just disabling the Secure Boot is often already very difficult, and it may completely prevent technically less adept people from installing alternative operating systems.

BIOS is an abbreviation of words "Basic Input/Output System". In practice it means firmware that offers runtime services for the operating system to do basic things like write text on the screen, read keystrokes from the keyboard and read and write to the persistent storage media. IBM PC is not the only computer platform that has BIOS-like runtime services on its ROM. BIOS has made it possible for computer hobbyists to create own operating systems without having to separately write drivers for all different models of graphics cards, disk controllers and keyboard interfaces - the driver code has been a part of the motherboard's ROM firmware and abstracted behind the calls to the BIOS runtime services. UEFI doesn't offer any helpful runtime services, so it will also make indie operating system development so laborious that people will mostly just stop doing it. And it will make the lack-of-skill crisis of the IT industry even worse.

____

* Cylinders, heads, sectors.


Addendum/correction (04/03/2025): BIOS does NOT have a 2 TB limit for hard drive size. That is Microsoft's propaganda. The 2TB partition size limit comes from the so-called MBR partitioning scheme that was designed by IBM in the 80s and Microsoft started using it in their PC-DOS 2.0 operating system. BIOS is in fact a much older thing than that. BIOS does not care about partitioning - the disk may have any partitioning scheme (MBR, GPT or any other) or may not be partitioned at all and BIOS can still boot from it just fine.

Other Recent Techrights' Posts

The GNU Manifesto is 40. Here's the Original Print (1985).
Some unpleasant people want to replace GNU with Microsoft-controlled (GitHub) Rust copycats
Unixmen Seems to Have Died After Turning Into a Slopfarm and Spamfarm, Is LinuxSecurity.com Next?
Better to not publish anything at all than to resort to fake garbage.
What Happened to the Open Source Initiative (OSI) Elections: More People Begin to Speak Out
Kuhn set another bonfire ablaze
2025 Rumours of IBM Layoffs in Marketing Likely True, Online Powwow Drops More Clues
Expect over 10,000 layoffs this year (at IBM alone)
Microsoft Windows Barely Exists in Haiti Anymore
This trend in Haiti is a "story in progress"
 
Mauritius: Windows at All-Time Low, Down From 96% to 17%
Put in simple terms, people choose to connect from the "phone" (running Linux), not some laptop running Windows
Many IBM Layoffs Reported Today in Europe and North America
there's definitely a lot going on today
Links 18/03/2025: ‘Meritless’ Defamation Suit Thrown Out, InterDigital Software Patents Headed for the Bin Too
Links for the day
These Strange Web Statistics From The Bahamas Show Windows Falling From 93% to Less Than 5%
There are about half a million there
Gemini Links 18/03/2025: Weather and Resisting "MAGA"
Links for the day
Links 18/03/2025: New Apple Blunders and Windows Disliked by Users
Links for the day
Once Again 'Losing Track' of Who the Clients Are, The Serial Harasser and Strangler from Microsoft
Timing is everything
Android (With Linux) Rises to Record Highs in Hong Kong and in Macao
Looking quite bad for Microsoft
Distractions. Distractions Everywhere.
distracting from the real solution
EPO Concerns About the Education and Childcare Allowance Reform (ECAR) and School Liaison Officer (SLO)
The public deserves to know as it impacts thousands of families
Over at Tux Machines...
GNU/Linux news for the past day
IRC Proceedings: Monday, March 17, 2025
IRC logs for Monday, March 17, 2025
Links 17/03/2025: Weather Changing and Connecting Docker to Localhost
Links for the day
The EPO Might Face Critical 'Brain Drain' (Abandonment by the Most Experienced Patent Examiners) This Year
"a number of colleagues might feel compelled to inform the Administration before the end of May 2025 of their intention to retire as of 1 December 2025."
Links 17/03/2025: Forced Labour and Memory on Tenstorrent
Links for the day
Links 17/03/2025: Live Nation’s DOJ Antitrust Battle Carries on, as Does the Demise of the "Hey Hi" Bubble
Links for the day
Links 17/03/2025: "Badly Misled About Covid" and "Gag of America"
Links for the day
The Lie or Half-Truth of Clownflare (or Equivalents) Improving Things
It may seem "cheap" (temporarily) and "fast", but that's just bait
Free Speech Around the World is Curtailed in the Name of "Protecting Us"
We have spent many years speaking about how to combat this trend
Enshittification of Online Media
Now more than ever we must fight for independent press
War Readiness Means Removing Every Windows Installation and CALEA-Compliant Equipment
Finland is vulnerable for a whole bunch of reasons
Reporting Facts is Not a Privacy Violation
Techrights has long valued and defended privacy
In the Russian Federation (Russia), Microsoft Isn't Even the 1%
the government builds "homegrown" (not pertinent parts of them) distros with which to replace Microsoft, not just Windows
Gemini Links 17/03/2025: "Hack the Planet", Klingnauer Stausee, and Enshittification
Links for the day
Over at Tux Machines...
GNU/Linux news for the past day
IRC Proceedings: Sunday, March 16, 2025
IRC logs for Sunday, March 16, 2025
Slow News Cycles Are Part of a Trend, Technology Gravitating Towards Rich People's Interests
This issue isn't limited to the Web
Recent Site Changes and Looking Towards 2026
In November 2026 we turn 20
Mozilla Firefox is Probably Already Below 2% in the UK (United Kingdom)
LibreWolf identifies as "Firefox" by default
When You Don't Want to Tinker Much You Just Use GNU/Linux, Not Windows
With GNU/Linux upgrades are possible and, failing that, one can just back up the home directory and copy it "back into" the new OS
Facebook REALLY, REALLY, R E A L L Y Does Not Want You to Read This Book
It would be a CRIME to read it
Coming Soon, the Next Chapter About the Crisis of the Open Source Initiative (OSI)
We're far from done
Illuminating Microsoft's Code of Conduct (CoC) Hypocrisy
Oppressor victimhood? Leadership claimed by the worst offenders?
Planet Ubuntu - or Ubuntu Planet - Has an LLM Slop Problem (Called Faizul "Piju" 9M2PJU)
Does investigative reporting have any future at all?
Links 16/03/2025: Handwriting Comeback and "MElon’s Attack on U.S.A.I.D."
Links for the day
Gemini Links 16/03/2025: "Differences Distance" and "Dopamine-addicted Pigeon"
Links for the day
Expect GNU/Linux to Rise Sharply in China
But Red China won't trust Red Hat (IBM), which works for the Pentagon and keeps the "secret sauce" for its OS secret (just what Americans accused China of doing with its distros)
Links 16/03/2025: American Press Under Attack, "France Offers to Take in US Scientists"
Links for the day
Gemini Links 16/03/2025: Threats to Canada and How to Process News Online
Links for the day
Links 16/03/2025: Growing Tariff Hostilities and Social Media Surveillance
Links for the day
Over at Tux Machines...
GNU/Linux news for the past day
IRC Proceedings: Saturday, March 15, 2025
IRC logs for Saturday, March 15, 2025