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

Oligarchs and States Always Attempted to Obstruct Efforts to Expose Their Corruption
We commend the administrator who consistently and adamantly defend the freedom of speech
GNU/Linux Exceeding 5% in Guadeloupe According to statCounter
GNU/Linux "share" estimates in Guadeloupe
EPO People Power - Part XXXII - Little Hope That European Press Will Attempt to Expose Drug Abuse in Europe's Second-Largest Organisation
What does this tell us about the press in Europe?
IBM SkillsBuild as Microsoft Training, Microsoft Vendor Lock-in, Microsoft Surveillance
Microsoft benefits from IBM's "training"
 
GNU/Linux Exceeding 6% in Cape Verde
Windows is measured as down sharply
When It Comes to Health, Slop is a Flop and It Kills People
Chatbots will mostly die after many people die due to them
2026 Has Begun Well for GNU/Linux Users (and for Us)
A lot of the anti-Linux FUD we got accustomed to seeing some years ago became scarce
Links 12/01/2026: Vista 11 Exodus and Famicom/NES Game
Links for the day
Links 12/01/2026: Twitter (X) Being Blocked in More Countries, PTAB Besieged by Cheeto Appointees (Bad Patents Getting Through)
Links for the day
Links 12/01/2026: Brussels Plotting Exit From GAFAM (US), Carole Cadwalladr Explains "Peter Thiel's New Model Army"
Links for the day
Scheduled Maintenance Between 15th of January and Days to Follow, Free Software Foundation (FSF) Looking to Add 43 More Members by 16th of January
People who value Software Freedom should consider joining to support the FSF
Bracing for Microsoft Layoffs, Tired of Microsoft Lies, Microsoft Staff Wants Transparency, Not Face-Saving Coverup From Frank Shaw
totally made up stock price
GNU/Linux Estimated at Around 5% in Montserrat
another country where the "share" of GNU/Linux is now measured at 5%
Dr. Richard Stallman @ Georgia Tech Next Week
More Than One Week From Now
Three most controversial Australian authors linked to St Paul's, Coburg
Reprinted with permission from Daniel Pocock
Links 11/01/2026: Data Breaches and Recent (Early 2026) Political Developments
Links for the day
Gemini Links 12/01/2026: Insomniacs After School and Boycotting Amazon
Links for the day
Over at Tux Machines...
GNU/Linux news for the past day
IRC Proceedings: Sunday, January 11, 2026
IRC logs for Sunday, January 11, 2026
Brett Wilson LLP 'Dropping' the LLP, Is This Rebranding?
It's not a coincidence or a glitch, there was a formal change somewhere in the system
Can IBM Still Control the Narrative?
We'll see what comes out through the grapevine later this week
EPO People Power - Part XXXI - Almost No Crime is Possible Without Enablers and Complicit Colleagues
By the middle of January 2026 we'll have taken things up another gear
Aruba's GNU/Linux Adoption Seems to Have Reach All-Time High This Year
ChromeOS rose by a lot too
After the LLM Slop Frenzy...
In every way, slop is no better than spam
Links 11/01/2026: 'Nothing to Lose' in Iran and Kyiv Restores Electricity
Links for the day
Gemini Links 11/01/2026: "Late To The Party" and "Thinking About Software Licences"
Links for the day
Links 11/01/2026: Bob Weir and Stewart Cheifet Perish
Links for the day
Higher Adoption Rates of GNU/Linux in Cyprus in Recent Years
there are some Cypriots who are championing Free software
Microsoft's linkedin.com is Shrinking, Expect LinkedIn Layoffs to Carry on in 2026
Expect the mass layoffs and office closures to carry on there, maybe as early as next week
Gemini Links 11/01/2026: Scott Morgan and 'The Unix Way'
Links for the day
IBM to Be 'Reorganised'
The rich look for ways to 'monetise' what's left IBM
Dr. Andy Farnell Explains Why He'll Stop Sending E-mail to Microsoft and Gmail Users
The article is long and well worth reading
Over at Tux Machines...
GNU/Linux news for the past day
IRC Proceedings: Saturday, January 10, 2026
IRC logs for Saturday, January 10, 2026
Monday, January 12, Red Hat Layoffs Allegedly Planned
We'll update this post or follow up if or when we get more information
Slop Still Becoming Rare as Another Week Ends
Generally speaking, calm and quiet is desirable, it's what we hope for (an absence of slop, a lack of need to keep abreast of it, ultimately)
Links 10/01/2026: Iran Offline, Venezuelans Decry Civilian Casualties
Links for the day
GAFAM Wants War
Go war! Go bailouts! Go debt! Go Wall Street!
GNOME Foundation's Microsoft Developer Account
"Lately they're teaming up with Mozilla to eliminate middle click paste - something which I use continuously."
GNU/Linux and Chromebooks Rose to Almost 10% in Haiti
What's noteworthy is that this month GNU/Linux is measured at around 8% and ChromeOS at about 2%
Links 10/01/2026: "Abolish ICE or GTFO", Calls to Ban X/Twitter From Apple/Google App Stores (or Implement National Blocks) Over MElon Turning It Into Non-consensual Deepfake Porn Site
Links for the day
EPO People Power - Part XXX - New Year Starts, Cocainegate Still Discussed a Lot, António Campinos Desperate for Distraction From It
Why the sudden change or 'generosity'? [...] Actual cocaine addicts caused nervous breakdowns among sober people
2026 Might be the Year Microsoft Replaces Layoffs With Mass Firings (No Severance Payments to Dismissed Staff)
It's hard to "see" PIPs unless insiders blow the whistle
IBM and Microsoft Hiding Layoffs in Similar, Overlapping Ways
Performance Improvement Plans aplenty
IBM is a Cancer That Attaches Itself to Everything
Red Hat should have remained an independent company
Links 10/01/2026: STV Layoffs (Scottish TV), “CBS Evening News” in Chaos (Culls and Censorship by the US Regime)
Links for the day
Over at Tux Machines...
GNU/Linux news for the past day
IRC Proceedings: Friday, January 09, 2026
IRC logs for Friday, January 09, 2026
Gemini Links 10/01/2026: Blackout, E-Waste, and Secondary Smartphone
Links for the day