Microsoft blocked your Windows 11 upgrade? This trusty tool can (probably) fix that
Microsoft really, really, really doesn’t want you to upgrade your old Windows 10 PC to Windows 11.
That’s the logic behind the strict hardware compatibility requirements the company imposed when it launched the new operating system in 2021. If you try to install Windows 11 on a computer with a CPU from 2018 or earlier, you get an error message, along with a suggestion that maybe you should buy a new PC.
Also: Your Windows 10 PC can’t be upgraded? You have 5 options before support ends in 2025
The result is a thoroughly predictable chess game between Redmond and the Windows enthusiast community, with each new move raising the stakes. The owners of those “incompatible” PCs find ways to work around those restrictions, and Redmond finds a way to make those workarounds more difficult.
With the public release of the most recent feature update to Windows 11, version 24H2, Microsoft tightened the compatibility checks that Windows Setup runs when performing an upgrade. Those new restrictions blocked one widely used workaround, which used the open-source Rufus utility to create installation media that allows Windows 11 upgrades on incompatible hardware.
For most PCs, even those that are a dozen years old, the new restrictions lasted for less than one week, as the community discovered that you could work around Microsoft’s compatibility blocks by manually entering a series of commands to tweak the registry. But a second set of restrictions, aimed at PCs powered by very old CPUs, has so far proven impossible to bypass.
Also: The best Windows laptops: Expert tested and reviewed
In particular, CPUs that don’t support the SSE4.2 streaming extensions or the POPCNT instruction will fail with an error message specifically referring to those issues. On PCs that use Intel CPUs from 2009 and earlier or AMD processors from 2013 and earlier, the Windows 11 version 24H2 kernel won’t load. Microsoft’s PC Health Check app won’t detect these issues, but any attempt to install version 24H2 on a PC with one of those CPUs will be blocked and you’ll see an error message like the following:
There is no workaround.
I’ve heard from the owners of PCs powered by the 2008-vintage Intel Core2 Duo E8500 and several AMD A6 processors from 2011-2013 that failed on this score. If you’re not sure of your CPU’s capabilities, you can look it up on this extremely technical Wikipedia page — scroll to the section headed “Supporting CPUs.” Some free utilities, including CPU-Z and HWinfo, can help as well; just be aware that the download sites for those utilities are filled with misleading ads designed to trick visitors into downloading and installing sketchy apps. Turn on your ad blocker before visiting those pages.
Also: How to upgrade Windows Home edition to Pro (and why you would)
For PCs that aren’t blocked by that restriction, a new version of the Rufus utility is available that automates the upgrade process. But as the developer of Rufus, Pete Batard, acknowledges, the way it’s implemented might make some people nervous.
On the surface, Rufus 4.6 doesn’t look any different from its predecessor. When you select the option to bypass the Windows 11 hardware compatibility checks, it replaces the official Windows 11 compatibility appraiser, Appraiserres.dll, with a 0-byte file, just as the earlier version did; and it offers the same handful of additional customization options. To work around the 24H2 restrictions, though, it performs a few new tricks of its own.
Also: You can still upgrade old PCs to Windows 11, even if Microsoft says no: Readers prove it
The most noteworthy change is that creating installation media renames the official Windows Setup program, Setup.exe, to Setup.dll and adds a new custom program called Setup.exe. It also adds an $OEM$ subfolder in the Sources folder, containing additional subfolders and one file.
Double-clicking the newly created Setup.exe file produces this permission dialog, which shows that the file is a Windows Setup Wrapper, signed by Akeo Consulting, which is the corporate parent of Rufus.
So, what does that file do? You can see for yourself by inspecting the code on GitHub. Running that wrapper makes the necessary registry edits to bypass compatibility checks, then calls the original Windows Setup program.
As Batard notes in the comments on this code, this approach might arouse some suspicions.
Obviously, the fact that we “inject” a setup executable may leave people uncomfortable about the possibility that we might use this as a malware vector, which is also why we make sure that the one we sign and embed in Rufus does get built using GitHub Actions and can be validated to not have been tampered through SHA-256 validation …
In a separate discussion, Batard emphasizes that “Rufus only goes with the official bypasses that Microsoft themselves included, and not with an overreaching approach of disabling all hardware checks.”
Also: Can’t quit Windows 10? Microsoft will charge for updates next year. Here’s how much
That approach should provide a level of security that installations using these bypasses won’t be disabled in the future, he adds:
Rufus is working within Microsoft’s framework, with bypasses that Microsoft included for the installer, and, therefore, as has been the case ever since the release of Windows 11, I expect that the bypasses that Microsoft allows [will] not render a machine inoperative…
The new workaround should succeed with almost any PC capable of running Windows 10. And I have already received reports from readers of successful upgrades. One correspondent wrote: “I waited for your subsequent article, and then the 4.6 Beta version of Rufus. Everything ran flawlessly and the machine is now running 24H2 with an old processor and no TPM. It certainly makes me wonder why Microsoft insists on the hardware parameters.”
Microsoft’s case for the original hardware restrictions is that it provides a secure baseline for PCs running Windows 11, but the company has not yet documented the reason for the new SSE4.2 and POPCNT requirements in Windows 11 version 24H2.
READ MORE HERE