I had a 32-bit windows 7 box running Virtual PC, with a Windows 2003 guest. It performed flawlessly.
I recently put in a 64-bit Windows 7 box. I installed 64-bit Virtual PC. I copied the VHD file from my old box, to the new one, and I get:
Windows could not start because the following file is missing or corrupt: <Windows root>\system32\ntoskrnl.exe. Please re-install a copy of the above file
I had a coworker copy the file off my old machine and set up a Virtual Machine using the same VHD file, and he got a logon screen.
I've tried repairing the file using WinImage. I've tried Virtual Box (guest threw a blue screen). I've tried reinstalling everything fresh. It's obviously something to do with the 64-bit architecture, but I'm not sure how to get around it.