|
Here's what I've come to find in my couple years of manually building HII's: (after my 3rd preview prior to posting I found I use a lot of parentheses, you have been warned! )
· As you've already found the [SysprepMassStorage] is only referenced when the sysprep utility -reseal command is run on the original host/build/gold computer.
· Include at least one iaAHCI.inf reference in your SyprepMassStorage section (depending on your desktop environment if you use any of the RAID "Intel RAID Controller" options include a second driver Mass storage entry for one of the iaSTOR.inf entries also, we however do not use any desktop raid). See attached for example of my SysprepMassStorage section
If you need to update your image to support new MassStorage drivers: I've only used this in testing to prove that it worked reliably and would never roll this out without very extensive testing!
After you reseal your image and take an image of it, extract the system registry hive (c:\WINDOWS\system32\config\system), mount it in a WinXP or higher PC. Browse to the ControlSet001\control\criticaldevicedatabase\
Look for the PNP ID that matches the one that you used in your original [SysprepMassStorage] section. Export it, and replace the PNP ID's with only your specific PNP ID, or mass produce a list of keys using all known Storage Matrix PNPID's referencing your iaahci.inf, re-use the value names & value data for ClassGUID & Service. (Note if you used both iaachi.inf and iastor.inf mass storage entries, the iastor.inf uses a different ClassGUID)
Import your updated CriticalDeviceDatabase keys. (make sure this is going to your loaded system hive, not your live HKLM\system\current....) See attached for my semi-bulk added examples.
Unload the loaded system hive, add the modified system hive back into your image.
Check the version of your iastor.sys and if it's newer than the one used in your image then update the image (c:\windows\system32\drivers\iastor.sys) with the newer version.
Further experimenting: I've been able to use the dos based ghregedt utility that comes with the ghost package in 6.9.1 to add reg entries prior to first boot, but the length of the syntax to write to the criticaldevicedatabase keys appears to be too long. Here's how it should look:
ghregedt addvalue 1.1:\windows HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Cr iticalDeviceDatabase\pci#ven_8086&dev_9999&cc_9999 "ClassGUID" REG_SZ "{4D36E96A-E325-11CE-BFC1-08002BE10318}"
but it appears to truncates at the point:
ghregedt addvalue 1.1:\windows HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Cr iticalDeviceDatabase\pci#ven_8086&dev_9999&cc_99
|