Anyone had any luck trying to install Windows NT 3.51 Workstation or Server under Virtual PC 2007 with a multi-core processor?
For example on the AMD FX-3800 processor running Windows Vista Ultimate x64, after attempting to install Windows NT 3.51 on a FAT or NTFS partition with the Virtual PC.exe process having all four cores enabled, this example error message appears in a blue screen:
STOP: c000221 (Bad Image Checksum)
The image advapi32.dll is possibly corrupt. The header checksum does not match the computed checksum.
Restart and set the recovery options in the system control panel
or the /CRASHDEBUG system start option. If this message reappears,
contact your system administrator or technical support group.
The temporary solution would be to allow Virtual PC 2007 process to use only one processor. For instance, I used Process Explorer and right =click Virtual PC.exe, set the Processor Affinity to only use CPU 0. By setting the Processor Affinity to use only CPU 0 under Windows NT 3.51, I was able to install Windows NT 3.51 successfully.
Once I close VirtualPC 2007 and restart it, VPC gets defaulted to use four cores which in retrospect that causes data corruption on the Windows NT 3.51 guest to appear. Other OSes such as MS-DOS, FreeDOS, Windows 3.0, Windows 3.1 and OS/2 Warp all work without problems.
It seems to me that Windows NT 3.51 guest under Virtual PC 2007 doesn't even like multiple cores.
Is there a permanent solution to overcome this issue? I'm sorry if my comment clearly didn't make since or that I wasn't being all that specific, but I'm tired and I'm heading for bed soon.
Update: Nevermind. I solved it when I stumbled upon this article regarding running Virtual PC 2007 on multi-processor and/or multi-core processors. Have a look: http://virtuallyfun....corp.com/?p=154
I've learned that operating systems such as Windows for Workgroups 3.11, Windows 95 and even Windows NT 3.51 won't work correctly leading up to long latency, disk and data corruption errors to a point where the operating system will not even boot at all.
When Microsoft Virtual PC was a Connectix product it was mean to run on a single CPU or single core (up to 4.29 GHz). And now since newer computers with multi-core processors are replacing older computers with single core processors, the fix would be to set the Virtual PC.exe CPU affinity to a single core before any virtual machines are started.
Now to overcome this limitation, I downloaded a utility called Start Affinity. It can be found on this page: http://www.adsciengi.../StartAffinity/
StartAffinity is a freeware tool that is designed to start software by restricting it to certain CPU affinity masks. Since Virtual PC is not designed for multi-processor/multi-core computers, I had to enter this command to make sure Virtual PC 2007 always starts on CPU processor 0:
C:\StartAffinity\StartAffinity.exe "C:\VirtualPC\Virtual PC.exe" 0
I hope that that setting the CPU affinity to use only core 0 solves the data corruption/failed installation of Windows NT 3.51.
If there are any questions regarding this thread, let me know.
Edited by ppgrainbow, Yesterday, 07:25 PM.