How to block the Windows 11 upgrade on Windows 10 PCs
Microsoft's Windows 11 operating system has been released and it is being offered via Windows Update already to systems that meet the Windows 11 system requirements. Windows 11 is a free upgrade for activated Windows 10 systems.
The upgrade to Windows 11 is not enforced at this point, but there is a chance that Microsoft will enable it one day. Windows 10 is supported until 2025, and some users may want to stay on the system and not upgrade to Windows 11 in the near future.
It may be a good idea to block the upgrade to Windows 11, to make sure that the device stays on Windows 10.
There is a good chance that incompatible devices will never be offered the upgrade to Windows 11 via Windows Update; some estimate that hundreds of millions of devices will reach end of support in 2025 without a chance to upgrade to Windows 11 officially. While it is possible to continue using Windows 10, it means running a system that does not get any security or bug fix updates anymore.
Blocking the upgrade to Windows 11
There is no switch that users of Windows 10 may flip to block the upgrade. The only real option right now is to use a policy on professional versions of Windows 10, and the corresponding Registry entry on Windows 10 Home devices.
It sets a target release version for the system, and if that is set to the latest Windows 10 version, the upgrade to Windows 11 won't be offered via Windows Update.
Group Policy blocking
A professional or Enterprise edition of Windows 10 is required to access the Group Policy Editor. Here is what you need to do:
- Select Start.
- Type gpedit.msc.
- Navigate to Computer Configuration > Administrative Templates > Windows Components > Windows Update > Windows Update for Business.
- Double-click on "Select the target Feature Update version".
- Set the policy to Enabled.
- Type Windows 10 in the first field, and 21H1 in the second field.
- Select OK.
This sets the target version to Windows 10 version 21H1.
Note: Windows Update won't offer the upgrade to Windows 10 version 21H2 in this case. A feature upgrade will be enforced once the set version is no longer supported. You may also modify the version regularly to get the latest Windows 10 feature upgrades, e.g. by setting the target version to 21H2 once it is released.
The same target release version can be set in the Registry; this works on all editions of Windows 10, including Windows 10 Home.
- Select Start.
- Type regedit.exe.
- Navigate to HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate
- If keys do not exist, create them by right-clicking on the previous key and selecting New > Key from the context menu.
- Right-click on WindowsUpdate and select New > Dword (32-bit) Value.
- Name it TargetReleaseVersion.
- Double-click on the new Dword and set it to 1.
- Right-click on WindowsUpdate and select New > String Value.
- Name it TargetReleaseVersionInfo.
- Double-click on the new String and set it to 21H1.
- Restart the PC.
Now You: which version of Windows do you run? (via Born)
Imagine the productivity loss being forced to use a very buggy Windows with crippled taskbar and start menu. Big tech has been screaming ‘fuck productivity’ for decades while trying to turn their software and hardware into the equivalent of interactive cable TV. Disgraceful.
Thanks Martin – applied this in my 10Ent. I think OS “upgrades” should really just be done when a pc is being rebuilt or completely reset.
What do those other two keys do? Are they necessary/relevant?
The only value present in my registry was DisableOSUpgrade (DWORD) with a value of 1.
on my Windows 10 computer I can navigate to HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\ but there is no WindowsUpdate? why?
Regedit method is not under …\Software\POLICIES\… double check the correct path.
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\ mas não há WindowsUpdate?
Veja se Computador está na OU correta. Essa chave é aplicada quando se configura o WSUS via GPO.
Veja se está pegando a GPO do WSUS.
When I think back, I didn´t have that either. I did this:
1. Mark “Windows” with the mouse, create a new key called “Windows”.
2. Then follow the instructions above the comments.
It seams to work. The information abouth future Windows 11 update dissapeared.
Got it thanks.
Sorry, it should be, new key called “WindowsUpdate”
I wonder if this will also block Windows 10 21H2, or only Windows 11 21H2?
Thanks. We don’t want this garbage on our computers until its ready. Maybe by 2025 Windows 11 is be usable.
It takes Windows about 2 years to get all big bugs under control. It will be safe in 2023.
Martin mentions this is the Note: section above the “registry blocking” part. Seems it will hold at whatever version you specify.
Or you could just turn off the TPM if it’s not needed – the machine then becomes persona non grata.
Yes, the simplest way.
Worked fine on my computer.
*Before* you disable TPM in the BIOS/UEFI, make sure you know your actual Windows 10 *password* (not your PIN). Disabling TPM will likely make your alternative Windows 10 log-in credentials (PIN, fingerprint, facial scan) inaccessible. (That’s what happened to me.) I know people who rely entirely on easy log-in methods and who forgot their actual password long ago, so I thought it was worth mentioning.
Make sure you know your actual Windows 10 *password* (not just the PIN) BEFORE you disable TPM. Disabling TPM on my computer made my “easy” log-in credentials (PIN, fingerprint) inaccessible, and if I had forgotten my Windows 10 password proper, I would have been locked out. I don’t know whether re-enabling TPM would restore my “easy” log-in credentials or not, so I figure it’s best to just make sure you know your password BEFORE disabling TPM willy nilly.
Well, I put the registry fix in, and got a small surprise. My Windows 10 Laptop decided that I need to update to 21H1,NOW!
Well, I asked for it, I suppose.
21H1 is OK. Has being using it for a while. It has some kinks but completely acceptable.
Imagine having an Operating System you have to protect yourself from, including major upgrades.
Imagination not required. its FACT.
It is what i have done weeks ago… i do not care enough about new features. The one point i absolutely do dislike is the secretive handling of file extension associations which is a pain already in W10 and outright criminal in W11. I want the option back to be able to say which program shall handle specific extensions like it some time ago…
Will specifying Win10 in Gpedit without the version block Win11? I’m happy to get any Win10 upgrades.
Any way to specify Win10 without limiting the version? I’m happy to get future Win10 updates. 21H2 working fine for me.
Thanks man! Great work!
Martin, you always have great stuff, thanks. I used the Regedit approach, setting it to 21H2 and it works perfectly. I like the notice that now appears in Windows Update screen that some settings are controlled by your organization … that’ll be a self-reminder of what I did.
Now I’m off to create a little reg script to do the other 12 or so machines I support for a couple of tiny businesses. (One of them did accidentally trigger the Win11 install. I can tell anyone who might read this that the roll back process work just fine and was done in about 5-10 minutes.)
Unfortunately users still get prompted with the option to install Win11, and after accepting the eula the installation begins.
The real answer is move to linux, I know I know, some software only works on windows crap so when you need to run windows, do it in a virtual PC. The other option is have a second drive with only windows and stuff you want to run from it on available an a swap drive, since it has the system on it you will have to shut down but you can play your games or what ever and when you are done put Linux back in. Dont use the windows machine for any email, business etc that Mother MS would be interested in, just play the games and such then switch back to the linux drive and do your main work. Look Microsoft doesnt get it, they dont give a rats ass about users they want your data so they can flood you with all kinds of stuff you dont want and really if they wrote their software properly you would not need in a lot of situations. Best way to stop Microsoft is dont use their software but most users dont want to use Linux because they dont want to learn a new system even if it is better so Microsoft lives on because we do nothintg.
$ErrorActionPreference = ‘Stop’
[String] $WinVerStr = (Get-ItemProperty -Path “HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion” -Name DisplayVersion).DisplayVersion
[String] $RegKey = “HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate”
New-ItemProperty -Path $RegKey -Name “TargetReleaseVersion” -Value 1
New-ItemProperty -Path $RegKey -Name “TargetReleaseVersionInfo” -Value $WinVerStr
how can this work? sure there is 21h2 for both win 10 and win 11, and now 22h2 for both also,