Everytime Intel releases a new mass storage chipset I receive the same call/email from from most of my customers and it goes something like this:
"Hi Ben, I have just got a new machine and I can't deploy an image to it, do you know what is going on?"
The problem they are having is that their Windows PE does not support this new chipset. The new drivers must be integrated into the Windows PE source they are using. This is not an issue for Windows PE 2.0 as BDD 2007 will automatically integrate the drivers for you. But with Windows PE 2004/2005 you must integrate the drivers yourself.
Well a new Intel mass storage chipset seems to have appeared so I though I might put my recommendations here to preempt the calls. These recomendations use the new Intel chipset bas an example but can also be applied to any other mass storage driver. This blog entry specifically recommends how to integrate drivers into Windows PE 2004/2005 using BDD 2007.
Mass Storage drivers consist of a .SYS file that Windows PE references via the txtsetup.sif file. In order to integrate the driver into Windows PE we must identify the .SYS file that the driver uses and the additions that must be added to the txtsetup.sif file. The file that provides this information is the txtsetup.oem file that is shipped with the driver.
The following steps should be followed to integrate a new Mass Storage driver into a Windows PE 2004/2005 source:
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 driver must include a txtsetup.oem file. The latest version of the Intel driver is located here. The version must match the Operating System that Windows PE is based on, for example:
Windows PE 2004 - Windows XP
Windows PE 2005 - Windows 2003
Identify the .SYS file
Once the drivers have been downloaded the .SYS file must be identified.
To identify the .SYS file
1. Open the txtsetup.oem file downloaded in the previous section.
2. Locate the [Disks] section, and record the name of the .SYS file specified in that section.
The following excerpt from a txtsetup.oem file clearly identifies the .SYS file (iastor.sys).
disk1 = "Intel Matrix Storage Manager driver", iaStor.sys, \
Gather the Plug and Play ID’s
The PnP identifiers for the driver must now be identified. These drivers are of the form PCI\<PnP ID>.
To identify the PnP ID’s
1. Open the txtsetup.oem file downloaded in the previous section.
2. Locate all lines that contain PnP ID’s, and record their values.
The following excerpt provides an example of the PnP ID’s extracted from and Intel Mass Storage driver txtsetup.oem file.
id = "PCI\VEN_8086&DEV_2922&CC_0106","iaStor"
id = "PCI\VEN_8086&DEV_282A&CC_0104","iaStor"
id = "PCI\VEN_8086&DEV_2829&CC_0106","iaStor"
id = "PCI\VEN_8086&DEV_2822&CC_0104","iaStor"
id = "PCI\VEN_8086&DEV_2821&CC_0106","iaStor"
id = "PCI\VEN_8086&DEV_2682&CC_0104","iaStor"
id = "PCI\VEN_8086&DEV_2681&CC_0106","iaStor"
id = "PCI\VEN_8086&DEV_27C3&CC_0104","iaStor"
id = "PCI\VEN_8086&DEV_27C6&CC_0104","iaStor"
id = "PCI\VEN_8086&DEV_27C1&CC_0106","iaStor"
id = "PCI\VEN_8086&DEV_27C5&CC_0106","iaStor"
id = "PCI\VEN_8086&DEV_2653&CC_0106","iaStor"
Copy the driver files
To automatically integrate the driver files into Windows PE a folder structure must be created to support the added files.
To create the folder structure
1. Create the folder structure, .\Distribution\Extra Files\i386\System32\Drivers
2. Copy the .SYS file into the newly created Drivers folder.
3. Copy the txtsetup.sif file located in the Windows Source\i386 folder for the ZTI deployment point. (i.e. .\Distribution\Windows 2003 SP1\i386) to the folder .\Distribution\Extra Files\i386.
Note if you already use the extra files functionality then simply add the files into the current folder structure.
Update the txtsetup.sif file
Now that we have identified the .SYS file and the PnP ID’s for the Mass Storage driver we can update the txtsetup.sif file.
To update the txtsetup.sif file
1. Open the file .\Distribution\Extra Files\txtsetup.sif file using Notepad.
2. Update the [HardwareIdsDatabase] section to specify each PnP ID.
Note This will require translating the information gathered from the txtsetup.sif file into the txtsetup.sif format. For example:
id ="PCI\VEN_8086&DEV_2822&CC_0104","iaStor" would translate to PCI\VEN_8086&DEV_282A&CC_0104="iastor".
The following excerpt provides an example of the PnP ID’s extracted from the Intel Mass Storage driver txtsetup.oem file and translated into the txtsetup.sif format.
3. Update the [SCSI.Load] section to identify the .SYS file. This should be in the format DriverName = FileName.sys,4
The following excerpt provides an example of the .SYS file information as it has been added into the txtsetup.sif file.
iaStor = iaStor.sys,4
Note The DriverName value must match the value specified in the HardwareIdsDatabase section. For example if the value is PCI\VEN_8086&DEV_2652&CC_0106="iastor" then the DriverName must be iastor.
Update the deployment point
Once the drivers have been setup we must then update the deployment point to create the updated Windows PE source files.
To update Windows PE
1. Click Start, then point to All Programs. Point to BDD 2007, and then click Deployment Workbench.
2. Click Deploy, right-click Deployment Points, and then click Image Distribution Deployment Point.
3. Click the Windows PE 2004/2005 tab.
4. Set the Extra Directory to Add to that of the extra files location created in the previous step. (i.e. D:\BDD\Distribution\Extra Files)
5. Right-click the newly created ZTI deployment point, and then click Update to force it to create the ZTI directory on the file system and generate the Windows PE source files.
To update SMS with the new Windows PE source files (created in the Deployment Workbench), complete the following steps:
1. From the SMS Administrator console, locate Site Database, then expand Image Packages.
2. Right-click Images Packages, point to All Tasks, and then click Update Windows PE.
3. In the Update Windows PE Wizard, click Next.
4. Browse to the generic Windows PE source folder (DistributionPoint\boot\source), click Open, and then click Next.
5. Click Finish when the update is completed.
Once you have completed all of the steps above then you simply need to re-create any SMS OSD Deployment CD's you may be using and update your OSD packages and the process is complete, EASY 😉
UPDATE: For information on integrating these drivers into an XP image please refer to the following blog:
If you are looking for further information then the following article by Johan is a great place to start: