Some people who are trying to install Windows 10/8 are reporting an error. This error has been reported even by those who could run an earlier version of Windows 10/8 on the same machine. While installing Windows, you may see the following error message:
This PC can’t run Windows 10
Your PC’s CPU isn’t compatible with Windows 10
So what has changed? Let us check what this error is and what Microsoft is saying about it.
To install Windows, your CPU (processor) must support these features – PAE/NX/SSE2.
Let us see what this means.
“No-eXecute (NX) is a processor feature that allows marking of memory pages as non-executable. The feature allows the CPU to help guard the system from attacks by malicious software. When the NX feature is enabled on a system, it prevents malicious software code from being placed in accessible regions of memory to be executed when control reaches that memory location. Windows 8 requires that systems must have processors that support NX, and NX must be turned on”
“Streaming SIMD Extensions 2 (SSE2) is a previous standard that is supported in Intel and AMD processors. All processors that support NX also support SSE2.”
“To use the NX processor feature, the processor must be running in Physical Address Extension (PAE) mode. PAE is a processor feature that enables x86 processors to access more than 4 GB of physical memory on capable versions of Windows. “
The processor requirement won’t impact customers on modern systems, or on systems that meet logo requirements for Windows 7 because these systems have PAE-capable 32-bit processors that support NX and allow NX to be turned on. Only a small set of customers who have Windows 7 running on very old 32-bit processors without PAE/NX support will be impacted.
Check if your system supports NX or SSE2
To check this, there’s a Windows Sysinternals tool Coreinfo, a command-line utility. You can get it from here. Running this from the command line will provide the required info –
A supported processor feature will have the * character displayed next to the feature name, and a – character if not supported.
“If PAE is displayed as not supported in Coreinfo output, your system has a processor that is not PAE-capable and cannot support NX. If PAE is shown as supported, but NX is displayed as not supported in Coreinfo output:
- Consult the feature set published by the CPU manufacturer to determine if NX is supported by the processor on your system.
- If the processor on your system does have NX support, then your system may have a misconfigured BIOS setting for the NX support option.
If NX is supported on your system, it can be turned on from BIOS settings if it is not turned On.”
So check the BIOS and enable NX (“No eXecute bit”) or the equivalent XD (“eXecute Disabled”) feature in the BIOS settings. Look them in Advanced or Security options in BIOS. They may be referred by various names according to the BIOS manufacturer. They can be named No Execute Memory Protect, Execute Disabled Memory Protection, EDB (Execute Disabled Bit) , EVP (Enhanced Virus Protection), or by some other name. So check for these.
If the BIOS doesn’t show any of these options for NX, then check with the BIOS manufacturer for any BIOS updates which might have added this. Very old processors may not include this feature.
A related error 0x0000260 is also seen when trying to install Windows in a VM.
“If the Virtual Machine (VM) is hosted on a system that supports NX, you must enable PAE/NX in the virtualization product’s settings or configuration manager when setting up the Windows virtual environment. “
For more detailed info on PAE/NX/SSE2 requirements for Windows, Microsoft has published a Whitepaper – PAE/NX/SSE2 Support Requirement Guide. This document details the processor support for the PAE/NX/SSE2 requirement in Windows, error cases and scenarios that customers encounter when machines fail to meet the requirement, and what to do to install Windows on their PCs.
Microsoft’s Bill Fill explained in detail this error in The Answers Forum. He starts with an apology for the inconvenience caused by this issue and thanks the users for trying out the Release Preview. Further, he says that Microsoft may contact a few of those who reported this issue if further info is needed as it may be a bug and has to be corrected before RTM.
Then he describes what exactly has changed since CP as users who could run the CP on their machine encountered this issue while installing RP on the same machine.
What changed in Windows
We did make changes in the upgrade detection logic since the CP. The changes revolve around the default installer and how it checks for precise CPU features before continuing. Windows requires the NX capabilities of modern CPUs. This is done for security reasons to ensure that malware defense features work reliably. This is important as we want to ensure that people can feel safe using lots of different software including desktop apps and apps from the Windows Store. This means some very old CPUs will not work with Windows 8. In the CP we did not block the installer for the NX feature. Based on CP telemetry we felt adding the block to setup was warranted to respect people’s time. It is better to get it over with quickly, even if it is disappointing. We also used the telemetry to get some handle on how many CPUs would fail the NX requirement so we could be sure enforcing NX presence was responsible in the ecosystem. We learned that less than 1% of CPUs did not have NX capability available and configured correctly and out of those 0.1% did not have the NX capability at all. Based on this we feel that enforcing NX presence is a good thing to do since it results in better malware defenses. Thus we now enforce NX presence in the kernel boot sequence.
We didn’t make any change related to PAE detection, but it is good to note that PAE is a pre-requisite for NX on 32 bit processors due to how NX is implemented in memory manager page tables.
We did change SSE2 instruction set detection based on telemetry from the CP and Windows 7.
The result for users at large is their PC is more reliable. We do not check for SSE2 in the kernel boot sequence,;however, if your CPU has NX it also almost certainly has SSE2.
Before trying this workaround, please check & configure NX in BIOS. The workaround uses the ISO to install.
Download the ISO and burn it to a DVD or create a bootable USB flash drive. Boot from the media that you created. If your CPU does not support NX you will see a code 5D bluescreen before setup starts. This is rare, but if it happens we won’t be able to help you run Windows.
This workaround may succeed because Windows contains two installers: the end-user installer (setup.exe at the root of the Windows DVD) and the commercial installer (setup.exe found in the \sources directory of the Windows DVD). The commercial installer runs when the PC is booted from DVD/USB media and does not perform the NX/SSE2 checks and attempts to enable NX/SSE2 on supported systems.