BDD 2007 - Integrating Mass Storage Drivers into your XP image

After my previous blog about integrating mass storage drivers into Windows PE I have a number of requests about how to the same integrate drivers into XP their XP images. So here we go...

The key point to note about integrating mass storage drivers into your current XP image that that these must be integrated when the client is syspreped. You cannot add drivers to an image after it has been created. (This is a limitation of XP that is now solved with Vista).The rest of this post will detail how to integrate the Intel mass storage drivers into your image.

Download the drivers

The first part of the configuration process is the obtaining of the Mass Storage drivers. The drivers must be downloaded from the hardware vendor. The latest version of the Intel driver is located here.

Gather the Plug and Play ID’s

Once you have downloaded the driver you must identify the PnP ID's and the INF file that matches each PnP ID.

When you download a driver you will find that will include one or more INF files. These INF files will include the PnP ID's that it supports.

The Intel driver comprises of two INF files, IAAHCI.INF and IASTOR.INF, the lines in these files that identify the PnP ID's are listed below.

IAAHCI.INF

 

[ControlFlags]

ExcludeFromSelect=PCI\VEN_8086&DEV_2652&CC_0106

ExcludeFromSelect=PCI\VEN_8086&DEV_2653&CC_0106

ExcludeFromSelect=PCI\VEN_8086&DEV_27C1&CC_0106

ExcludeFromSelect=PCI\VEN_8086&DEV_27C5&CC_0106

ExcludeFromSelect=PCI\VEN_8086&DEV_2681&CC_0106

ExcludeFromSelect=PCI\VEN_8086&DEV_2821&CC_0106

ExcludeFromSelect=PCI\VEN_8086&DEV_2829&CC_0106

IASTOR.INF

[ControlFlags]

ExcludeFromSelect=PCI\VEN_8086&DEV_282A&CC_0104

ExcludeFromSelect=PCI\VEN_8086&DEV_2822&CC_0104

ExcludeFromSelect=PCI\VEN_8086&DEV_27C6&CC_0104

ExcludeFromSelect=PCI\VEN_8086&DEV_2682&CC_0104

ExcludeFromSelect=PCI\VEN_8086&DEV_27C3&CC_0104

ExcludeFromSelect=PCI\VEN_8086&DEV_2652&CC_0104

Copy the driver files

To automatically integrate the driver files into Windows XP a folder structure must be created to support the added files. These folders will then be referenced by the sysprep.inf file.

To create the folder structure

     1. Create the folder structure, .\Distribution\Control\<BUILDID>\$OEM$\$1\Drivers\IASTOR

Note <BUILDID> should be the Build ID of the build that is used to create your image.

     2. Copy the driver files previously downloaded into the newly created IASTOR folder.

Note if you already use the $OEM$ functionality then simply add the files into the current folder structure.

Update the sysprep.inf file

Now that we have downloaded the drivers, created the supporting folder structure and identified the PnP ID’s for the mass storage driver we must update the sysprep.inf file used to create the master image.

To update the sysprep.inf file

     1. Open the ..\Distribution\Control\<BUILDID>\sysprep.inf file using Notepad.

Note <BUILDID> should be updated to be the Build ID of the build that is used to create your image.

     2. Update the BuildMassStorageSection entry in the   [Sysprep] section to equal YES.

     3. Update the [SysprepMassStorage] section to specify each PnP ID and it's corresponding INF file.

Note This will require translating the information gathered from the INF files into the sysprep.inf format.

For example, the ExcludeFromSelect=PCI\VEN_8086&DEV_282A&CC_0104 gathered from the IASTOR.INF file would translate to PCI\VEN_8086&DEV_282A&CC_0104="C:\DRIVERS\IASTOR\IASTOR.INF".

The following excerpt provides an example of the updated sysprep.inf file.

[Sysprep]

BuildMassStorageSection = YES

[SysprepMassStorage]

PCI\VEN_8086&DEV_2652&CC_0106="C:\DRIVERS\IASTOR\IAAHCI.INF"

PCI\VEN_8086&DEV_2653&CC_0106="C:\DRIVERS\IASTOR\IAAHCI.INF"

PCI\VEN_8086&DEV_27C1&CC_0106="C:\DRIVERS\IASTOR\IAAHCI.INF"

PCI\VEN_8086&DEV_27C5&CC_0106="C:\DRIVERS\IASTOR\IAAHCI.INF"

PCI\VEN_8086&DEV_2681&CC_0106="C:\DRIVERS\IASTOR\IAAHCI.INF"

PCI\VEN_8086&DEV_2821&CC_0106="C:\DRIVERS\IASTOR\IAAHCI.INF"

PCI\VEN_8086&DEV_2829&CC_0106="C:\DRIVERS\IASTOR\IAAHCI.INF"

PCI\VEN_8086&DEV_282A&CC_0104="C:\DRIVERS\IASTOR\IASTOR.INF"

PCI\VEN_8086&DEV_2822&CC_0104="C:\DRIVERS\IASTOR\IASTOR.INF"

PCI\VEN_8086&DEV_27C6&CC_0104="C:\DRIVERS\IASTOR\IASTOR.INF"

PCI\VEN_8086&DEV_2682&CC_0104="C:\DRIVERS\IASTOR\IASTOR.INF"

PCI\VEN_8086&DEV_27C3&CC_0104="C:\DRIVERS\IASTOR\IASTOR.INF"

PCI\VEN_8086&DEV_2652&CC_0104="C:\DRIVERS\IASTOR\IASTOR.INF"

Recreate the Image

Once you have performed all of these tasks you must rebuild your image then sysprep and capture it. This is a bit of a hassle I know, but there is another solution, use Vista!

Disclaimer: The information on this site is provided "AS IS" with no warranties, confers no rights, and is not supported by the authors or Microsoft Corporation. Use of included script samples are subject to the terms specified in the Terms of Use .

Comments

  • Anonymous
    January 01, 2003
    Qualche giorno fa avevo scritto di BDD e MDT, segnalando come ancora non fosse possibile distrubiore

  • Anonymous
    January 01, 2003
    Everytime Intel releases a new mass storage chipset I receive the same call/email from from most of my

  • Anonymous
    January 01, 2003
    MDT provides a quick and easy way of sysprepping and capturing a WIM for deployment. What happens if

  • Anonymous
    January 01, 2003
    Q. What additional files are needed to deploy Windows XP SP2 with BDD 2007? A. In addition to the Windows

  • Anonymous
    January 01, 2003
    Hi Nick, If you use BuildMassStorageSection = Yes then it will build all drivers as well as the ones you specify manually. If you have any errors in the SysprepMassStorage section then it is likely that you will not be able to deploy your image to any client. Thanks, Ben

  • Anonymous
    January 01, 2003
    Hi Corne, You are right, however swapping HALs is not supported. So you either take the unsupported option or you create an image for each HAL type. Thanks, Ben

  • Anonymous
    January 01, 2003
    I think that should be possible. Just take you image add the drivers to the appropriate folders and run sysprep again. Thanks, Ben

  • Anonymous
    January 01, 2003
    Hi Mike, I don't mention that aproach anywhere in this post. This shouldn't be an issue as we don't use the [OEMBootFiles] section Thanks, Ben

  • Anonymous
    January 01, 2003
    The comment has been removed

  • Anonymous
    January 01, 2003
    Hi Mike, I would follow Michael Niehaus' advice and create your image using a basic machine that requires no mass storage drivers (Maybe a virtual machine). I would then concentrate on adding the drivers to the sysprep file used to create your master image. Then deploy the image to the Dell server. Thanks, Ben

  • Anonymous
    January 01, 2003
    Hi Clinton, I have found the best aproach to injecting mass storage drivers is to get the latest driver from intel (not the vendors) and use that driver only. (this doesn't apply to server deployment.) The mass storage drivers across all vendors is pretty similar and I have not had a case where this hasn't worked. You generally will not need to keep adding more and more drivers to the sysprep.inf file. It is however CRITICAL that you recreate  your master image every time you update your mass storage drivers. The ohter option you have is to use Configuration Manager. It will inject mass storage drivers for you at deployment time... NICE :). Thanks, Ben

  • Anonymous
    January 01, 2003
    Hi Niel, It looks like you are adding the drivers to the wrong build. These drivers should be in the build that is creating the master image not the build that is deploying the image. Thanks, Ben

  • Anonymous
    January 01, 2003
    Hi Joe, Thanks for making this suggestion.  This post suggests ways to PREPARE an "image" with multiple mass storage drivers. It does not detail how to CREATE an "image" that needs extra mass storage drivers (during text-mode). Also please not that everyone who has made comments above managed to get the solution working. Thanks, Ben

  • Anonymous
    January 01, 2003
    I don't fancy your chances of getting this going. The only thing I could suggest is getting hold of a beta copy of SCCM and using its driver integration. SCCM is the only product that I know of that can inject mass storage drivers into an image without having to recapture it so maybe that is worth a shot. The only other problem that I can see is the Nvidia driver. It requires a bus driver to be loaded before you can load the SATA driver, which is a real hassle. Thanks, Ben

  • Anonymous
    January 01, 2003
    Yes it is possible to run this stage many times. Thanks, Ben

  • Anonymous
    January 01, 2003
    Hi Mark, You need to get the LSI Logic driver from the VMware website (I know it is there somewhere:)). You then need to integrate it into your image as detailed in this blog post. Thanks, Ben

  • Anonymous
    January 01, 2003
    Hi Phil, Did you updsate the master image with the drivers? This has too be done when you capture the image not when you deploy it. Thanks, Ben

  • Anonymous
    January 01, 2003
    Yes you can inject mass storage drivers into an XP image using SCCM. The clone tag error you are getting suggests that you have not setup your sysprep file correctly. Thanks, Ben

  • Anonymous
    January 01, 2003
    The comment has been removed

  • Anonymous
    January 01, 2003
    Hi Jared, So you managed to sucessfully update Windows PE but you it is not working within Windows XP itself. This would suggest that there is something wrong with your sysprep file.  Have you copied the files to the correct location and are you sure that they are in the folder before sysprep starts? Thanks, Ben

  • Anonymous
    January 01, 2003
    Hi Phil, That is the correct approach. Thanks, Ben

  • Anonymous
    January 01, 2003
    Hi Paulo, The first thing I would do is return the txtsetup.inf file to it's default settings. You do not need to edit this file, in fact editing it can cause all sorts of errors. Once you have done this then I would suggest your try adding the drivers to your image based on the methods described in this post. It would also be a good idea to read the other comments. Thanks, Ben

  • Anonymous
    January 01, 2003
    The comment has been removed

  • Anonymous
    January 01, 2003
    Hi David, The drivers must be added using the method detailed here. You cannot simply inject mass storage drivers into an image (unfortunately). Thanks, Ben

  • Anonymous
    January 01, 2003
    Unfortunaley this will not work. This is because the mass storage part of the process is perormed when the image is created. This is when sysprep is read and the mass drivers prepared. Unfortunately this means you must re-create the image. Thanks, Ben

  • Anonymous
    January 01, 2003
    You just add another folder under $1. Thanks, Ben

  • Anonymous
    January 01, 2003
    Hi Martin, I don't know of a way to force WinPE to use a specific NIC. It should work if you have injected the correct drivers. The best way to check if you have injected the correct drivers is to review the %TEMP%deployUpdates_x86.log file. This is created when you update the deployment point. Thanks, Ben

  • Anonymous
    January 01, 2003
    Ben, I'm having an issue with this working correctly also, I've added all my entries to the MassStorage section and tried to sysprep my workstation and the workstation either gets a registry error or sysprep finishes but doesn't shut down the workstation. I had an issue with sysprep being on the workstation I created the image on and the microsoft tech had me remove the .inf from the workstation before I ran sysprep. I did that because sysprep on the workstation was interferring with sysprep in the build and was preventing the script in the [GuiRunOnce] to run, Do you have any suggestions? Thanks, Sam

  • Anonymous
    January 01, 2003
    Hi Gordon, This is a common bug known known as the uberbug :). You will find more information in my previous post: http://blogs.technet.com/benhunter/archive/2007/04/14/windows-pe-2-0-xp-disk-partitioning-issues.aspx Thanks, Ben

  • Anonymous
    January 01, 2003
    That is correct for ConfigMgr, however this is the method you would use for SMS. Thanks, Ben

  • Anonymous
    January 01, 2003
    Hi Fredrik, The 7b error means that you still have a problem with you mass storage drivers. If you could send me a copy of the sysprep.inf file you used when creating the image then I would be able to suggest something else. My email is ben dot hunter at microsoft dot com. Thanks, Ben

  • Anonymous
    January 01, 2003
    Hi Ben, Thanks a ton for your blog. The updated sysprep.inf and recapture of image did the trick. I am now able to use the image captured from a VMWare LSI SCSI disk and apply it to a VMWare BusLogic SCSI disk. ~Rupali

  • Anonymous
    January 01, 2003
    Hi Doug, I cover all of the log files in the following post: http://blogs.technet.com/benhunter/archive/2007/06/16/bdd-2007-understanding-bdd-logs.aspx Here is the excerpt that you are looking for: setupapi.log - Windows setup log, located in C:Windows - record inf installation actions - useful for investigating failed driver installations Thanks, Ben

  • Anonymous
    January 01, 2003
    Hi Martijn, This sysprep file looks good. The only question I would have is about the driver files them self. Are they in the correct folder before sysprep is run and the image captured? Thanks, Ben

  • Anonymous
    January 01, 2003
    This is possible with SCCM only. Thanks, Ben

  • Anonymous
    January 01, 2003
    Hi Corné, There are many methods out there for swaping HALS, however non of these are supported. Thanks, Ben

  • Anonymous
    January 01, 2003
    Hi Jason, This may change in future versions. Thanks, Ben

  • Anonymous
    January 01, 2003
    Hi Andrea, The real trick to using this process is that you must update the sysprep you use to capture the image. You then add the files to the machine you are about to sysprep. Then you must re-sysprep the machine. You cannot apply this process to an image that has already been captured. I would suggest that you perform this process manually. Maybe the best approach would be to deploy your image to a machine, make the changes to sysprep and copy the necessary files, sysprep the machine, then capture the image. Thanks, Ben

  • Anonymous
    January 01, 2003
    Hi Andres, There is a task in the default task sequence that will fix the Uberbug. You just need to enable it. If you created a WIM yourself then you need to make sure that you specify the flags value corrrectly. Have a look at issue number 6 on my top ten issues list for the solution: http://blogs.technet.com/benhunter/archive/2007/04/18/top-ten-most-common-bdd-2007-issues.aspx Thanks, Ben

  • Anonymous
    January 01, 2003
    The comment has been removed

  • Anonymous
    January 01, 2003
    Hi ML, I remember mentioning slipstreaming the CD. That sounds like hard work :) I import drivers as mentioned in this post. Thanks, Ben

  • Anonymous
    January 01, 2003
    Ben, followed your method to add the sata drivers to the base image, and i still receive the bsod 7b error when I apply this new image to the new machine witht he sata drive.  any suggestions for me?

  • Anonymous
    January 01, 2003
    Hi David, If you try to manually run the format command from the command what error do you get? Thanks, Ben

  • Anonymous
    January 01, 2003
    Hi Erik, Here are the answers to your questions:

  1. Yes
  2. It should work.
  3. I am not sure, but I do know that SCCM MSD injection is fantastic! Thanks, Ben
  • Anonymous
    January 01, 2003
    Hi Rox, That doesn't sund like a typical mass streage driver error. Usually the error code is 0x0000007B. I am not sure what is causing this one. Thanks, Ben

  • Anonymous
    January 01, 2003
    What is the error you are receiving? Also are the HAL's compatible? Thanks, Ben

  • Anonymous
    January 01, 2003
    Hi JF, The 7b error suggests that you have the an issue with the mass storage drivers. Can you send me a copy of the sysprep.inf you use when you create your image? My email is ben dot hunter at microsoft dot com Thanks, Ben

  • Anonymous
    January 01, 2003
    Hi Mike, The answer is yes and yes. The underlying concepts are exactly the same. Thanks, Ben

  • Anonymous
    January 01, 2003
    Hi John, Did you select the BuildMassStorageSection=yes in the sysprep file? If so then you must add the relevant buslogic drivers to the sysprep file when creating the image as detailed in this post. Thanks, Ben

  • Anonymous
    January 01, 2003
    The comment has been removed

  • Anonymous
    January 01, 2003
    Hi! I got a problem. I got an old notebook drive with XP installed on it and a program that I need to get to pronto. For added fun, the program is bios-oriented, which means cloning the drive to Virtual PC is out of the question. Tech support tells me that as long as I use a (newer) notebook from same manufacturer I'll be fine (with their help). So, I imaged an old hard disk onto new machine. Here is the kicker. Newer notebook has nVidia 430 SATA controller. Thus, when I boot I get 0x0000007b. Checked HAL and it matches, therefore it's SATA. Question: How do I install nVidia SATA driver on a cold OS (copy files, edit registry and so on)? Thanks.

  • Anonymous
    January 01, 2003
    Just to make things clearer for others who may struggle with this concept (as I did for a number of days)...and also to prevent more emails directly to Ben ;-) A new master image must be created which incorporates the steps Ben lists at the start of this page.  You then capture your new master image and deploy this to the "problem" workstation...and everything will work! I hope this helps to clarify the solution for those (like me) who hoped that they could just add the drivers to their deployable image, sysprep and then re-capture...unfortunately this wont work... Best wishes Carl

  • Anonymous
    July 18, 2007
    Hello Ben, With what method do I rebuild my image after changing the sysprep.inf?  LTI?  ZTI?  By hand? Thanks

  • Anonymous
    July 23, 2007
    I've followed these steps for the LTI process and I can't get it to work.  After LTI runs and the machine reboots for the text setup I get BSOD when it gets to "starting windows".  I I've checked the drive during the LTI process and the driver set does get copied down from the driver library, but the folder name that gets created does match what we're specifying in the sysprep. (IASTOR is what I have in sysrep v.s. driversHDCiaahc 6.1.0.1002 gets created). How do I rectify this situation?  It seems like the driver injection/detection is working as expected for the LTI portion, but the unattend.txt/sysprep.inf files are not correct. Any help would be much appreciated! -Aaron

  • Anonymous
    July 23, 2007
    Hi Ben, tried the steps above but Win XP image still goes into BSOD.... I'm able to deploy the Win XP OS, drivers, applications and finally, capture an image of the build but when I try to deploy it, it comes up with BSOD. Any thoughts? thanks for your help!

  • Anonymous
    July 25, 2007
    Ben,   you say to recreate the base or gold image which is fine.  an I correct in saying that when i bring this new image down to a machine that has the SATA drivers, it wont blue screen and give me the 7B error.  My questions is this, Id like to do a gold image on this machine with the sata drivers and it starts to work but upon the 1st reboot of the bdd, it gives me the stop 7B error.  any suggestions for me ?  

  • Anonymous
    July 25, 2007
    Ben Ive followed the instructions you give abot adding the sata drivers to sysprep and have created and wim that im trying to deploy to a machine with sata.  it loads pe, says its applying the image and upon re-boot, it gives me the bsod, 7b error.  any suggestions for me ?  Thanks In advance. Jared

  • Anonymous
    July 26, 2007
    Hi Ben, I'm using the latest intel matrix driver for a Precision 490.  The driver came out in June and I got it from the Dell 490 download site.  I'm using these pnp IDs in my sysprepmassstorage section... I am running sysprep from the 490.  XP will not load.  Keeps rebooting.  Any ideas?  Of course I turn off AHCI in BIOS and it boots just fine.  Thank you! BuildMassStorageSection=Yes [SysprepMassStorage] PCIVEN_8086&DEV_2653&CC_0106=c:driverspr490-sataiaahci.inf PCIVEN_8086&DEV_27C1&CC_0106=c:driverspr490-sataiaahci.inf PCIVEN_8086&DEV_27C5&CC_0106=c:driverspr490-sataiaahci.inf PCIVEN_8086&DEV_2681&CC_0106=c:driverspr490-sataiaahci.inf PCIVEN_8086&DEV_2821&CC_0106=c:driverspr490-sataiaahci.inf PCIVEN_8086&DEV_2829&CC_0106=c:driverspr490-sataiaahci.inf PCIVEN_8086&DEV_2922&CC_0106=c:driverspr490-sataiaahci.inf PCIVEN_8086&DEV_27C3&CC_0104=c:driverspr490-sataiastor.inf PCIVEN_8086&DEV_2682&CC_0104=c:driverspr490-sataiastor.inf PCIVEN_8086&DEV_27C6&CC_0104=c:driverspr490-sataiastor.inf PCIVEN_8086&DEV_2822&CC_0104=c:driverspr490-sataiastor.inf PCIVEN_8086&DEV_282A&CC_0104=c:driverspr490-sataiastor.inf

  • Anonymous
    July 26, 2007
    Well, It is working now.  I put in the id for PCIVEN_8086&DEV_2652&CC_0106 and PCIVEN_8086&DEV_2652&CC_0104.  My inf files do not list those ids.  Re-ran sysprep and this time sysprep did take 20 minutes.   Thank you for the blog.

  • Anonymous
    July 26, 2007
    Well, It is working now.  I put in the id for PCIVEN_8086&DEV_2652&CC_0106 and PCIVEN_8086&DEV_2652&CC_0104.  My inf files do not list those ids.  Re-ran sysprep and this time sysprep did take 20 minutes.   Thank you for the blog.

  • Anonymous
    July 29, 2007
    The comment has been removed

  • Anonymous
    August 15, 2007
    Hi, I'm a little confused about this: .DistributionControl<BUILDID>$OEM$$1DriversIASTOR The path on the physical hard disk is: c:sysprepi386$OEM$$1MSDHPXW4400 Does this look right? The sysprep.inf file is in c:sysprep I ask this because I'm getting registry permission errors when I try to reseal. My entry in the sysprep.inf file reflects this location too [Sysprep] BuildMassStorageSection = Yes [SysprepMassStorage] PCIVEN_8086&DEV_2652&CC_0106="C:MSDHPXW4400IAAHCI.INF" PCIVEN_8086&DEV_2653&CC_0106="C:MSDHPXW4400IAAHCI.INF" PCIVEN_8086&DEV_27C1&CC_0106="C:MSDHPXW4400IAAHCI.INF" PCIVEN_8086&DEV_27C5&CC_0106="C:MSDHPXW4400IAAHCI.INF" PCIVEN_8086&DEV_2681&CC_0106="C:MSDHPXW4400IAAHCI.INF" PCIVEN_8086&DEV_2682&CC_0104="C:MSDHPXW4400IASTOR.INF" PCIVEN_8086&DEV_27C3&CC_0104="C:MSDHPXW4400IASTOR.INF" PCIVEN_8086&DEV_2652&CC_0104="C:MSDHPXW4400IASTOR.INF" Cheers, Neil.

  • Anonymous
    August 21, 2007
    Ben,    We've followed this to the letter and also implemented http://support.microsoft.com/kb/931760 Any further tips on how to identify the issue? the reference build on the same machine is AOK, but the sysprepped one just dies every time.... any suggestions on how to troubleshoot this? Thanks

  • Anonymous
    August 21, 2007
    Hey Ben,         I set ExtendOEMPartition=0 and bingo-bango away it went. Thanks man.

  • Anonymous
    August 22, 2007
    Hi Ben! Thanks for a good blog. I also have the stop (7b) error in OSD/sysprep. I think I have done everything correct but is still getting the loop with blue screen and reboot. I have the latest drivers (iaahc 7.6.0.1011. I have tried with other versions as well. The Light Touch Reference computer is working just fine on the SATA computer models I have. It is no problem to capture a SATA computer to create an image. It is only problem to deploy. I have also tried everything you suggested but no luck. Any suggestions are appreciated. Thanks, Fredrik

  • Anonymous
    August 24, 2007
    try to slipstream sp2! no more "stop 7b", no more "iaStore.sys is corrupt" i think, the problem ist the 128gb limit... test-environment: (asus a7s notebook, ICH8R, hdd: 200gb dos7.1 @32gb drive c) w2k (sp4) - intel driver v6.21 w2k (sp4) - intel driver v7.0 (last support for w2k) wxp (sp0) - intel driver v6.21 wxp (sp0) - intel driver v7.0 wxp (sp0) - intel driver v7.5 wxp (sp2) - intel drivers v7.5 (works)

  • Anonymous
    August 29, 2007
    Hi Ben, Thank you for the great blogs!  Does SCCM 2007 allow you to inject mass storage drivers into XP images, or just Vista images? Also, I am getting an error stating that the "clonetag registry value does not exist" message when trying to capture an image with my extra MS drivers included in sysprep.inf.

  • Anonymous
    September 11, 2007
    A primary problem with the Intel storage drivers is that there are different versions which support different PnP ID's.  With my situation, I have to include the v7.5 PNP ID's into my sysprep file along with the 7.5 driver, and ALSO include one ID from the 7.0 driver and the 7.0 driver itself.  XP puts one driver into system32drivers, and the other into LastKnownGood.  Windows then loads the correct driver for my two different hardware types (I use one WIM image to support (currently) about 15 different hardware types). So for all of you that are seeing a BSOD after putting the drivers in, make sure that the driver you are using supports the PNP ID that your SATA controller is using. Regards, CJ

  • Anonymous
    September 26, 2007
    Friday, August 24, 2007 7:58 PM by thomas - berlin you mentioned slipstreaming your cd... I like this idea,  How can I create a slipstreamed Windows XP CD to include the mass storage drivers.  which I can then import into bdd 2007.  I used nlite to do this the cd worked fine.  but when I imported this cd into bdd created an ISO with all my apps the image would not deploy.  have you got any instructions of how to update the orinal xp sp2 cd.  

  • Anonymous
    October 04, 2007
    Hello, Im having problems with x60 and x61s.  If I create the BDD image on the x60 it deploys fine to the x60 machines but I get "Stop 7b" on the x61s. If I create the build on the x61 the opposite happens.  I believe sysprep, unattend and textmode are all correct and the files are correct since it deploys fine to the same model it was built on.  Any ideas? Cheers, JF

  • Anonymous
    October 12, 2007
    is there a log or anything created during sysprep that i can view to see if all the drivers were correctly integrated into the image?

  • Anonymous
    November 05, 2007
    Hey Ben, Does this still work with Microsoft Deployment RC1 now that task sequences take over for builds? Also, would this still work for 2003 Servers?

  • Anonymous
    November 08, 2007
    Hi Ben If you integrate the MSD drivers into the build media (i386 - unattended installation)

  1. ? Do I need to specify the driver path in sysprep.inf (before creating the image)
  2. ? If "all" possible msd drivers are present in the xp image, will Sccm2007 driver injection work ?
  3. ? If Yes, where will Sccm place the drivers. (inf or ?) Br erik
  • Anonymous
    November 11, 2007
    All of this is very confusing.  I am trying to create an image that will deploy to a dell D630 laptop with an ICH8M Sata drive.  I tried the above solution but get a 0x000000ed error when it reboots after loading the image "Unmountable Boot Volume".  I have tried rebooting the machine with Winpe afterward to see any logs that might be available and the "C" drive is unreadable.  Any suggestions?

  • Anonymous
    November 15, 2007
    Hi Ben- I'm following this guide. I have a question about this part: [OEMBootFiles] ; This section is used to specify custom HALs, and also maps to the Mass Storage Device section iaahci.cat iaahci.inf iastor.cat iastor.inf iastor.sys txtsetup.oem


What happens if I want to add more than one type of TEXTMODE driver? Most of the files are named the same "txtsetup.oem" -- what do you do in that scenario?

  • Anonymous
    November 16, 2007
    Great help this blog to deal with problems with the mass storage issues. Thanks a lot BEN

  • Anonymous
    November 16, 2007
    The comment has been removed

  • Anonymous
    November 18, 2007
    G'day Ben, I'm having some issues getting the lovely iastor driver to work (fantastic product isn't it?) I successfully managed to get and older version working before with another machine, but the new machine that we are trying to create an image for requires a newer file. Basically i've followed the steps that you have given both in this blog and the other one, as well as trying a few other solutions but i seem to be getting stuck on the same BSOD (7b). Last time i had to create the folder in .DistributionExtra Filesi386System32Drivers and after changing the sif file it all worked happily. I tried that again this time, but it wouldn't work. So i then went through the steps above, that didn't work, and the same with the other post. Any ideas? Cheers, Phil

  • Anonymous
    November 18, 2007
    The comment has been removed

  • Anonymous
    November 19, 2007
    The comment has been removed

  • Anonymous
    November 19, 2007
    Hey Ben- Sorry, I was trying everything on this post to get this to work with my Perc drivers. That was suggested by some of the other posters. I pinged you offline...if you could offer any advice with this that would be awesome! Thanks!

  • Anonymous
    November 26, 2007
    Hi Ben, Thanks for this great article. I'm trying to use your solution to add several mass storage drivers. But I run into creating the sysprep image. When I run my sysprep I use the following command: c:sysprepsysprep -quiet -mini -reseal -shutdown In my Sysprep file I have added the location to the drivers: [Sysprep]    BuildMassStorageSection = Yes [SysprepMassStorage] PCIVEN_8086&DEV_2652&CC_0106="C:driversTextModeiaahci.inf" PCIVEN_8086&DEV_2653&CC_0106="C:driversTextModeiaahci.inf" PCIVEN_8086&DEV_27C1&CC_0106="C:driversTextModeiaahci.inf" PCIVEN_8086&DEV_27C5&CC_0106="C:driversTextModeiaahci.inf" PCIVEN_8086&DEV_2681&CC_0106="C:driversTextModeiaahci.inf" PCIVEN_8086&DEV_2821&CC_0106="C:driversTextModeiaahci.inf" PCIVEN_8086&DEV_2829&CC_0106="C:driversTextModeiaahci.inf" PCIVEN_8086&DEV_282A&CC_0104="C:driversTextModeiastor.inf" PCIVEN_8086&DEV_2822&CC_0104="C:driversTextModeiastor.inf" PCIVEN_8086&DEV_27C6&CC_0104="C:driversTextModeiastor.inf" PCIVEN_8086&DEV_2682&CC_0104="C:driversTextModeiastor.inf" PCIVEN_8086&DEV_27C3&CC_0104="C:driversTextModeiastor.inf" PCIVEN_8086&DEV_2652&CC_0104="C:driversTextModeiastor.inf" PCIVEN_9005&DEV_809F="C:driversTextModeA320RAID.INF" PCIVEN_9005&DEV_8090="C:driversTextModeA320RAID.INF" PCIVEN_9005&DEV_8091="C:driversTextModeA320RAID.INF" PCIVEN_9005&DEV_8092="C:driversTextModeA320RAID.INF" PCIVEN_9005&DEV_8093="C:driversTextModeA320RAID.INF" PCIVEN_9005&DEV_8094="C:driversTextModeA320RAID.INF" PCIVEN_9005&DEV_809E="C:driversTextModeA320RAID.INF" PCIVEN_9005&DEV_808F="C:driversTextModeA320RAID.INF" PCIVEN_9005&DEV_8080="C:driversTextModeA320RAID.INF" PCIVEN_9005&DEV_8097="C:driversTextModeA320RAID.INF" PCIVEN_9005&DEV_809D="C:driversTextModeA320RAID.INF" PCIVEN_9005&DEV_809C="C:driversTextModeA320RAID.INF" PCIVEN_9005&DEV_8095="C:driversTextModeA320RAID.INF" PCIVEN_9005&DEV_8096="C:driversTextModeA320RAID.INF" Only when I run the sysprep with these extra lines the machine doesn't seem to sysprep properly. It won't shutdown at the end. But just restarts the explorer.exe. What could cause this?

  • Anonymous
    November 29, 2007
    Hi Ben, I feel ashamed :) I forgot to copy the drivers. That was the reason the Explorer restarted. It all seems to work now Thank you very much.

  • Anonymous
    December 04, 2007
    I have tried everything above with an ASUS P5K motherboard and i still get the error after booting from the cd image for windows xp; windows failed to start......windows failed to load because a critical system driver is missing or corrupt. file: windowssystem32driversjraid.sys status: 0xc000035a

  • Anonymous
    December 11, 2007
    Hi Bob, This is an excellent blog and I found it to be very useful.  The information posted by Joe Raby helped me to resolve an issue with an unattended build, so thanks to him also. Many Thanks - Fred

  • Anonymous
    December 13, 2007
    Ben, You mention that SCCM is able to intergrate the SATA drivers into the Image. Do you meen MS Deployment in combination with SCCM or is it also possible with only MS Deployment. Thx in advance, Regards

  • Anonymous
    January 08, 2008
    Ben, We currently have a working BDD2007/SMS2003/OSD setup for all of our machines from Dell Optiplex GX100-745. The problem i'm having is adding in the mass storage drivers for the 755 to my master image. PE2005 is updated and working with 755 network/Mass storage I have added the $OEM$/Textmode below the build and if I do a Lite touch source installation of XP on the 755 then minisetup etc is working correctly and I end up with a fully working XP machine. Previously I have had a blank SysprepMassStorage section and sysprep has built this section itself Now I have [Sysprep]   BuildMassStorageSection = Yes [SysprepMassStorage] PCIVEN_8086&DEV_2822&CC_0104="C:DRIVERSIASTORIASTOR.INF" etc... Since I manually added the 755 entries and tried to rebuild my master image on the GX100 it's now giving 7B error. Is this due to me having manually added some entries? Do I now need to manually add all my mass storage drivers manually or am I missing something else? Thanks, Nick

  • Anonymous
    January 22, 2008
    Ok, Im about numb in the brain. I have Dell, d830, d620, d620, d420 d430, opti 745/755, panasonic cf30, cf52, and a couple older models. I want to inject mass storage drivers for all models that gave me the 7b errors (most newer models) How do i go about editing sysprep or unattend with the new id's and where do i seperate the files on the distribution share or the deployed hard driver or the HDD for the base image being created. Also, how do i stop a base build and capture to configure prior to BDD syspreping it. Seems its all captures in one big run if the 7b error doesnt come up in vm session.  Say I want a 755 and 745 but both need drivers for sata or a panasonic cf30 how do i go about this? I have many models and will need a "distribuion structure" for drivers for each particular model.  I GREATLY appreciate your help Ben and as well as others with their posts.  Once i have the 7b fix down any newer models that come in say a optiplex 765 (guessing) and it has different drivers do i have to "recreate" this base image? Or can I inject somewhere after the build?  Can i use multiple Iastor files in different folder structures and have bdd call on wmi from the hardware and pull only those mass storage drivers? Or will this "have" to be injected in the master or base image thats created from the source files all through the unattened and then sysprep and image creation. Do i deploy my base image to a vm then configure it to our standards then sysprep again and wim the image for deployment and add our scripts lastly.??? Yes Lots of questions but spent about a month on this project and stumbling everywhere.

  • Anonymous
    February 13, 2008
    Ben, Is it possible to do this on a machine that has already been sysprepped once? Thanks Jason

  • Anonymous
    February 15, 2008
    The comment has been removed

  • Anonymous
    February 15, 2008
    Thanks Ben, Can this stage be run as many times as necessary? Jason

  • Anonymous
    February 15, 2008
    Great. Thanks Ben! And just to clarify, unless you use SCCM or SMS, this is the only want to add these drivers into the XP image...correct?

  • Anonymous
    February 17, 2008
    Ben, Does Microsoft plan on changing this in a future release of MDT or is this going to be the set in stone method. Thx, Jason

  • Anonymous
    February 19, 2008
    Thanks ben, another problem here now :( command: FORMAT.COM C:/FS:NTFS /V:OSDisk /Y /Q  FAILED with error = 1 ZTI ERROR - Non-zero return code by ZTIDiskpart, rc=1 Non-zero return code executing command "X:DeployToolsX86 TsmBootstrap.exe" /enc:SAStart, rc = -2147467259 Any ideas? Thanks in advance David

  • Anonymous
    February 26, 2008
    Ben, If i need to add other drivers, do i add a $2 folder, or just another folder under the $1.

  • Anonymous
    February 29, 2008
    Ben, Have you tried using BDD 2007 to install XP on to a VMWare virtual machine running on an ESX server ? The problem I face is the virtual machine is using an LSI Logic scsi controller and VMWare also has its own SCSI drivers. Another virtual machine that I have converted from a physical machine is showing the IDE controller as an Intel 82371AB/EB IDE Controller. PE applies the image and copies teh XP setup files to the VM. The VM then restarts, goes through the text setup of XP and comes up with the 0x0000007B BSOD. Which driver do I need to add to sysprep/unattended text files? Regards, Mark

  • Anonymous
    March 03, 2008
    Mark, I had the same problem before. Set the VM scsi controller to Buslogic and the OS to windows XP. Download the vmscsi-1.2.0.4.flp and mount it to vmware. Press F6 during install and load the driver. Greetings

  • Anonymous
    March 03, 2008
    The comment has been removed

  • Anonymous
    March 17, 2008
    The comment has been removed

  • Anonymous
    March 17, 2008
    Thanks for this great blog. I'm trying to create a master image that will include the Mass Storage Driver for an Optiplex 755, with BIOS setting "AHCI Auto Detect Mode" using Sysprep.  My Sysprep looks something like this...  Is this correct or am I missing something?  After deploying the image the Optiplex 755 continuously reboots during mini setup "saving settings." Thanks! [Sysprep] BuildMassStorageSection = Yes [SysprepMassStorage] PCIVEN_8086&DEV_2922&CC_0106="c:DriversAHCI_SATAiaAHCI.inf"

  • Anonymous
    March 18, 2008
    Not sure what I did but it is working great now! Thanks! [Sysprep] BuildMassStorageSection = Yes [SysprepMassStorage] PCIVEN_8086&DEV_2922&CC_0106="c:DriversAHCI_SATAiaAHCI.inf"

  • Anonymous
    March 25, 2008
    We have built a window xp image from cd installed no apps.  Added the sata drivers and  sysprepped as your article says. Once sysprep has finished it shuts the laptop down.  Then captured the image as a wim using imagex. If i deploy the captured wim image from Microsoft Deployment then install apps The image will deploy but the apps will not install. What am I doing wrong. If I use a microsoft CD as a source OS instead of the captured wim image and deploy to a laptop which does not require sata drivers the the os installs and the apps successfully install also.   This tells me that something is wrong with my captured image. Any ideas

  • Anonymous
    April 11, 2008
    Ben- I can't tell you how pleased I was to see your posts here on this SATA drive issue, I knew I had seen something somewhere. I have the DELL 755 with SATA and am having the same issues everyone else has had with XP. Before I go any further I just want to get your opinion. I normally do a sysprep -bmsd on any new machines and then compare and create one mass storage section based on that,so that there are no duplicate entries (Xp imaging). I then add the OEmPnPDriversPath to the sysprep.inf and copy the drivers folder to the c drive (c:drivers)This has worked great up until the sata problem. I downloaded the newest driver from Intel. If I do this, create a wim and import it, without changing the Bios from AHCI to ATA or legacy, this should work? Or do I still need to do the textmode, or does that apply if I don't do a build and create a wim and import it first? From your instructions it look like this can be done manualy- above, or by using the text mode folder and sysprep? You were right about mass storage drivers and Vista- non issue.

  • Anonymous
    April 16, 2008
    The comment has been removed

  • Anonymous
    April 28, 2008
    The comment has been removed

  • Anonymous
    May 03, 2008
    Ben, We have always did a new installation of windows xp on new hardware from Dell. SO for the gx280/620/755 /laptop/d430/620/630. every machine a build of a new image with ghost 8/ghostacastserve. On the same machines i restore a image and then log in as administrator (not in the domain). The go to c:sysprep and run syprep.exe. Sysprep reseal and reboots the pc. After a few minutes the pcname is asked (this is nessecary) and the pc is making a new sid and then i can log in to the domain. Mostly i see that people are syprepping and then shutdown the pc. Making a new image and then restore the image and the last step what i do is then the case. Now i see that it is good possible to restore to different hardware. The only thing that must be taking in consideration is: the HAL and the mass storage device. I also want to make use of sysprep.inf but because i do the resealing after i restored the image and after log in, the things you have told must be in another order i think, am i right?

  • Anonymous
    May 05, 2008
    Ben, however swapping HALs is not supported. So you either take the unsupported option or you create an image for each HAL type I have found on the Internet that it is possible to choose (automatically or manual) in the boot.ini, the HAL. It was on Vernalex site. If it works i didn't try yet but maybe it is possible through the boot.ini to choose the HAL?