This is an interesting problem.
I have a Dell Dimension C521, which I have been using for a server for years. It has worked well. It uses an AMD64 processor. Recently I acquired a Dell Optiplex 960, which is a much beefier machine and uses an intel 64. I want to move the system from the Dimension to the Optiplex. Both are ACPI processors. I had a spare disk so I installed Windows Server 2008R2 on the Optiplex 960, so I have a model bootable system.
I tried simply moving the disk from the Dimension to the Optiplex, and it wouldn't boot. It failed at the "C Microsoft Corporation" progress bar almost immediately, which is boot phase two. I reviewed the appropriate ControlSets and I could see that there were differences in which drivers were started and when. In particular, the "moved" disk was not booting a few early ones that the "installed" system was. So, I changed "start" to 0 on them with pretty good success.
So, now I have a "moved" disk that gets farther but not to a running Windows system. It boots to a movable curser, but hangs after that. It also will not boot to "Safe Mode", so I'm still having a problem getting minimal Windows started. I suspect now, that there are drivers being loaded that should NOT be loaded and they are interfering.
So, Here's an idea. What if I exported "HKEY_LOCAL_MACHINE\ControlSet...\services" from the "installed" disk and used that to replace the same key sub-tree on the "moved" disk? That might work.
There's a problem. There's always a problem... I find no way on god's green earth to disable "HKEY_LOCAL_MACHINE\ControlSet...\services" on the moved disk. I need to be sure that I will not have artifacts hanging around from the Dimension, when I want the key subtree to be defined from the Optiplex. "Disable" in this context means "rename" or "delete".
So, anybody with experience moving hardware, meaning experience replacing motherboards with non-identical units?
Thanks for the help,