We help IT Professionals succeed at work.

Adding Mass Storage drivers to XP SP2 during Sysprep

843 Views
Last Modified: 2013-11-21
Hello,
I'm having trouble adding SATA drivers to an XP image. So far I've;
1. Downloaded Intel Storage Matrix
2. Extracted iaahci.cat, iaahci.inf, iastor.cat, iastor.inf, iastor.sys, and txtsetup.eom to C:\Drivers\IASTOR on the source computer
3. From the iaahci.inf and the iastor.inf files I've built my sysprep.inf  to look like the following.
[Unattended]
OemPreinstall = Yes
OemPnPDriversPath = "C:\drivers\IASTOR"
[Sysprep]
[SysprepMassStorage]
PCI\VEN_8086&DEV_2653&CC_0106 = "C:\Drivers\IASTOR\iaahci.inf"
PCI\VEN_8086&DEV_2681&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_2821&CC_0106 = "C:\Drivers\IASTOR\iaahci.inf"  PCI\VEN_8086&DEV_2829&CC_0106 = "C:\Drivers\IASTOR\iaahci.inf"  PCI\VEN_8086&DEV_2922&CC_0106 = "C:\Drivers\IASTOR\iaahci.inf"  PCI\VEN_8086&DEV_5029&CC_0106 = "C:\Drivers\IASTOR\iaahci.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_27C6&CC_0104 = "C:\Drivers\IASTOR\iastor.inf"  PCI\VEN_8086&DEV_2822&CC_0104 = "C:\Drivers\IASTOR\iastor.inf"  PCI\VEN_8086&DEV_282A&CC_0104 = "C:\Drivers\IASTOR\iastor.inf"

After getting the sysprep information configured this way I copied all sysprep files over to C:\
-I then ran these hotfixes KB887816 and KB887816-v2
-Then ran sysprep -mini -quiet -reseal -shutdown

I shut the system down and imagex'ed it, uploaded the image to the WDS, made my build, and dropped the image on another computer. Mini Setup will complete but when the OS goes for the first time it BSoDs.

I've since added the IASTOR folder to \\wds_server\distribution$\control\<buildid>$OEM$\$1\Drivers
-This also failed
I've added a Textmode folder to \\wds\distribution$\control\buildid\$OEM$ and added the IASTOR folder to it.
-Image failed again after MINISETUP when OS is loading

I'm about at my wits end. Its user error but what am I doing wrong. I was told conficting information regarding how I have my [SysprepMassStorage] section configured. I seems that I may be missing information in this area, but I was told (by a souce I'm indifferent about) that this isn't needed. I've scoured the txtsetup.oem for disk_description and disk_tag. I think I found the disk_description info but I'm at a loss for disk_tag. So far, I've rebuilt the sysprep.inf [SysprepMassStorage] as follows;

   PCI\VEN_8086&DEV_2653&CC_0106 = "C:\Drivers\IASTOR\iaahci.inf","C:\Drivers\IASTOR","Intel Matrix Storage Manager driver","
   PCI\VEN_8086&DEV_2681&CC_0106 = "C:\Drivers\IASTOR\iaahci.inf","C:\Drivers\IASTOR","Intel Matrix Storage Manager driver"
   PCI\VEN_8086&DEV_27C1&CC_0106 = "C:\Drivers\IASTOR\iaahci.inf","C:\Drivers\IASTOR","Intel Matrix Storage Manager driver"
   PCI\VEN_8086&DEV_27C5&CC_0106 = "C:\Drivers\IASTOR\iaahci.inf","C:\Drivers\IASTOR","Intel Matrix Storage Manager driver"
   PCI\VEN_8086&DEV_2821&CC_0106 = "C:\Drivers\IASTOR\iaahci.inf","C:\Drivers\IASTOR","Intel Matrix Storage Manager driver"
   PCI\VEN_8086&DEV_2829&CC_0106 = "C:\Drivers\IASTOR\iaahci.inf","C:\Drivers\IASTOR","Intel Matrix Storage Manager driver"
   PCI\VEN_8086&DEV_2922&CC_0106 = "C:\Drivers\IASTOR\iaahci.inf","C:\Drivers\IASTOR","Intel Matrix Storage Manager driver"
   PCI\VEN_8086&DEV_5029&CC_0106 = "C:\Drivers\IASTOR\iaahci.inf","C:\Drivers\IASTOR","Intel Matrix Storage Manager driver"
   PCI\VEN_8086&DEV_2682&CC_0104 = "C:\Drivers\IASTOR\iastor.inf","C:\Drivers\IASTOR","Intel Matrix Storage Manager driver"
   PCI\VEN_8086&DEV_27C3&CC_0104 = "C:\Drivers\IASTOR\iastor.inf","C:\Drivers\IASTOR","Intel Matrix Storage Manager driver"
   PCI\VEN_8086&DEV_27C6&CC_0104 = "C:\Drivers\IASTOR\iastor.inf","C:\Drivers\IASTOR","Intel Matrix Storage Manager driver"
   PCI\VEN_8086&DEV_2822&CC_0104 = "C:\Drivers\IASTOR\iastor.inf","C:\Drivers\IASTOR","Intel Matrix Storage Manager driver"
   PCI\VEN_8086&DEV_282A&CC_0104 = "C:\Drivers\IASTOR\iastor.inf","C:\Drivers\IASTOR","Intel Matrix Storage Manager driver"

Each of the above entries are on their own line in sysprep.inf
I'm not sure how to identify the disk_tag info missing from above or if I've done the rest correctly.
What am I doing wrong? The computer the image was started on was an HP nc6400. I'm trying to drop the image on an HP 6910p. The rest of our laptop models have different HALS, but I've read this can be overcome. I'd be interested in that if its possible; I didn't think it was. Our desktops all use the same HALS as these so theoretically I should be able to drop this image on them once the kinks are worked out here.


Comment
Watch Question

This one is on us!
(Get your first solution completely free - no credit card required)
UNLOCK SOLUTION

Author

Commented:
This tutorial looks VERY promising. Thank you! I'll take me a while to implement, but once I do I'll make sure to accept the solution. Thank you for your help and patience.
You are very welcome, this guide has helped me tremendously in the past. I highly suggest using the sysprep driver scanner tool for the rest of your drivers as well.

Author

Commented:
I'm having trouble identifying how the following PnP IDs were formed.
*pnp0a00= "path to driver"
*pnp0a01= "path to driver"
*pnp0a04="path to driver"
*pnp0a03="path to driver"
pci\cc_0604="path to driver"

The author doesn't explain this. How did he create the PnP IDs; *pnp0a00, *pnp0a01, etc...

For the other section that should be merged with the PnP stuf above I'm getting;

 PCI\VEN_8086&DEV_2653=C:\Drivers\IASTOR\iaahci.inf
  PCI\VEN_8086&DEV_2681=C:\Drivers\IASTOR\iaahci.inf
  PCI\VEN_8086&DEV_27C1=C:\Drivers\IASTOR\iaahci.inf
  PCI\VEN_8086&DEV_27C5=C:\Drivers\IASTOR\iaahci.inf
  PCI\VEN_8086&DEV_2821=C:\Drivers\IASTOR\iaahci.inf
  PCI\VEN_8086&DEV_2829=C:\Drivers\IASTOR\iaahci.inf
  PCI\VEN_8086&DEV_2922=C:\Drivers\IASTOR\iaahci.inf
  PCI\VEN_8086&DEV_5029=C:\Drivers\IASTOR\iaahci.inf
  PCI\VEN_8086&DEV_2682=C:\Drivers\IASTOR\iastor.inf
  PCI\VEN_8086&DEV_27C3=C:\Drivers\IASTOR\iastor.inf
  PCI\VEN_8086&DEV_27C6=C:\Drivers\IASTOR\iastor.inf
  PCI\VEN_8086&DEV_2822=C:\Drivers\IASTOR\iastor.inf
  PCI\VEN_8086&DEV_282A=C:\Drivers\IASTOR\iastor.inf


I've added my sysprep.inf as a .txt so I could post it. Sensitive information has been removed
Normally I'd have this in C:\Sysprep as sysprep.inf.
Do I not need to add all the stuff after the path to the driver?




sysprep-edited.txt

Author

Commented:
OK, no progress yet.
I've created the following hierarchy on the distribution$ point.
\\server\distrbution$\$OEM$\$1\Drivers\IASTOR
AND
\\server\distribution$\control\<buildid>\$oem$\$1\Drivers\IASTOR
Neither of these are making it to my source computer.
I dropped the basic clean image first.
I've moved \Sysprep to %systemdrive%
I've added the following to the sysprep folder
C:\Sysprep\i386\$OEM$\$1\Drivers\IASTOR
None of these locations will put Drivers\IASTOR on C:\
My sysprep.inf is in C:\Syprep and \\server\distribution$\control\<buildid>
The [Unattended] section has OemPnPDriversPath=\Drivers;\Drivers\IASTOR, OemPreinstall=Yes
My sysprep looks like this;
[Unattended]
    OemSkipEula = Yes
    OemPreinstall= Yes
    OemPnPDriversPath = "Drivers\IASTOR"
    DriverSigningPolicy = Ignore
    ExtendOemPartition = 1
    KeepPageFile = 0
[Sysprep]
   

[SysprepMassStorage]
   PCI\VEN_8086&DEV_2653&CC_0106 = "C:\Drivers\IASTOR\iaahci.inf","C:\Drivers\IASTOR","Intel Matrix Storage Manager driver","C:\Drivers\IASTOR\iaahci"
   PCI\VEN_8086&DEV_2681&CC_0106 = "C:\Drivers\IASTOR\iaahci.inf","C:\Drivers\IASTOR","Intel Matrix Storage Manager driver","C:\Drivers\IASTOR\iaahci"
   PCI\VEN_8086&DEV_27C1&CC_0106 = "C:\Drivers\IASTOR\iaahci.inf","C:\Drivers\IASTOR","Intel Matrix Storage Manager driver","C:\Drivers\IASTOR\iaahci"
   PCI\VEN_8086&DEV_27C5&CC_0106 = "C:\Drivers\IASTOR\iaahci.inf","C:\Drivers\IASTOR","Intel Matrix Storage Manager driver","C:\Drivers\IASTOR\iaahci"
   PCI\VEN_8086&DEV_2821&CC_0106 = "C:\Drivers\IASTOR\iaahci.inf","C:\Drivers\IASTOR","Intel Matrix Storage Manager driver","C:\Drivers\IASTOR\iaahci"
   PCI\VEN_8086&DEV_2829&CC_0106 = "C:\Drivers\IASTOR\iaahci.inf","C:\Drivers\IASTOR","Intel Matrix Storage Manager driver","C:\Drivers\IASTOR\iaahci"
   PCI\VEN_8086&DEV_2922&CC_0106 = "C:\Drivers\IASTOR\iaahci.inf","C:\Drivers\IASTOR","Intel Matrix Storage Manager driver","C:\Drivers\IASTOR\iaahci"
   PCI\VEN_8086&DEV_5029&CC_0106 = "C:\Drivers\IASTOR\iaahci.inf","C:\Drivers\IASTOR","Intel Matrix Storage Manager driver","C:\Drivers\IASTOR\iaahci"
   PCI\VEN_8086&DEV_2682&CC_0104 = "C:\Drivers\IASTOR\iastor.inf","C:\Drivers\IASTOR","Intel Matrix Storage Manager driver","C:\Drivers\IASTOR\iastor"
   PCI\VEN_8086&DEV_27C3&CC_0104 = "C:\Drivers\IASTOR\iastor.inf","C:\Drivers\IASTOR","Intel Matrix Storage Manager driver","C:\Drivers\IASTOR\iastor"
   PCI\VEN_8086&DEV_27C6&CC_0104 = "C:\Drivers\IASTOR\iastor.inf","C:\Drivers\IASTOR","Intel Matrix Storage Manager driver","C:\Drivers\IASTOR\iastor"
   PCI\VEN_8086&DEV_2822&CC_0104 = "C:\Drivers\IASTOR\iastor.inf","C:\Drivers\IASTOR","Intel Matrix Storage Manager driver","C:\Drivers\IASTOR\iastor"
   PCI\VEN_8086&DEV_282A&CC_0104 = "C:\Drivers\IASTOR\iastor.inf","C:\Drivers\IASTOR","Intel Matrix Storage Manager driver","C:\Drivers\IASTOR\iastor"


Any suggestions?
I usually don't make a UNC path to the store, I physically copy it over to the root of the system that is going to be sysprepped. For instance, drop your driver stores to C:\Drivers\IASTOR, then sysprep it. I've never had much luck trying UNC paths for some reason, so I physically copy the drivers to the drive. Try that out and see what happens.

Author

Commented:
Originally I had the store on at c:\Drivers\IASTOR;\DRIVERS\NIC;\Drivers\WNIC;etc
I was getting the same results while it was on C:\
I tried adding the store to the UNC paths above because those are supposed to be copied over the c:\ on the source during Lite Touch Installation.
Is that not correct? It's still doesn't work when on C:\Drivers but at least I can stop trying to fix a percieved issue that isn't an issue.

Author

Commented:
Thank you for the link. I finally had enough time to implement the instructions and they worked. I had been following the Vista Resource Kit and the Windows Desktop Deployment RK. Neither of them were as helpful is the guide you provided.
Unlock the solution to this question.
Join our community and discover your potential

Experts Exchange is the only place where you can interact directly with leading experts in the technology field. Become a member today and access the collective knowledge of thousands of technology experts.

*This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

OR

Please enter a first name

Please enter a last name

8+ characters (letters, numbers, and a symbol)

By clicking, you agree to the Terms of Use and Privacy Policy.