Why do I get a blue screen error when deploying an image across hardware platforms?
When you run Sysprep on one platform and deploy the image to another platform, you would ordinarily expect Plug-and-Play to handle any hardware differences (assuming that the machines use the same version of Ntoskrnl.exe and Hal.dll). However, mass storage drivers represent a special case. The boot loader needs to load the mass storage devices prior to initializing the operating system, so there's no opportunity to let the Plug-and-Play Manager shuffle around drivers. For this reason, it's fairly common to get a "0x0000007b bugcheck" error following the deployment of a Sysprep image to a machine from a different vendor, or different models from the same vendor, even though you're using what appears to be a generic Integrated Drive Electronics (IDE) controller in both cases.
One way to avoid this issue is to include all the mass storage drivers in the Sysprep image, not just the drivers used by the source machine. The version of Sysprep.exe that comes with Windows Server 2003 has a special switch for doing just this. It's called -bmsd. Here's how it works:
On the source desktop, create a folder called Sysprep at the root of the C drive (C:\Sysprep).
Put a copy of the Windows Server 2003 version of Sysprep.exe and Setupcl.exe in this folder.
Extract them from the Deploy.cab file on the Setup CD. You'll find Deploy.com under \Support\Tools.
Put your Sysprep.inf file in the same C:\Sysprep folder.
Edit the Sysprep.inf file with Notepad. Add these entries to the bottom of the file: