Why Windows Vista/7 doesn't work on a Pentium

Discuss Windows Vista/Server 2008 to Windows 10.
Post Reply
nerd70
Posts: 126
Joined: Tue Jan 28, 2014 3:20 am

Why Windows Vista/7 doesn't work on a Pentium

Post by nerd70 »

Windows Vista/7 for a long time has been rather commonly understood to not be compatible with P5-based Intel Pentium and Intel Pentium MMX CPUs. This is despite the fact that according to Geoff Chappell Windows Vista only requires the CMPXCHG8B and RDTSC features, both of which are supported on the original Pentium and the Pentium MMX. Clearly, further investigation will be necessary.

Some testing had already been done: Vista on a real Pentium/Pentium MMX will give a BSOD with the code 0x78.The BSOD only is known to affect Intel P5 family CPUs, not AMD K5/K6, Cyrix MII, or Intel P6 family CPUs, One hint comes in the form of a video which shows Windows 7 SP1 booting on a Pentium 90MHz system:

In the description, they reference KB980358, a KB article relating to the issue. As it turns out, it had been a bug that was patched with a hotfix and one that is included in Service Pack 1 for Windows 7. Another hint comes in the fact that the hotfix only updates mcupdate_GenuineIntel.dll, which presumably controls the built-in microcode updates for Intel CPUs.

Later, doing testing in Bochs' pentium_mmx preset revealed that Vista specifically threw a 0x78 BSOD when I disabled “Ignore RDMSR/WRMSR to unknown MSR register”:
Image

After seeing this I immediately went to check Bochs’ own logging, which revealed the following line:

Code: Select all

WRMSR: Unknown register 0x8b
A quick google search of this register reveals it relates to microcode updates, confirming that it is indeed mcupdate_GenuineIntel.dll. The DLL appears to write to the register, which is not implemented on Intel P5 CPUs as they do not support microcode updates. Reading from/writing to an unimplemented MSR on an Intel CPU will usually cause a general protection fault. Windows doesn’t expect this and bugchecks as a result.

Windoze98
User avatar
Posts: 3
Joined: Wed Aug 12, 2015 7:08 pm
Location: Minnesota, USA
Contact:

Re: Why Windows Vista/7 doesn't work on a Pentium

Post by Windoze98 »

Very interesting information! I remember attempting to install Windows 8 onto a Pentium 4 system and having the setup wizard error out, probably because it required a Core2 architecture or newer. I wonder what specific CPU instructions in the Pentium 4 was lacking... in any case, I'm surprised Microsoft released a patch for Windows 7 for those older Pentium CPUs.

x010
Staff
Posts: 1311
Joined: Thu Jun 13, 2013 4:46 pm
Location: Leaderboard
Contact:

Re: Why Windows Vista/7 doesn't work on a Pentium

Post by x010 »

Windoze98 wrote:Very interesting information! I remember attempting to install Windows 8 onto a Pentium 4 system and having the setup wizard error out, probably because it required a Core2 architecture or newer. I wonder what specific CPU instructions in the Pentium 4 was lacking... in any case, I'm surprised Microsoft released a patch for Windows 7 for those older Pentium CPUs.
PAE and NX (which normally cascades into VT-X) generally. Windows 8 started to enforce them, and I think both of them weren't a thing in Pentium 4.

yourepicfailure
User avatar
Donator
Posts: 1317
Joined: Mon Jul 23, 2012 9:40 pm
Location: Lufthansa DC-10

Re: Why Windows Vista/7 doesn't work on a Pentium

Post by yourepicfailure »

I believe some later Pentium 4 models had NX, but I don't know about PAE.

Oddly, 32bit Pentium M 760 and above had both NX and PAE. I was able to easily install 8.1 stock/unmodified on a system equipped with a 780.
"C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do it blows your whole leg off"
Image
You will never tear me from the grasp of the Pentium M!

Voyambar
Posts: 113
Joined: Wed Sep 25, 2019 10:12 pm

Re: Why Windows Vista/7 doesn't work on a Pentium

Post by Voyambar »

I know Michael MJD tried to install Vista on a shitty 90's PC one time. He ended up upgrading the specs in order to install Vista.

SistemaRayoXP
User avatar
Posts: 371
Joined: Wed Sep 13, 2017 1:26 am
Location: Tlajomulco de Zuñiga, Jalisco, Mexico.
Contact:

Re: Why Windows Vista/7 doesn't work on a Pentium

Post by SistemaRayoXP »

You're getting it all wrong. NT 6 can indeed run on a Pentium 4 system (I actually used to run 7 on a P-IV Prescott), but it can't run on an original Pentium, maybe because it lacks PAE (introduced in the Pentium Pro). I've also successfully ran Windows 7 on a AMD Duron, which only has MMX, 3DNow!+, and SSE, so Windows 7 could run on a PIII, maybe because of SSE, or maybe because of PAE, need to test later.

And Windows 8/8.1 can run on a P4, but as mentioned earlier, it requires NX, which was on the Prescott architecture and onwards (and on the Athlon 64 onwards).

oscareczek
User avatar
Posts: 698
Joined: Fri Apr 25, 2014 5:37 pm
Location: Poland

Re: Why Windows Vista/7 doesn't work on a Pentium

Post by oscareczek »

Have you even read the first post? Don't you see a successful attempt to run Win7 SP1 on original Pentium?

SistemaRayoXP
User avatar
Posts: 371
Joined: Wed Sep 13, 2017 1:26 am
Location: Tlajomulco de Zuñiga, Jalisco, Mexico.
Contact:

Re: Why Windows Vista/7 doesn't work on a Pentium

Post by SistemaRayoXP »

oscareczek wrote:Have you even read the first post? Don't you see a successful attempt to run Win7 SP1 on original Pentium?
What are you talking about? Did you bother noticing that I didn't mention SP1 nor the revision?

oscareczek
User avatar
Posts: 698
Joined: Fri Apr 25, 2014 5:37 pm
Location: Poland

Re: Why Windows Vista/7 doesn't work on a Pentium

Post by oscareczek »

SistemaRayoXP wrote:NT 6 can indeed run on a Pentium 4 system (I actually used to run 7 on a P-IV Prescott), but it can't run on an original Pentium
NT 6 is anything from Vista to early 10 builds. Even if you want to defend yourself by saying "but obviously by NT 6 I meant NT 6.0 == Vista," you later say 7 SP0 may require PAE or SSE and your assumption is also wrong, because, again, as first post says:
nerd70 wrote:In the description, they reference KB980358, a KB article relating to the issue. As it turns out, it had been a bug that was patched with a hotfix and one that is included in Service Pack 1 for Windows 7.
So if you slipstream this one update, it can just run. Now, what did Knowledge Base say about this update? That Pentium MMX 233 MHz, which, as name suggests, has only MMX and not SSE (Pentium III, here's a random video of Vista on Pentium II) or PAE (Pentium Pro), was meant to run 7/2008 R2, but due to a bug, it hadn't until this update, so they released a new version of Mcupdate_genuineintel.dll, which contains a microcode, no other binaries were touched.

Post Reply