The first thing you need to do is find a computer that needs additional storage drivers. In my case I have a Lenovo T500 that needs additional drivers for setup to work correctly. First I had to download the Mass Storage drivers. You can generally do this from the manufactures website, or from the controllers manufactures site. This T500 has a Intel ICH9M/M-E 2 port Serial ATA storage controller. I downloaded the drivers from Lenovo's website, extracted the drivers from the setup form that it came in, and then created a driver package in ConfigMgr that contained only the storage drivers.
You now need to discover the Hardware ID information for your controller. There are two ways I'm aware of to do this.
- The first way is to boot to WinPE with command support enabled and then look in WMI for the information. I do this by mapping a drive in WinPE to a share where I have an application I launch that allows me to browse WMI. Once in WMI you can navigate to Win32_PnPEntity to find the information. You have to dig a bit though with this method.
- The second way is to boot into the OS, then go to Device Manager, expand IDE ATA/ATAPI controllers, find the storage controller, go into it's properties and grab the Device ID that way.
- PCI\VEN_8086&DEV_2929&SUBSYS_20F717AA&REV_03
- PCI\VEN_8086&DEV_2929&SUBSYS_20F717AA
- PCI\VEN_8086&DEV_2929&CC_01018A
- PCI\VEN_8086&DEV_2929&CC_0101
Now that we have both the full name of the controller, the Device ID, and the controller drivers imported into a driver package in ConfigMgr, we can setup our Task Sequence.
In your task sequence you need to add an Apply Driver Package step right after the Auto Apply Drivers step. In my case, I've actually created a sub folder that contains all the storage drivers, that way it's more organized. It's also probably best if you rename the step to whatever the controllers name is.
In the properties of the Apply Driver Package step, you'll have to go through the drop downs until you find the correct driver for your controller. If you pick the wrong one, the XP mini setup will blue screen and fail.
You now need to add a WMI condition to the Driver Package step. In my case, my WMI query is
SELECT * FROM Win32_PnPEntity WHERE DeviceID like 'PCI\\VEN_8086DEV_2929%'
SELECT * FROM Win32_PnPEntity WHERE DeviceID like 'PCI\\VEN_8086DEV_2929%'
This will make it so that ConfigMgr only applies the driver package when the specific controller is present.
Now that you've done all this, you should be able to image your computer without injecting the controller drivers directly into the XP Source files first. In my case, this is going to save me lots of time.

No comments:
Post a Comment