search cancel

How to build a mass storage driver to deploy images across various hardware platforms

book

Article ID: 151728

calendar_today

Updated On:

Products

Ghost Solution Suite

Issue/Introduction

Why do I get a blue screen error when deploying an image across hardware platforms?

Cause

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.

Resolution

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:
  1. On the source desktop, create a folder called Sysprep at the root of the C drive (C:\Sysprep).
  2. Put a copy of the Windows Server 2003 version of Sysprep.exe and Setupcl.exe in this folder.
  3. Extract them from the Deploy.cab file on the Setup CD. You'll find Deploy.com under \Support\Tools.
  4. Put your Sysprep.inf file in the same C:\Sysprep folder.
  5. Edit the Sysprep.inf file with Notepad. Add these entries to the bottom of the file:

    [Sysprep]
    BuildMassStorageSection=yes
    [SysprepMassStorage]


    Note: Sysprep.exe uses these entries to provision the file with the mass storage drivers.

  6. Run sysprep -bmsd. You'll see a pop-up window with a large hourglass open for a few seconds, then close. There will be no other graphical indication that the process has succeeded.
  7. Open the sysprep.inf file and look under the [SysprepMassStorage] section. You'll see dozens and dozens of entries.
  8. Now run sysprep -quiet -reseal -reboot. This will take quite a bit longer because Sysprep has to collect the specified mass storage drivers.
  9. When you apply this image to the other desktops, the deployment should go smoothly with no bugcheck errors.



References
How to import third party drivers into a sysprep.inf file for use with a master image (http://service1.symantec.com/support/on-technology.nsf/docid/2007110614121760)