CPU not compatible:
On the Microsoft Answers forum for Windows 8 Release Preview, a Microsoft employee provided reasons into the Company’s decision for requiring NX support in order to run Windows 8 going forward:
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 8 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.
It is interesting to look at the case where NX is available but not configured correctly. It is possible on “most CPUs” in this state to override the BIOS setting in software. Because the “opposite of most CPUs” case means a code 5D bluescreen later on, it saves time to get it out up front and ask the user to fix the BIOS setting during setup. However, the “most CPUs” case does mean there is a potential workaround, which I’ll describe in a moment.
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. SSE2 became standard on CPUs a long time ago, but Windows did not rely on those instructions. It turns out though, that an increasing number of 3 party applications and drivers have started using those instructions, and not checking for them before use. We get to see this in our telemetry, as application crashes and in- the- driver case bluescreens. Taking into account that the rate of these differences in 3 party programming is increasing -- and that SSE2 has been present on all CPUs since 2003 and most since 2001-- we decided to check for SSE2 in setup. 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 I provide the potential workaround, if you can, please properly configure NX in your BIOS.
Here is the potential workaround: 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 8.
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.