Hi all,
Here is a quick but hopefully useful guide for adding mass storage device drivers to Windows XP SP2 and Windows PE 2005.
This guide explains how to add the Intel SATA driver (very common) to scripted install, sysprepped images and Windows PE 2005.
Download the IntelSATA drivers (Intel Matrix Storage Manager) from www.intel.com and extract them to a temporary folder, C:\Drivers\IntelSATA in this example
The content of the C:\Drivers\IntelSATA folder should have the following files
iaahci.cat
iaahci.inf
iastor.cat
iastor.inf
iastor.sys
txtsetup.oem
Adding mass storage drivers to Windows XP unattended setup (scripted, via unattend.txt)
On the distribution share, containing the Windows XP SP2 setup files , create a folder structure like \i386\$OEM$\TEXTMODE, copy the C:\Drivers\IntelSATA content to this folder.
On the distribution share, containing the Windows XP SP2 setup files , create a folder structure like \i386\$OEM$\$1\Drivers\IntelSATA, copy the C:\Drivers\IntelSATA content to this folder.
Modify the unattend.txt file to look like this
[MassStorageDrivers]
"Intel(R) 82801HR/HH/HO SATA RAID Controller (Desktop ICH8R)" = OEM
"Intel(R) 82801HR/HH/HO SATA AHCI Controller (Desktop ICH8R)" = OEM
"Intel(R) 631xESB/632xESB SATA RAID Controller (Server/Workstation ESB2)" = OEM
"Intel(R) 631xESB/632xESB SATA AHCI Controller (Server/Workstation ESB2)" = OEM
"Intel(R) 82801GHM SATA RAID Controller (Mobile ICH7MDH)" = OEM
"Intel(R) 82801GR/GH SATA RAID Controller (Desktop ICH7R/DH)" = OEM
"Intel(R) 82801GR/GH SATA AHCI Controller (Desktop ICH7R/DH)" = OEM
"Intel(R) 82801GBM SATA AHCI Controller (Mobile ICH7M/DH)" = OEM
"Intel(R) 82801FR SATA RAID Controller (Desktop ICH6R)" = OEM
"Intel(R) 82801FR SATA AHCI Controller (Desktop ICH6R)" = OEM
"Intel(R) 82801FBM SATA AHCI Controller (Mobile ICH6M)" = OEM
"IDE CD-ROM (ATAPI 1.2)/PCI IDE Controller" = "Retail"
[OEMBootFiles]
iaStor.inf
iaahci.inf
iaStor.cat
iaahci.cat
iaStor.sys
Txtsetup.oem
[Unattended]
OemPreinstall = Yes
OemPnPDriversPath = "Drivers\IntelSATA”
DriverSigningPolicy = Ignore
Note: the IDE CD-ROM (ATAPI 1.2)/PCI IDE Controller" = "Retail is important for standard IDE failback
Adding mass storage drivers to Windows XP for sysprep (imaging)
Modify sysprep.inf to look like this . Since we manually update sysprep.inf, do not add BuildMassStorageSection = Yes to the [Sysprep] section
[Sysprep]
[SysprepMassStorage]
; Added for Intel SATA Controller Support
PCI\VEN_8086&DEV_2652&CC_0106=C:\Drivers\IntelSATA\iaahci.inf
PCI\VEN_8086&DEV_2653&CC_0106=C:\Drivers\IntelSATA\iaahci.inf
PCI\VEN_8086&DEV_27C1&CC_0106=C:\Drivers\IntelSATA\iaahci.inf
PCI\VEN_8086&DEV_27C5&CC_0106=C:\Drivers\IntelSATA\iaahci.inf
PCI\VEN_8086&DEV_2681&CC_0106=C:\Drivers\IntelSATA\iaahci.inf
PCI\VEN_8086&DEV_2821&CC_0106=C:\Drivers\IntelSATA\iaahci.inf
PCI\VEN_8086&DEV_2652&CC_0104=C:\Drivers\IntelSATA\iastor.inf
PCI\VEN_8086&DEV_27C3&CC_0104=C:\Drivers\IntelSATA\iastor.inf
PCI\VEN_8086&DEV_2682&CC_0104=C:\Drivers\IntelSATA\iastor.inf
PCI\VEN_8086&DEV_27C6&CC_0104=C:\Drivers\IntelSATA\iastor.inf
PCI\VEN_8086&DEV_2822&CC_0104=C:\Drivers\IntelSATA\iastor.inf
; End of drivers added for Intel SATA Controller Support
;
; Generic drivers
Adding mass storage drivers to Windows PE 2005
Method 1 (via winpeom.sif), requires one folder per controller and updating of each txtsetup.oem even if the drivers supports many controllers
In this example we add support for the PCI\VEN_8086&DEV_2652&CC_0104 and PCI\VEN_8086&DEV_27C3&CC_0104 controllers
Note: Both using the same driver
Create a folder structure like \i386\system32\Drivers\DiskDrivers\IntelSATA_2652
Create a folder structure like \i386\system32\Drivers\DiskDrivers\IntelSATA_27C3
Copy the content of the c:\tmp\IntelSATA folder to both directories (yes duplicate)
In the \i386\system32\Drivers\DiskDrivers\IntelSATA_2652 folder modify the [defaults] section of txtsetup.oem to match the driver
In the \i386\system32\Drivers\DiskDrivers\IntelSATA_2652 folder modify the [defaults] section of txtsetup.oem to match the driver
Method 2 (via txtsetup.sif), make the driver support all it’s controllers without modifications…
Extract the WinPE 2005 iso or compile a custom WinPE 2005 image
Copy the iastor.sys file from c:\tmp\IntelSATA to \i386\system32\drivers
Modify the \i386\txtsetup.sif folder
In the [SCSI.LOAD] section add
Iastor = iastor.sys,4
In the [HardwareIdsDatabase] section, add
PCI\VEN_8086&DEV_2652&CC_0106 = iastor
PCI\VEN_8086&DEV_2653&CC_0106 = iastor
PCI\VEN_8086&DEV_27C1&CC_0106 = iastor
PCI\VEN_8086&DEV_27C5&CC_0106 = iastor
PCI\VEN_8086&DEV_2681&CC_0106 = iastor
PCI\VEN_8086&DEV_2821&CC_0106 = iastor
PCI\VEN_8086&DEV_2652&CC_0104 = iastor
PCI\VEN_8086&DEV_27C3&CC_0104 = iastor
PCI\VEN_8086&DEV_2682&CC_0104 = iastor
PCI\VEN_8086&DEV_27C6&CC_0104 = iastor
PCI\VEN_8086&DEV_2822&CC_0104 = iastor