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

Slop's Achilles Heel: It Increases the Workload, Not Just Costs
Set aside its inability to scale well
Improving techrights.org
Technical debt (like 17 years with WordPress) is something that's better to address early, not later
Laos Leaving GAFAM Behind, Gradually
Yesterday evening it was measured at 10% for GNU/Linux at one point
China Says Goodbye to Microsoft
It is hardly surprising that Windows is shedding off userbase all around the world
 
Instant Impact: GNU/Linux Skyrockets to 10% in China Days After Policy Changes
Let's see what the 'aftermath' looks like by year's end
Links 19/08/2026: Timothy James King (AmigaDOS) Dies, GitHub Goes Offline, Finland Wants to Shun Social Control Media
Links for the day
Mass Layoffs at Dropbox, Blame the Debt, Not Slop Hype
The debt of Dropbox Inc., which isn't an imaginary (estimated) thing, is over 4 billion dollars
Microsoft is 'Angel of Death' to Developers (Even Its Own), 'Voluntary' Layoffs Happening Again
From what we are hearing and reading, there are 'voluntary' layoffs again
Over at Tux Machines...
GNU/Linux news for the past day
IRC Proceedings: Tuesday, August 18, 2026
IRC logs for Tuesday, August 18, 2026
Gemini Links 19/08/2026: Shirts, Handwriting, and Fights in Geminispace
Links for the day
They Were Wrong All Along
Two women combined won't deliver a healthy baby in just 4.5 months
A "Tech Journalist" Would Not Cover Vote on LLMs as a Sex Issue
For a moment there you have to pause and wonder, is this a "Tech Journalist" or the Daily Stormer?
20,000 by Year's End
The "New Techrights" will have 20,000 pages by year's end
Last Night GNU/Linux Measured at 9% in Africa
Nighttimes in Africa are times when GNU/Linux usage on desktop/laptop devices typically surges, based on Clownflare [...] It changes in favour of GNU/Linux
Gemini Links 18/08/2026: Google Bait and Switch (Getting College People 'Hooked' on 'Cheap' Storage, Then Backups Gone), a "Question of E-mail"
Links for the day
Bluesky is in Trouble
Bluesky is a private company (unlike Bluesky Digital Assets Corp. in Toronto, that one runs a pyramid scheme!), so it's hard to know for sure just how much money it is losing
Links 18/08/2026: US Abandons South Korea, New Legal Disputes Over Slop Plagiarism in the Music Scene
Links for the day
Linux Losing Interest in Users' Freedom, Pursues DRM Instead
"Linux" is (or was, as GNU/Linux) meant to empower - not artificially restrict - the users
GNU/Linux in Ecuador and Colombia: Growing, Still Below International Average
locals turn away from Windows and try GNU/Linux instead
IBM is Dead or Dying. Now It Asks Workers to 'Resign' Voluntarily.
To save face, to pretend no layoffs are happening (as it might alarm shareholders) [...] We keep hearing more and more stories like that
Links 18/08/2026: Sergey Brin Controlling State Policies, "Dario Amodei's (Anthropic) Wife Is Closely Linked to Jeffrey Epstein"
Links for the day
SBS News Interviews Daniel Pocock
The locals say this PR stunt (by the bigot, Farage) was a waste of money
Clownflare Sees One in 7 Web Requests in Libya Originating From GNU/Linux
GNU/Linux has taken a (foot)hold there
Openwashing and Manifestos Composed in Private by Dictators With Deliberately Addictive (and Subsidised, Bundled) 'Tech'
It's long, so make a cuppa first
SLAPP Censorship - Part 153 Out of 200: Decades of Debt, Weaponising Borrowed Money to Try to Put Their Critics in Debt
they've always had a financial report by now
Over at Tux Machines...
GNU/Linux news for the past day
IRC Proceedings: Monday, August 17, 2026
IRC logs for Monday, August 17, 2026
Gemini Links 18/08/2026: Solar Power, Kipple and Impermanence, Catastrophe Ethics
Links for the day
Evri (HermesUK) is Now Run by Bots and Hallucinating Scammers
Years ago they virtually removed support and tried chatbots instead
Less Technology, More Life
Technology is being associated (sometimes rightly) with physical and mental problems
Google Search Has Gotten Worse (a Lot Worse)
getting worse
Birthday in 80 Days
we'll start decorating and party online with our community
Loans and Massive Debt at Microsoft, This Won't End Well.
Microsoft running out of money to pay salaries (to the point of paying people for 'voluntary' layoffs) is a positive sign?
Gemini Links 17/08/2026: Life in Plain Text, Mimicking KARL, Release of Jugulans, Avoiding Slop
Links for the day
Clown Storage Without Backups
Setting up several reliable copies of the data, plus several off-site backups (this data is nowhere as sensitive as medical data), should only cost a few grand
FreeCAD is Becoming Slop-ware, Use LibreCAD Instead
It has regular releases and "Qt5 is mandatory" now [...] they at least audit what they add
Cuba and Venezuela High in Adoption of GNU/Linux
some of the "communist" nations
Links 17/08/2026: Myanmar’s Cholera Outbreak, China Sends Commercial Vessels Through Arctic
Links for the day
GAFAM Loyalty Has Come to an End, Morale Low, People Whose Future is Uncertain Choose to Become "Lifers"
morale is low and there's no loyalty anymore
SLAPP Censorship - Part 152 Out of 200: Injunctions Do Not Cover Criticism, They Have Scope
self-incriminating communications
Clownflare Sees About Quarter of Web Requests in Ireland Coming From GNU/Linux
Well, in Ireland it seems like many people adopted GNU/Linux
Clownflare: In Australia and New Zealand GNU/Linux Peaks at Over 10% During Working Hours
That right there is interesting in its own right
Slowing Down by Intention
At the moment we have 6 or 7 ongoing series
Gemini Links 17/08/2026: Chamboree, Partial Solar Eclipse, Lady Macbeth
Links for the day
Links 17/08/2026: "Bluesky Is Down Again!" and "Anti-Social Media"
Links for the day
Over at Tux Machines...
GNU/Linux news for the past day
IRC Proceedings: Sunday, August 16, 2026
IRC logs for Sunday, August 16, 2026