On October 14, 2025, Microsoft will stop delivering security updates to your Windows 10 PC unless you’re willing to pay an exorbitant price to join the Extended Security Updates program.
Also: Microsoft to start charging for Windows 10 updates next year. Here’s how much
If you try to upgrade to Windows 11 on a PC over a few years old, you’ll be told, in no uncertain terms, that your old PC doesn’t qualify because its CPU isn’t on the official list of compatible processors. Microsoft has made it abundantly clear that it will not revise those requirements. You will also hit roadblocks if your PC doesn’t have a Trusted Platform Module (TPM) version 2.0.
While that might be the official policy, as with everything Windows-related, it pays to read the fine print.
Those pesky restrictions prevent you from automatically upgrading to Windows 11 using Windows Update or the Windows 11 Installation Assistant. Yet there are fully supported workarounds, as I document in ZDNET’s Windows 11 FAQ.
Also: Yes, you can upgrade that old PC to Windows 11, even if Microsoft says no. These readers proved it
An important note: To take advantage of the workaround described in option 1 below, your computer needs to meet all the other requirements for Windows 11.
- It must be configured to start up using UEFI, not a legacy BIOS configuration.
- Secure Boot must be enabled.
- Also, you need to have a TPM enabled; version 1.2 is OK but a system without any TPM or with the TPM disabled will fail.
To check these details on a PC you’re considering upgrading, run the System Information utility, Msinfo32.exe, and look at the System Summary page. Pay special attention to the BIOS Mode value. If it says “Legacy,” you’ll need to reconfigure your system to UEFI mode (and convert your system disk from MBR to GPT partitioning) before you can install Windows 11 as a normal upgrade.
To see whether your PC has a TPM enabled, run the Trusted Platform Module Management tool, Tpm.msc. If your computer includes a TPM and it’s turned on, this app will display information about it. If there’s no TPM, or if the TPM is disabled in firmware settings, you’ll see a message that says “Compatible TPM cannot be found.”
If you’re unable (or unwilling) to change from Legacy BIOS to UEFI, or if you have an older PC that doesn’t have a TPM option at all, you’ll need to use an undocumented hack to complete the upgrade. See option 2 at the end of this post for details on how to use the free Rufus utility to perform this upgrade.
Also: Have a Windows 10 PC that can’t be upgraded? You have 5 options before support ends next year
If you plan to perform a clean installation of Windows 11, you can boot from installation media and run Windows Setup. That option skips the CPU compatibility check completely (but still requires a TPM and Secure Boot support). After the installation completes, you’ll need to reinstall all your apps, restore your data files, and tweak settings to personalize your system preferences.
Want to avoid all that hassle? Follow these four steps.
Option 1: Use this simple registry edit to bypass CPU checks and accept an older TPM
You need to make one small change to the Windows registry, as documented in this Microsoft support document. This change tells the Windows 11 Setup program to skip the check for compatible CPUs and to allow installation on a PC with an older TPM (version 1.2). The usual warnings apply when working with the registry, of course, and I recommend you make a complete backup before proceeding.
Open Registry Editor (Regedit.exe) and navigate to the following key:
HKEY_LOCAL_MACHINESYSTEMSetupMoSetup
If the MoSetup key, doesn’t exist, you need to create it. Right-click the node for HKEY_LOCAL_MACHINESYSTEMSetup in the left-hand navigation pane, then choose New > Key. Name it MoSetup and press Enter.
Also: Wiping a Windows laptop? Here’s the safest way to erase your personal data – for free
Select the MoSetup key and then right-click in any empty space in the pane on the right. Choose the option to create a new DWORD value. (Don’t choose the QWORD option!)
Replace the default name for that key by typing the text AllowUpgradesWithUnsupportedTPMOrCPU and then press Enter. Then double-click the new value and change the “Value data” box to 1. The result should look like this:
<!–>
–> <!–>