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 .