原文地址:[url]http://blogs.technet.com/benhunter/archive/2007/07/12/bdd-2007-integrating-mass-storage-drivers-into-your-xp-p_w_picpath.aspx[/url]

 

BDD 2007 - Integrating Mass Storage Drivers into your XP p_w_picpath

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 p_w_picpaths. So here we go...
在之前的关于在PE中整合存储驱动的文章后,我收到了许多咨询,如何将同样的驱动整合入XP镜像里。因此,我们现在开始....
The key point to note about integrating mass storage drivers into your current XP p_w_picpath that that these must be integrated when the client is syspreped. You cannot add drivers to an p_w_picpath 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 p_w_picpath.
向XP镜像里整合驱动的关键在于在sysprep时整合驱动。你不能在镜像生成后才添加驱动(这是XP的缺陷,Vista则没有这个问题)。接下来我会向你展示如何向你的镜像整合Intel驱动。

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.
一旦你已经下载了驱动,你必须确认PNP ID和相对应的INF文件
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.
当你下载了一个驱动,你会发现他包含一个或多个inf文件,这些inf文件里包含了他支持的PNP ID。
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.
Intel驱动有两个inf文件,IAAHCI和IASTOR,下面显示了他们支持的PNP ID
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
要自动整合驱动进XP,必须建立一个文件夹结构来支持。这些文件夹接着被sysprep.inf文件引用。建立步骤:
     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 p_w_picpath.
注意<BUILDID>必须为你创立的镜像的Build的id号
     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.
将之前的下载的驱动放入新建立的IASTOR文件夹,注意如果你已经使用$OEM$功能,只需要简单的把文件加入当前的文件夹

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 p_w_picpath.
现在你已经下载驱动、建立了支持文件夹结构并确认了PNP ID,接下来我们必须升级sysprep.inf
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 p_w_picpath. 打开..\Distribution\Control\<BUILDID>\sysprep.inf
     2. Update the BuildMassStorageSection entry in the  [Sysprep] section to equal YES.修改sysprep中BuildMassStorageSection为YES
     3. Update the [SysprepMassStorage] section to specify each PnP ID and it's corresponding INF file.修改 [SysprepMassStorage] 为你所需要的PNP ID和他对应的inf文件
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 p_w_picpath then sysprep and capture it. This is a bit of a hassle I know, but there is another solution, use Vista!
完成后就重建镜像吧,sysprep是少不了的。