Topic: [HOWTO] Using DriverPacks w/ Sysprep (Updated for BASE 7.04)

UPDATED for DriverPack BASE 7.04 and later.  I'm starting a new thread because the title of the thread it was under was regarding a specific error and a tangent evolved into these instructions.

NOTE: This HOW TO assumes you are proficient with sysprep.  If not, I recommend you read through this first.

1) Download the latest version of DriverPack BASE (7.05.2 at time of writing) and whatever DriverPacks you need.

2) Extract BASE to a folder by running the .exe you downloaded (example: DPs_BASE_7052.exe)

3) In the folder you extracted BASE to, open the 'bin' folder.  Copy DPsFnshr.ini and extract DPsFnshr.7Z to C:\ on the computer you'll be running Sysprep on.

4) Inside of the BASE 'bin' folder, open the 'wnt5_x86-32' folder.  Copy ROE.exe to C:\sysprep, and extract DevPath.exe from M2.7z to C:\ on the computer you'll be running Sysprep on.

5) Extract your DriverPacks with either 7-zip or WinRAR.  If you have WinRAR integrated into your shell you can just control-click the Packs you want to select them, then right-click on one and choose "Extract Here".  Make sure that they are all merged into the same folder structure under the 'D' folder (D\C, D\G, etc).  You should also have a set of files ending with wnt5_x86-32.ini.  These contain the various exceptions that DPsFnshr.exe reads when it runs. 

6) Move extracted DriverPacks ('D' folder) and wnt5_x86-32.ini files to C:\ on the computer you'll be running Sysprep on.
6a) If you are slipstreaming DP_Graphics_A, create a dummy (Notepad) file in C:\.  Name it ATICCC.ins if you want the Catalyst Control Center or ATICCP.ins if you want the Catalyst Control Panel installed when Radeon hardware is detected.  The file can be blank as DPsFnshr.exe just looks for the file name.  DPsFnshr.exe deletes the .ins file when it is finished running.
6b) If you want, you can modify the extracted driver packs to remove hardware you don't need.  If you do, remember to move the modified driver pack to D\3\ (i.e. D\3\C, D\3\CPU, etc).  If you want DPsFnshr.exe to run as intended (do to paths in the wnt5_x86-32.ini files), though, I would leave things like the DriverPack Graphics A unmodified.

7) Open a Command Prompt and run

C:\DevPath.exe C:\D

and then

C:\makePNF.exe C:\D

NOTE: Since you are loading your DevicePath with DevPath.exe, you can leave out the OemPnPDriversPath entry (under the [Unattended] section) in your sysprep.inf file.  OemPnPDriversPath has a 512 characters limit, but DevPath.exe gets around this by writing directly to the registry entry that OemPnPDriversPath gets loaded into by sysprep.

8) Open C:\DPsFnshr.ini in Notepad or Wordpad.  Since we aren't actually running BASE we have to change the configuration for the Finisher manually.  Generally, you will only need to edit the KTD and KTDlocation variables at the very top.  If you do not want KTD enabled set:

KTD = "false"

If you want to KTD, put 'paths:' and then a list of folders in D you want to keep.  Even if you want to keep all the drivers, I would still recommend specifying them individually due to the "double D" and Desktop.ini bugs in Finisher.  For example, in my configuration, I want to keep all of the drivers.  I have a D\3 folder when I've put my 3rd party and modified driver packs, and a D\G folder that contains an unmodified Driver Pack Graphics A.  So my KTD line looks like:

KTD = "paths:D\G;D\3"

KTDlocation tell Finisher where to move the D folder to if you have KTD enabled.  For example, I move my drivers to C:\WINDOWS\Options\Drivers so my KTDlocation line is:

KTDlocation = "%SystemRoot%\Options\Drivers"

9) Edit c:\sysprep\sysprep.inf and add the following lines under the [Unattended] section:

UpdateInstalledDrivers = Yes
DriverSigningPolicy = Ignore

10a) (optional) If you want the Mass Storage drivers that come with XP added to your sysprep.inf then add the line:

[SysprepMassStorage]

to the very end of your sysprep.inf.  Then, run

c:\sysprep\sysprep.exe -bmsd

10b)If you want to include the drivers in DriverPack MassStorage, then you will have to added them to the [SysprepMassStorage] section manually by opening up the various mass storage drivers' inf files and copying the vendor and device codes with a path to the inf file.  There is a script that can automate the process for you here, but it doesn't seem to be perfect yet.
For example, all of the machines I am deploying my image on are based on Intel chipsets (IBM/Lenovos, and HPs).  So, I can get away with only adding the Intel mass storage drivers.  As of DriverPack MassStorage 7.06.2, this is the section I add at the begining of [SysprepMassStorage] after running sysprep -bmsd

PCI\VEN_8086&DEV_2652&CC_0106 = C:\D\M\IN\1\iaahci.inf
PCI\VEN_8086&DEV_2653&CC_0106 = C:\D\M\IN\1\iaahci.inf
PCI\VEN_8086&DEV_27C1&CC_0106 = C:\D\M\IN\1\iaahci.inf
PCI\VEN_8086&DEV_27C5&CC_0106 = C:\D\M\IN\1\iaahci.inf
PCI\VEN_8086&DEV_27C3&CC_0104 = C:\D\M\IN\1\iastor.inf
PCI\VEN_8086&DEV_2652&CC_0104 = C:\D\M\IN\1\iastor.inf
PCI\VEN_8086&DEV_24DF&CC_0104 = C:\D\M\IN\1\iastor.inf
PCI\VEN_8086&DEV_25B0&CC_0104 = C:\D\M\IN\1\iastor.inf
PCI\VEN_8086&DEV_2681&CC_0106 = C:\D\M\IN\2\iaahci.inf
PCI\VEN_8086&DEV_2821&CC_0106 = C:\D\M\IN\2\iaahci.inf
PCI\VEN_8086&DEV_2822&CC_0104 = C:\D\M\IN\2\iastor.inf
PCI\VEN_8086&DEV_27C6&CC_0104 = C:\D\M\IN\2\iastor.inf
PCI\VEN_8086&DEV_2682&CC_0104 = C:\D\M\IN\2\iastor.inf
PCI\VEN_8086&DEV_2829&CC_0106 = C:\D\M\IN\3\iaahci.inf
PCI\VEN_8086&DEV_2922&CC_0106 = C:\D\M\IN\3\iaahci.inf
PCI\VEN_8086&DEV_282A&CC_0104 = C:\D\M\IN\3\iastor.inf
PCI\VEN_8086&DEV_2680 = C:\D\C\I\xp\ESB2ide.inf
PCI\VEN_8086&DEV_269E = C:\D\C\I\xp\ESB2ide.inf
PCI\VEN_8086&DEV_244B = C:\D\C\I\xp\ich2ide.inf
PCI\VEN_8086&DEV_244A = C:\D\C\I\xp\ich2idem.inf
PCI\VEN_8086&DEV_248B = C:\D\C\I\xp\ich3ide.inf
PCI\VEN_8086&DEV_248A = C:\D\C\I\xp\ich3idem.inf
PCI\VEN_8086&DEV_24CB&CC_0101 = C:\D\C\I\xp\ich4ide.inf
PCI\VEN_8086&DEV_24CA&CC_0101 = C:\D\C\I\xp\ich4ide.inf
PCI\VEN_8086&DEV_24C1&CC_0101 = C:\D\C\I\xp\ich4ide.inf
PCI\VEN_8086&DEV_24D1&CC_0101 = C:\D\C\I\xp\ich5ide.inf
PCI\VEN_8086&DEV_24DB&CC_0101 = C:\D\C\I\xp\ich5ide.inf
PCI\VEN_8086&DEV_25A2&CC_0101 = C:\D\C\I\xp\ich5ide.inf
PCI\VEN_8086&DEV_25A3&CC_0101 = C:\D\C\I\xp\ich5ide.inf
PCI\VEN_8086&DEV_2651&CC_0101 = C:\D\C\I\xp\ich6ide.inf
PCI\VEN_8086&DEV_2652&CC_0101 = C:\D\C\I\xp\ich6ide.inf
PCI\VEN_8086&DEV_2653&CC_0101 = C:\D\C\I\xp\ich6ide.inf
PCI\VEN_8086&DEV_266F = C:\D\C\I\xp\ich6ide.inf
PCI\VEN_8086&DEV_27C0 = C:\D\C\I\xp\ich7ide.inf
PCI\VEN_8086&DEV_27C4 = C:\D\C\I\xp\ich7ide.inf
PCI\VEN_8086&DEV_27DF = C:\D\C\I\xp\ich7ide.inf
PCI\VEN_8086&DEV_2820 = C:\D\C\I\xp\ich8ide.inf
PCI\VEN_8086&DEV_2825 = C:\D\C\I\xp\ich8ide.inf
PCI\VEN_8086&DEV_2828 = C:\D\C\I\xp\ich8ide.inf
PCI\VEN_8086&DEV_2850 = C:\D\C\I\xp\ich8ide.inf
PCI\VEN_8086&DEV_2922 = C:\D\C\I\xp\ich9ahci.inf
PCI\VEN_8086&DEV_2923 = C:\D\C\I\xp\ich9ahci.inf
PCI\VEN_8086&DEV_2920 = C:\D\C\I\xp\ich9ide.inf
PCI\VEN_8086&DEV_2921 = C:\D\C\I\xp\ich9ide.inf
PCI\VEN_8086&DEV_2926 = C:\D\C\I\xp\ich9ide.inf
PCI\VEN_8086&DEV_2928 = C:\D\C\I\xp\ich9ide.inf
PCI\VEN_8086&DEV_292D = C:\D\C\I\xp\ich9ide.inf
PCI\VEN_8086&DEV_292E = C:\D\C\I\xp\ich9ide.inf

11) Open a Command Prompt and run

C:\sysprep\ROE.exe 937

This tells Windows to run C:\DPsFnshr.exe on the next reboot.  I found that using [GuiRunOnce] in sysprep.inf to run DPsFnshr.exe resulted in the dreaded desktop.ini bug.  Using ROE.exe to create a RunOnceEx entry for DPsFnshr.exe does not have this issue.  DO NOT REBOOT BEFORE THE NEXT STEP OR DPsFnshr.exe WILL RUN!

12) Run sysprep.exe and reseal

BONUS: If your image is to be deployed on both single and multicore systems, then I'd highly recommend you check out MySysprep.  It can detect a multicore CPU and switch HALs during minisetup.


Note: I was able to eliminate a lot of my sysprep/imaging issues (including minisetup looking for hdaudbus.sys in the wrong place) by NOT using RyanVM's update packs.  In fact, I recommend only using nlite to slipstream SP2 and setup the Unattended section when building a disc.  Since you're creating an image anyways, it doesn't hurt to run Windows update manually, and be 100% sure everything is install 'the Microsoft way'.


skinlayers

Last edited by skinlayers (2007-07-13 06:40:21)

Re: [HOWTO] Using DriverPacks w/ Sysprep (Updated for BASE 7.04)

Stickied!

Excellent HowTo (I hope, haven't tried yet myself wink).

Re: [HOWTO] Using DriverPacks w/ Sysprep (Updated for BASE 7.04)

Thanks for the info skinlayers.
Would it be possible to build this into the DPs_BASE.exe functionality? I imagine many people use the driverpacks for some sort of universal image in this fashion.
As the packs are updated so often this is a great thing to be able to do as a quick and repeatable last step from a clean & updated winXP in VMware.

Re: [HOWTO] Using DriverPacks w/ Sysprep (Updated for BASE 7.04)

Hi skinslayer,
Is there a reason you don't want to run Roe.exe first and then reboot once before sysprepping otherwise deploying the image will always take ages on each machine as it has to fix all the driver signing?

Re: [HOWTO] Using DriverPacks w/ Sysprep (Updated for BASE 7.04)

chud wrote:

Hi skinslayer,
Is there a reason you don't want to run Roe.exe first and then reboot once before sysprepping otherwise deploying the image will always take ages on each machine as it has to fix all the driver signing?

We don't want DPsFnshr.exe to run until after the image is deployed.  For instance, if you built the image on a machine with an nVidia graphics card, ran ROE.exe with a reboot, and then sysprepped it.  Then you image a machine with an ATI GPU, the ATI CCP or CCC wouldn't be installed since the ATI hardware wasn't present when the DPsFnshr.exe ran.  We want DPsFnshr.exe to run after all the hardware is detected by minisetup, which in the case of a sysprepped image, is after you've resealed it with sysprep.exe.

skinlayers

Last edited by skinlayers (2007-06-26 05:01:24)

Re: [HOWTO] Using DriverPacks w/ Sysprep (Updated for BASE 7.04)

Hi Skinlayers,
Think we are trying to achieve two different goals here.

What I usually do is: XP sp2 source > add all the drivers packs with KTD 'All' via DP_base > install in VMware, add office 2003, do all updates > sysprep > image with ghost > deploy (modifying sysprep/HAL after ghost imaged but before reboot).
This works great but to change driverpacks has to rebuilt from scratch that takes hours and hours even though ive automated alot of the build.

What I want to do is now
XP sp2 source > install in VMware, add office 2003, do all updates > add all the drivers packs with KTD 'All' > sysprep > image with ghost > deploy (modifying sysprep/HAL after ghost imaged but before reboot)

I want all the driverpacks added before sysprep starts, not during deployment. I don't quite follow what you just wrote because the point of sysprep negates what hardware it was built on, at least if its on generic hardware such as vmware. Also how is sysprep seeing the massstorage stuff if its not been pre-added to windows when you run sysprep -bdsm?

I am currently doing as you but ending with
editing DPsFnshr.ini with KTD = "paths:D\"
C:\DevPath.exe C:\D
C:\DPsFnshr.exe
c:\makePNF.exe  (for some reason I dont seem to need to have DSPdsblr.exe running?)
sysprep -bdsm
then finally sysprep minisetup reseal

May I ask why you chose to do it your way because as far as I can see it will take ages running through the final driverpack bits on each machine you image?

cheers

Re: [HOWTO] Using DriverPacks w/ Sysprep (Updated for BASE 7.04)

chud wrote:

Hi Skinlayers,
What I want to do is now
XP sp2 source > install in VMware, add office 2003, do all updates > add all the drivers packs with KTD 'All' > sysprep > image with ghost > deploy (modifying sysprep/HAL after ghost imaged but before reboot)

This is exactly what the HOW TO is for.

chud wrote:

I want all the driverpacks added before sysprep starts, not during deployment.

The DriverPacks are added before sysprep.  That's what unrar-ing and running C:\DevPath C:\D accomplishes. 

chud wrote:

I don't quite follow what you just wrote because the point of sysprep negates what hardware it was built on, at least if its on generic hardware such as vmware.

DPsFnshr.exe is for post-hardware detection 'tweaks', and for moving the DriverPacks 'D' folder.  It reads DPsFnshr.ini and the *_wnt5_x86-32.ini in C:\ and compares them to the hardware installed in the Device Manager.  If it finds a match it will run an 'exception' such as launching an installer or editing the registry.  To explain my example above, ATI Radeon hardware requires its driver installation occur in two parts.  First, the actual driver has to be installed (with a reboot), and then a control panel or application to configure the driver (the ATI Catalyst Control Panel or the ATI Catalyst Control Center).  The DevPath command allows minisetup (either during CD install or after sysprepping) to find and use the drivers in the DriverPacks.  Windows always reboots after minisetup.  Then DPsFnshr.exe runs on first login and does finishing work, installing the ATI CCP or CCC.  The rule here is that in order for DPsFnshr.exe to do its job, its MUST run after all the hardware detection is done (on the machine you are deploying it on) via minisetup.

chud wrote:

Also how is sysprep seeing the massstorage stuff if its not been pre-added to windows when you run sysprep -bdsm?

Unfortunately, you have to do it manually.  I forgot to put that in my instructions.  It doesn't matter whether its pre-added or not.  Even with the way you were doing it, if you open up your sysprep.ini, you won't see anything pointing to the DriverPacks.  I'll update my instructions regarding that when I get a chance.

chud wrote:

I am currently doing as you but ending with
editing DPsFnshr.ini with KTD = "paths:D\"

I wouldn't recommend doing it that way even if you are KTD ALL.  There's a bug that will add an extra 'D' to your DriverPacks path when they're moved.  I recommend specifying each folder (see my example in the HOW TO).

chud wrote:

C:\DevPath.exe C:\D
C:\DPsFnshr.exe
c:\makePNF.exe  (for some reason I dont seem to need to have DSPdsblr.exe running?)
sysprep -bdsm
then finally sysprep minisetup reseal

To put it simply, running DPsFnshr.exe under VMWare does nothing.  The hardware that the image is going to be deployed on isn't present, so there is nothing to detect and no (useful) exceptions to run.  All this does it finish the driver installation for the machine its currently on: VMWare.  But your user aren't using VMWare, they're using PCs with variable hardware configs.  Minisetup will detect the the hardware and install drivers from the DriverPacks, but post installation tasks won't occur (like installing ATI CCP or CCC).

chud wrote:

May I ask why you chose to do it your way because as far as I can see it will take ages running through the final driverpack bits on each machine you image?

cheers

I do it this way because it doesn't work correctly otherwise.  It  only takes a couple of minutes on most of my machines for DPsFnshr.exe to run, and most of my machines are 1.8 - 2.4 GHz P4s.  It completely depends on how big your DriverPacks folder is.  I trim off a lot of hardware I don't need.  The part that takes the most time is moving the DriverPacks to the KTDlocation.  Also, I have my sysprep.ini configured to autologin to the Administrator account of first boot.  This triggers the DPsFnshr.exe.   (I think I'll add that to the instructions too).

skinlayers

Re: [HOWTO] Using DriverPacks w/ Sysprep (Updated for BASE 7.04)

HAH, ok I just wrote a post and went to submit it, then it said the server was too busy. Oh well, here goes again...

Would it be possible to skip the manual integration of the mass storage DP w/ sysprep if the mass storage DP was added to your original windows source using the KTD and text mode options? Is there any reason that this would not work?

Thanks

Re: [HOWTO] Using DriverPacks w/ Sysprep (Updated for BASE 7.04)

soo_smitty wrote:

HAH, ok I just wrote a post and went to submit it, then it said the server was too busy. Oh well, here goes again...

Would it be possible to skip the manual integration of the mass storage DP w/ sysprep if the mass storage DP was added to your original windows source using the KTD and text mode options? Is there any reason that this would not work?

Thanks

Unfortunately, I don't think that's going to work.  sysprep -bmsd builds the [SysprepMassStorage] section from Machine.inf, Scsi.inf, Pnpscsi.inf, and Mshdc.inf.  As far as I can tell, none of these files are modified by integrating the text mode MassStorage DP.

skinlayers

Re: [HOWTO] Using DriverPacks w/ Sysprep (Updated for BASE 7.04)

Would it be possible to have the option added to BASE in an upcoming release where it would modify the original mass storage INFs to point to the additional ones? Is this is a feasible feature request? Or would it possibly cause conflicts?

Re: [HOWTO] Using DriverPacks w/ Sysprep (Updated for BASE 7.04)

hi skinlayers,

Thanks for the extra info it makes it alot clearer, hadn't appreciated some fundamentals of the finisher!

I still am mystified to the MassStorage section in sysprep and its value - doing it my original way I had deployed successfully to things with SATA drives etc that windows doesn't support so must have been getting driver from driverpack? Any ideas?

Re: [HOWTO] Using DriverPacks w/ Sysprep (Updated for BASE 7.04)

My finisher script now is this, which automatically populates sysprep.inf with all the Mass storage from driverpacks + windows
- you will need sed.exe from http://unxutils.sourceforge.net/ - pattern matching makes it more reliable than DOS script I saw posted here.

C:\DevPath.exe C:\D

start /wait "RMDC" c:\WindowsXP-KB921401-x86-ENU.exe /q /z /n /o
start /wait "RMDC" c:\WindowsXP-KB888111-x86-ENU.exe /q /z /n /o
del /f /q c:\windowsxp-KB*.exe

c:\sysprep\sysprep.exe -bmsd

FOR /F "delims= 	" %%f in ('dir /b /s c:\D\M\*.inf') DO (
 FOR /F "delims= 	" %%l in ('type "%%f" ^| sed -n "/PCI\\\VEN/p" ^| sed "s/.*\(PCI\\\VEN_[0-9A-Z\&_]*\).*/\1/g"') DO (
  echo %%l=%%f >> tmp
 )
)

sort tmp /o tmp2
type tmp2 | sed "$!N; /^\(.*\)\n\1$/!P; D" >> c:\sysprep\sysprep.inf

c:\makePNF.exe c:\D

C:\ROE.exe 937

c:\sysprep\sysprep.exe -mini -quiet -reseal

Please replace what will come out as lots of space here "delims=     " when you cut and paste it, with a space and a tab in notepad
This is all fine but then you get the unsigned driver thing popping up for everything as it syspreps?

Last edited by chud (2007-07-16 04:55:33)

Re: [HOWTO] Using DriverPacks w/ Sysprep (Updated for BASE 7.04)

chud:
"This is all fine but then you get the unsigned driver thing popping up for everything as it syspreps?"

I found an autoscript for that called continue.exe. I never had the chance to try it do but it was design for that specific issue.

For the .exe: http://www.msfn.org/board/index.php?act … p;id=14089

Autoit Code:

; <AUT2EXE VERSION: 3.1.1.0>

; ----------------------------------------------------------------------------
; <AUT2EXE INCLUDE-START: continue.au3>
; ----------------------------------------------------------------------------

; ----------------------------------------------------------------------------
;
; AutoIt Version: 3.1.0
; Author:         IcemanND
;
; Script Function:
;    Click Continue Anyway for hardware installation during sysprep
;
; ----------------------------------------------------------------------------

; Script Start - Add your code below here

do

while not (winexists ("Hardware Installation") or winexists ("Confirm File Replace") or winexists ("Installation Complete"))
wend

Sleep (100)

if winexists("Hardware Installation") then send("+{TAB}{ENTER}")
if winexists("Confirm File Replace")  then send("{TAB}{ENTER}")
if winexists("Installation Complete") then send("{ENTER}")
until 1=2

; ----------------------------------------------------------------------------
; <AUT2EXE INCLUDE-END: continue.au3>
; ----------------------------------------------------------------------------


Enjoy !

Last edited by JakeLD (2007-07-05 07:16:15)

Re: [HOWTO] Using DriverPacks w/ Sysprep (Updated for BASE 7.04)

I haven't read everything in detail, skinlayers. But this howto looks very nice! Thanks!
A better way to do this is this one though (rough guidelines, no details included):
1) extract the DriverPacks to where you want them to stay (you're doing this already)
2) apply KTD on them (makePNF.exe)
3) run that Sysprep tool thingie that automatically detects all drivers and that will update [SysprepMassStorage] automatically. I don't remember the name
4) make sure that the Finisher is called on the first boot (you're doing this already)


@JakeLD: try DSPdsblr.exe, that one is language-independent smile

Founder of DriverPacks.net — wimleers.com

Re: [HOWTO] Using DriverPacks w/ Sysprep (Updated for BASE 7.04)

DSPdsblr.exe doesn't work with sysprep running and prompting.

That script above does work (I made it into an .exe)

However there is one problem with the MassStorage

get about 20 prompts for a Qlogic software diskette, after a file called qlsdm.dll and its looking here
c:\d\m\q\3\..

Last edited by chud (2007-07-06 07:41:27)

Re: [HOWTO] Using DriverPacks w/ Sysprep (Updated for BASE 7.04)

later on get another error
''elxstor Error''
Fibre Channel Storport Miniport Driver with operating systems other than Windows Server 2003 is not supported

clicking ok and suck about 50 times I got fed up and aborted - has taken about an hour to get this far, think the list will need to be manually chopped

Re: [HOWTO] Using DriverPacks w/ Sysprep (Updated for BASE 7.04)

ok guys I have tried this all and followed your directions to a T... and now all my target pc does is reset.... and ask me if I would like to try a last knowen config.....Grrrrrrrr
Any Idea about how to fix this?

I started my image on a p3 intel chipset with all of the driverpacks added in as told in this how to.
did my image with ghost.
itstalled my image.
Now it just reboots....
The target pc was a p4 Intel chipset but I thought with this kind of image with all the driverpacks installed I would be alright.

Thanks For any help
Ted

Last edited by School007 (2007-07-06 11:11:45)

Re: [HOWTO] Using DriverPacks w/ Sysprep (Updated for BASE 7.04)

Bâshrat the Sneaky wrote:

I haven't read everything in detail, skinlayers. But this howto looks very nice! Thanks!
A better way to do this is this one though (rough guidelines, no details included):
1) extract the DriverPacks to where you want them to stay (you're doing this already)
2) apply KTD on them (makePNF.exe)
3) run that Sysprep tool thingie that automatically detects all drivers and that will update [SysprepMassStorage] automatically. I don't remember the name
4) make sure that the Finisher is called on the first boot (you're doing this already)

What exactly does makePNF.exe do and how does it relate to KTD?  More importantly what syntax should I be using to run it.  One interesting thing is I had to include Intel IDE drivers from Chipset that weren't in MassStorage to make my image run on all of our machines.  The [SysprepMassStorage] population program being worked on by chud and JakeLD would not be able to detect those, I believe.  I'm lucky since I only deal with Intel chipsets and can leave the rest out.

chud: The only reason I can think you wouldn't have had trouble with the way you were doing it is if your SATA controller can mimic being a regular IDE/ATA controller, which I know some of them do.  I would test it by making an image without any driverpacks and seeing if you get a blue screen when restoring to a machine that worked with your drivepacks integrate image.  I personally think that adding everything in to [SysprepMassStorage] is a little over kill since a lot of those drivers are things you'll never restore an XP image to (like HP server equipment).  Most business environments (which is what sysprep was really designed for) contain Intel based computers from OEMs like IBM, HP, Dell, etc.  If I really wanted to make it universal, I would added in the VIA and nVidia chipsets and that would cover just about anything.  Since minisetup has to load every driver specified in [SysprepMassStorage] it saves time to only include what you need.

School007: How experienced are you with sysprep?  Did you read the guide I linked to at the top of the HOW TO?  This not a complete sysprep guide.  Its just instructions for adding driverpacks to a sysprep image.  Did you change the HAL?  If this is an Intel based system then you made need to add Intel IDE drivers from the Chipset DriverPack (look at my [SysprepMassStorage] example in the HOW TO).

skinlayers

Last edited by skinlayers (2007-07-10 04:47:45)

Re: [HOWTO] Using DriverPacks w/ Sysprep (Updated for BASE 7.04)

I got asked this in a PM, so I figured I'd respond here:

hi, i'm using sysprep with masssotrage pack but when i make reseal, the
sysprep don't stop resealing and takes infinity days to stop and shutdown.

do you know what i can do.

thanks

Sysprep does take a long time, 20-30 minutes is not uncommon on my reference machine. The thing is - have you modified the sysprep.inf to use all of the driverpack mass storage drivers? If so, how did you do it?

Re: [HOWTO] Using DriverPacks w/ Sysprep (Updated for BASE 7.04)

School007

ok guys I have tried this all and followed your directions to a T... and now all my target pc does is reset.... and ask me if I would like to try a last knowen config.....Grrrrrrrr
Any Idea about how to fix this?

I wanna make something clear with anyone whos trying to do universal imaging. I've been doing this for 3 years now and it is no easy thing but it's possible. They are 2 main reasons why your syspreped image won't boot in another PC.

1. The BSOD 007B

This one means that the correct mass storage driver (hdd controler driver) was not loaded into the sysprep process.
If you used the sysprep -bmsd switch you will cover any IDE controller. And very important before running sysprep update all your IDE driver to the default xp one, so under IDE ATA/ATAPI controllers in device manager you should see.

Primary IDE Channel
Secondary IDE Channel
Standard Dual Channel PCI IDE Controller

For the SATA and SCSI controllers you need to specify every PNP IDS. Here's what my [SysprepMassStorage] looks like.

[SysprepMassStorage]
	;Suggered by http://www.oneforthelittleguy.com/2006/03/30/how-to-build-a-common-windows-image/
	Primary_IDE_Channel=%WinDir%\inf\mshdc.inf
	Secondary_IDE_Channel=%WinDir%\inf\mshdc.inf
	;nVidia nForce 680i
	PCI\VEN_10DE&DEV_037F&CC_0101=%WinDir%\drv\001_storage\N\590SLI\I\nvata.inf
	PCI\VEN_10DE&DEV_037F&CC_0104=%WinDir%\drv\001_storage\N\590SLI\R\nvraid.inf
	;Intel(R) 82801FR SATA RAID
	PCI\VEN_8086&DEV_2652&CC_0104=%WinDir%\drv\001_storage\IN\1\iastor.inf 
	;Intel(R) 82801ER SATA RAID
  PCI\VEN_8086&DEV_24DF&CC_0104=%WinDir%\drv\001_storage\IN\1\iastor.inf 
  ;Intel(R) 6300ESB SATA RAID
  PCI\VEN_8086&DEV_25B0&CC_0104=%WinDir%\drv\001_storage\IN\1\iastor.inf
  ;Intel(R) 82801GR/GH SATA RAID
  PCI\VEN_8086&DEV_27C3&CC_0104=%WinDir%\drv\001_storage\IN\1\iastor.inf 
  ;Intel(R) 82801FR SATA AHCI
  PCI\VEN_8086&DEV_2652&CC_0106=%WinDir%\drv\001_storage\IN\1\IAAHCI.INF
  ;Intel(R) 82801FBM SATA AHCI
  PCI\VEN_8086&DEV_2653&CC_0106=%WinDir%\drv\001_storage\IN\1\IAAHCI.INF
  ;Intel(R) 82801GR/GH SATA AHCI
  PCI\VEN_8086&DEV_27C1&CC_0106=%WinDir%\drv\001_storage\IN\1\IAAHCI.INF
  ;Intel(R) 82801GBM SATA AHCI
  PCI\VEN_8086&DEV_27C5&CC_0106=%WinDir%\drv\001_storage\IN\1\IAAHCI.INF
  ;Intel(R) 631xESB/632xESB SATA RAID
  PCI\VEN_8086&DEV_2682&CC_0104=%WinDir%\drv\001_storage\IN\2\iastor.inf
  ;Intel(R) 82801GHM SATA RAID
  PCI\VEN_8086&DEV_27C6&CC_0104=%WinDir%\drv\001_storage\IN\2\iastor.inf
  ;Intel(R) 82801HR/HH/HO SATA RAID
  PCI\VEN_8086&DEV_2822&CC_0104=%WinDir%\drv\001_storage\IN\2\iastor.inf
  ;Intel(R) 631xESB/632xESB SATA AHCI
  PCI\VEN_8086&DEV_2681&CC_0106=%WinDir%\drv\001_storage\IN\2\IAAHCI.INF
  ;Intel(R) 82801HR/HH/HO SATA AHCI
  PCI\VEN_8086&DEV_2821&CC_0106=%WinDir%\drv\001_storage\IN\2\IAAHCI.INF
  ;Intel(R) 82801HEM SATA RAID
  PCI\VEN_8086&DEV_282A&CC_0104=%WinDir%\drv\001_storage\IN\3\iastor.inf
  ;Intel(R) 82801HEM/HBM SATA AHCI
  PCI\VEN_8086&DEV_2829&CC_0106=%WinDir%\drv\001_storage\IN\3\IAAHCI.INF
  ;Intel(R) ICH9 SATA AHCI
  PCI\VEN_8086&DEV_2922&CC_0106=%WinDir%\drv\001_storage\IN\3\IAAHCI.INF
	;Silicon Image 3112 (ATI Xpress 200)
  PCI\VEN_1002&DEV_4379=%WinDir%\drv\001_storage\S\5\A\Si3112r.inf
  PCI\VEN_1002&DEV_437A=%WinDir%\drv\001_storage\S\5\A\Si3112r.inf
  ;ATI Xpress 200 (Ultra ATA)
	PCI\VEN_1002&DEV_4376=%WinDir%\drv\001_storage\AT\1\ATIHDC2.INF
	PCI\VEN_1002&DEV_4376=%WinDir%\drv\001_storage\AT\1\ATIHDC2.INF
  ;Silicon Image SiI 3112 SATARaid
  PCI\VEN_1095&DEV_3112=%WinDir%\drv\001_storage\S\5\SI3112R.INF
  ;Silicon Image SiI 3512 SATARaid
  PCI\VEN_1095&DEV_3512=%WinDir%\drv\001_storage\S\5\SI3112R.INF
  ;ATI 436E Serial ATA
  PCI\VEN_1002&DEV_436E=%WinDir%\drv\001_storage\S\5\SI3112R.INF
	;Windows XP default storage drivers
	*pnp0a00=%WinDir%\inf\machine.inf
	*pnp0a01=%WinDir%\inf\machine.inf
	*pnp0a04=%WinDir%\inf\machine.inf
	*pnp0a03=%WinDir%\inf\machine.inf
	pci\cc_0604=%WinDir%\inf\machine.inf
	pci\cc_0601=%WinDir%\inf\machine.inf
	pci\cc_0602=%WinDir%\inf\machine.inf
	pci\cc_0600=%WinDir%\inf\machine.inf
	pci\cc_0500=%WinDir%\inf\machine.inf
	root\ftdisk=%WinDir%\inf\machine.inf
	root\swenum=%WinDir%\inf\machine.inf
	root\update=%WinDir%\inf\machine.inf
	root\mssmbios=%WinDir%\inf\machine.inf
	root\dmio=%WinDir%\inf\machine.inf
	lptenum\microsoftrawport958a=%WinDir%\inf\machine.inf
	root\rdpdr=%WinDir%\inf\machine.inf
	root\rdp_mou=%WinDir%\inf\machine.inf
	root\rdp_kbd=%WinDir%\inf\machine.inf
	*pnp0000=%WinDir%\inf\machine.inf
	*pnp0001=%WinDir%\inf\machine.inf
	*pnp0003=%WinDir%\inf\machine.inf
	*pnp0004=%WinDir%\inf\machine.inf
	*pnp0100=%WinDir%\inf\machine.inf
	*pnp0101=%WinDir%\inf\machine.inf
	*pnp0103=%WinDir%\inf\machine.inf
	*pnp0200=%WinDir%\inf\machine.inf
	*pnp0201=%WinDir%\inf\machine.inf
	*pnp0800=%WinDir%\inf\machine.inf
	*pnp0b00=%WinDir%\inf\machine.inf
	*pnp0a05=%WinDir%\inf\machine.inf
	*pnp0a06=%WinDir%\inf\machine.inf
	*pnp0c00=%WinDir%\inf\machine.inf
	*pnp0c01=%WinDir%\inf\machine.inf
	*pnp0c02=%WinDir%\inf\machine.inf
	*pnp0c04=%WinDir%\inf\machine.inf
	*pnp0c0b=%WinDir%\inf\machine.inf
	*pnp0c0c=%WinDir%\inf\machine.inf
	*pnp0c0d=%WinDir%\inf\machine.inf
	*pnp0c0e=%WinDir%\inf\machine.inf
	*pnp0c15=%WinDir%\inf\machine.inf
	acpi\dockdevice=%WinDir%\inf\machine.inf
	acpi\dockdevice&_sb_.pci_.oak_=%WinDir%\inf\machine.inf
	acpi\dockdevice&_sb_.pci_.isa_.slce=%WinDir%\inf\machine.inf
	acpi\fixedbutton=%WinDir%\inf\machine.inf
	acpi\thermalzone=%WinDir%\inf\machine.inf
	isapnp\readdataport=%WinDir%\inf\machine.inf
	pci\ven_10aa&dev_0000=%WinDir%\inf\machine.inf
	pci\ven_1025&dev_1435=%WinDir%\inf\machine.inf
	pci\ven_10b9&dev_1445=%WinDir%\inf\machine.inf
	pci\ven_10b9&dev_1489=%WinDir%\inf\machine.inf
	pci\ven_10b9&dev_1449=%WinDir%\inf\machine.inf
	pci\ven_10b9&dev_1523=%WinDir%\inf\machine.inf
	pci\ven_10b9&dev_1533=%WinDir%\inf\machine.inf
	pci\ven_10b9&dev_1451=%WinDir%\inf\machine.inf
	pci\ven_10b9&dev_1521=%WinDir%\inf\machine.inf
	pci\ven_10b9&dev_1621=%WinDir%\inf\machine.inf
	pci\ven_10b9&dev_1647=%WinDir%\inf\machine.inf
	pci\ven_10b9&dev_1651=%WinDir%\inf\machine.inf
	pci\ven_10b9&dev_1531=%WinDir%\inf\machine.inf
	pci\ven_10b9&dev_1541=%WinDir%\inf\machine.inf
	pci\ven_10b9&dev_5243=%WinDir%\inf\machine.inf
	pci\ven_10b9&dev_5247=%WinDir%\inf\machine.inf
	pci\ven_10b9&dev_7101=%WinDir%\inf\machine.inf
	pci\ven_1022&dev_7007=%WinDir%\inf\machine.inf
	pci\ven_1022&dev_700d=%WinDir%\inf\machine.inf
	pci\ven_1022&dev_700f=%WinDir%\inf\machine.inf
	pci\ven_1022&dev_740b=%WinDir%\inf\machine.inf
	pci\ven_1022&dev_7413=%WinDir%\inf\machine.inf
	pci\ven_1022&dev_7443=%WinDir%\inf\machine.inf
	pci\ven_1022&dev_7451=%WinDir%\inf\machine.inf
	pci\ven_1022&dev_746a=%WinDir%\inf\machine.inf
	pci\ven_1022&dev_746b=%WinDir%\inf\machine.inf
	pci\ven_0e11&dev_0001=%WinDir%\inf\machine.inf
	pci\ven_0e11&dev_0002=%WinDir%\inf\machine.inf
	pci\ven_0e11&dev_1000=%WinDir%\inf\machine.inf
	pci\ven_0e11&dev_2000=%WinDir%\inf\machine.inf
	pci\ven_0e11&dev_ae29=%WinDir%\inf\machine.inf
	pci\ven_0e11&dev_ae2b=%WinDir%\inf\machine.inf
	pci\ven_0e11&dev_a0f0=%WinDir%\inf\machine.inf
	pci\ven_0e11&dev_a0f3=%WinDir%\inf\machine.inf
	pci\ven_0e11&dev_a0f7=%WinDir%\inf\machine.inf
	pci\ven_0e11&dev_ae2a=%WinDir%\inf\machine.inf
	pci\ven_0e11&dev_ae31=%WinDir%\inf\machine.inf
	pci\ven_0e11&dev_ae69=%WinDir%\inf\machine.inf
	pci\ven_0e11&dev_ae6c&cc_0600=%WinDir%\inf\machine.inf
	pci\ven_0e11&dev_ae6c&cc_0604=%WinDir%\inf\machine.inf
	pci\ven_0e11&dev_ae6d=%WinDir%\inf\machine.inf
	*cpqa0ef=%WinDir%\inf\machine.inf
	*cpqae08=%WinDir%\inf\machine.inf
	*cpqae30=%WinDir%\inf\machine.inf
	*cpqae3b=%WinDir%\inf\machine.inf
	*cpqae3c=%WinDir%\inf\machine.inf
	*cpqae4a=%WinDir%\inf\machine.inf
	*cpqae4b=%WinDir%\inf\machine.inf
	*cpqae4c=%WinDir%\inf\machine.inf
	*cpqae4d=%WinDir%\inf\machine.inf
	*cpqae53=%WinDir%\inf\machine.inf
	*cpqae54=%WinDir%\inf\machine.inf
	*cpqae55=%WinDir%\inf\machine.inf
	*cpqb05f=%WinDir%\inf\machine.inf
	*cpqb118=%WinDir%\inf\machine.inf
	*cpqb119=%WinDir%\inf\machine.inf
	*cpqb11a=%WinDir%\inf\machine.inf
	*cpqfa1b=%WinDir%\inf\machine.inf
	pci\ven_1080&dev_0600=%WinDir%\inf\machine.inf
	pci\ven_1078&dev_0000=%WinDir%\inf\machine.inf
	pci\ven_1078&dev_0002=%WinDir%\inf\machine.inf
	pci\ven_1011&dev_0001=%WinDir%\inf\machine.inf
	pci\ven_1011&dev_0021=%WinDir%\inf\machine.inf
	pci\ven_1011&dev_0022=%WinDir%\inf\machine.inf
	pci\ven_1011&dev_0024=%WinDir%\inf\machine.inf
	pci\ven_1011&dev_0025=%WinDir%\inf\machine.inf
	pci\ven_1011&dev_0026=%WinDir%\inf\machine.inf
	pci\ven_103c&dev_10c1=%WinDir%\inf\machine.inf
	pci\ven_103c&dev_10ed=%WinDir%\inf\machine.inf
	pci\ven_103c&dev_1219=%WinDir%\inf\machine.inf
	pci\ven_103c&dev_121a=%WinDir%\inf\machine.inf
	pci\ven_103c&dev_121b=%WinDir%\inf\machine.inf
	pci\ven_103c&dev_121c=%WinDir%\inf\machine.inf
	*hwpc209=%WinDir%\inf\machine.inf
	pci\ven_1014&dev_000a=%WinDir%\inf\machine.inf
	pci\ven_1014&dev_0017=%WinDir%\inf\machine.inf
	pci\ven_1014&dev_0022&rev_00=%WinDir%\inf\machine.inf
	pci\ven_1014&dev_0022=%WinDir%\inf\machine.inf
	pci\ven_1014&dev_0095=%WinDir%\inf\machine.inf
	*ibm006a=%WinDir%\inf\machine.inf
	*int0800=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_0008=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_0326=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_0327=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_0329=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_032a=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_0482=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_0483=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_0484=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_0486=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_04a3&rev_00=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_04a3&rev_01=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_04a3&rev_02=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_04a3&rev_03=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_04a3=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_1130=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_1131=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_1161=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_1225=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_122d=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_122e=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_1234=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_1235=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_1237=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_123b=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_123c=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_123d=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_123f=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_124b=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_1250=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_1360=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_1361=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_1460=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_1461=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_1462=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_1a21=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_1a23=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_1a24=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_1a30=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_1a31=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_2410=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_2413=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_2418=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_2420=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_2423=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_2428=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_2440=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_2443=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_2448=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_244c=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_244e=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_2480=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_2483=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_248c=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_24c0=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_24c3=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_24cc=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_24d0=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_24d3=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_24dc=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_2500=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_2501=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_250b=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_250f=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_2530=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_2531=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_3575=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_2532=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_2533=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_2534=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_2540=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_2541=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_2543=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_2544=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_2545=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_2546=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_2547=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_2548=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_254c=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_2550=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_2551=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_2552=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_2553=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_2554=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_255d=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_2560=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_2561=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_2570=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_2571=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_2573=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_2576=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_2578=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_2579=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_257b=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_257e=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_2580=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_2581=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_2584=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_2585=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_25a1=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_25a4=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_25ab=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_25ac=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_25ae=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_2640=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_2641=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_2642=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_2660=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_2662=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_2664=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_2666=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_266a=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_3340=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_3341=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_3576=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_3578=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_3580=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_3581=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_3584=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_3585=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_3590=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_3591=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_3592=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_3594=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_3595=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_3596=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_3597=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_3598=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_3599=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_359a=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_359b=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_359e=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_7000=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_7030=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_7100=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_7110&cc_0680=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_7110&cc_0601=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_7110&rev_01&cc_0680=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_7110&rev_01&cc_0601=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_7113&rev_00=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_7113&rev_01=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_7113=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_7120=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_7122=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_7124=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_7180=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_7181=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_7190=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_7192=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_7191=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_7194=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_7198=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_719b=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_71a1=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_7600=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_7603=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_84c4=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_84c5=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_b152=%WinDir%\inf\machine.inf
	pci\ven_8086&dev_b154=%WinDir%\inf\machine.inf
	pci\ven_1042&dev_3000=%WinDir%\inf\machine.inf
	pci\ven_1042&dev_3010=%WinDir%\inf\machine.inf
	pci\ven_1066&dev_0001=%WinDir%\inf\machine.inf
	pci\ven_1066&dev_8002=%WinDir%\inf\machine.inf
	pci\ven_1066&dev_0002=%WinDir%\inf\machine.inf
	pci\ven_100b&dev_0011=%WinDir%\inf\machine.inf
	pci\ven_1033&dev_00a8&cc_0600=%WinDir%\inf\machine.inf
	pci\ven_1033&dev_00a8&cc_0000=%WinDir%\inf\machine.inf
	pci\ven_1033&dev_00a9&cc_0600=%WinDir%\inf\machine.inf
	pci\ven_1033&dev_00aa&cc_0500=%WinDir%\inf\machine.inf
	pci\ven_1033&dev_00ab&subsys_00ab1033=%WinDir%\inf\machine.inf
	pci\ven_1033&dev_00ac&cc_0600=%WinDir%\inf\machine.inf
	pci\ven_1033&dev_00ad&cc_0600=%WinDir%\inf\machine.inf
	pci\ven_1033&dev_00ae&cc_0600=%WinDir%\inf\machine.inf
	pci\ven_1033&dev_00af=%WinDir%\inf\machine.inf
	pci\ven_1033&dev_00b0=%WinDir%\inf\machine.inf
	pci\ven_1033&dev_00b1&cc_0600=%WinDir%\inf\machine.inf
	pci\ven_1045&dev_c822=%WinDir%\inf\machine.inf
	pci\ven_1045&dev_c832=%WinDir%\inf\machine.inf
	pci\ven_1045&dev_c557=%WinDir%\inf\machine.inf
	pci\ven_1045&dev_c558=%WinDir%\inf\machine.inf
	pci\ven_1045&dev_c567=%WinDir%\inf\machine.inf
	pci\ven_1045&dev_c568=%WinDir%\inf\machine.inf
	pci\ven_1045&dev_c700=%WinDir%\inf\machine.inf
	pci\ven_1045&dev_c701=%WinDir%\inf\machine.inf
	pci\ven_1166&dev_0005&cc_0604=%WinDir%\inf\machine.inf
	pci\ven_1166&dev_0005&cc_0600=%WinDir%\inf\machine.inf
	pci\ven_1166&dev_0007=%WinDir%\inf\machine.inf
	pci\ven_1166&dev_0008=%WinDir%\inf\machine.inf
	pci\ven_1166&dev_0013=%WinDir%\inf\machine.inf
	pci\ven_1166&dev_0009&cc_0604=%WinDir%\inf\machine.inf
	pci\ven_1166&dev_0009&cc_0600=%WinDir%\inf\machine.inf
	pci\ven_1166&dev_0011&cc_0600=%WinDir%\inf\machine.inf
	pci\ven_1166&dev_0012&cc_0600=%WinDir%\inf\machine.inf
	pci\ven_1166&dev_0014&cc_0604=%WinDir%\inf\machine.inf
	pci\ven_1166&dev_0014&cc_0600=%WinDir%\inf\machine.inf
	pci\ven_1166&dev_0015=%WinDir%\inf\machine.inf
	pci\ven_1166&dev_0016&cc_0604=%WinDir%\inf\machine.inf
	pci\ven_1166&dev_0016&cc_0600=%WinDir%\inf\machine.inf
	pci\ven_1166&dev_0200=%WinDir%\inf\machine.inf
	pci\ven_110a&dev_001d=%WinDir%\inf\machine.inf
	pci\ven_1039&dev_0001=%WinDir%\inf\machine.inf
	pci\ven_1039&dev_0008=%WinDir%\inf\machine.inf
	pci\ven_1039&dev_0009=%WinDir%\inf\machine.inf
	pci\ven_1039&dev_0406=%WinDir%\inf\machine.inf
	pci\ven_1039&dev_0496=%WinDir%\inf\machine.inf
	pci\ven1039&dev_0540=%WinDir%\inf\machine.inf
	pci\ven_1039&dev_0630=%WinDir%\inf\machine.inf
	pci\ven_1039&dev_0635=%WinDir%\inf\machine.inf
	pci\ven_1039&dev_0730=%WinDir%\inf\machine.inf
	pci\ven_1039&dev_0735=%WinDir%\inf\machine.inf
	pci\ven_1039&dev_6001=%WinDir%\inf\machine.inf
	pci\ven_1055&dev_9460=%WinDir%\inf\machine.inf
	pci\ven_1055&dev_9463=%WinDir%\inf\machine.inf
	pci\ven_104c&dev_ac20=%WinDir%\inf\machine.inf
	pci\ven_1179&dev_0601=%WinDir%\inf\machine.inf
	pci\ven_1179&dev_0618=%WinDir%\inf\machine.inf
	pci\ven_1179&dev_0602=%WinDir%\inf\machine.inf
	pci\ven_1179&dev_0611=%WinDir%\inf\machine.inf
	pci\ven_1179&dev_0603=%WinDir%\inf\machine.inf
	pci\ven_1179&dev_0604=%WinDir%\inf\machine.inf
	pci\ven_1179&dev_0605=%WinDir%\inf\machine.inf
	pci\ven_1179&dev_0609=%WinDir%\inf\machine.inf
	pci\ven_1060&dev_8886=%WinDir%\inf\machine.inf
	pci\ven_1060&dev_886a=%WinDir%\inf\machine.inf
	pci\ven_1060&dev_e886=%WinDir%\inf\machine.inf
	pci\ven_1060&dev_8881=%WinDir%\inf\machine.inf
	pci\ven_1060&dev_0891=%WinDir%\inf\machine.inf
	pci\ven_1060&dev_e881=%WinDir%\inf\machine.inf
	pci\ven_1060&dev_e891=%WinDir%\inf\machine.inf
	pci\ven_1106&dev_0204=%WinDir%\inf\machine.inf
	pci\ven_1106&dev_0258=%WinDir%\inf\machine.inf
	pci\ven_1106&dev_0269=%WinDir%\inf\machine.inf
	pci\ven_1106&dev_1204=%WinDir%\inf\machine.inf
	pci\ven_1106&dev_2204=%WinDir%\inf\machine.inf
	pci\ven_1106&dev_3168=%WinDir%\inf\machine.inf
	pci\ven_1106&dev_3188=%WinDir%\inf\machine.inf
	pci\ven_1106&dev_3189=%WinDir%\inf\machine.inf
	pci\ven_1106&dev_3204=%WinDir%\inf\machine.inf
	pci\ven_1106&dev_3205=%WinDir%\inf\machine.inf
	pci\ven_1106&dev_4204=%WinDir%\inf\machine.inf
	pci\ven_1106&dev_7204=%WinDir%\inf\machine.inf
	pci\ven_1106&dev_0305=%WinDir%\inf\machine.inf
	pci\ven_1106&dev_0391=%WinDir%\inf\machine.inf
	pci\ven_1106&dev_0501=%WinDir%\inf\machine.inf
	pci\ven_1106&dev_0601=%WinDir%\inf\machine.inf
	pci\ven_1106&dev_0605=%WinDir%\inf\machine.inf
	pci\ven_1106&dev_0691=%WinDir%\inf\machine.inf
	pci\ven_1106&dev_3091=%WinDir%\inf\machine.inf
	pci\ven_1106&dev_0505=%WinDir%\inf\machine.inf
	pci\ven_1106&dev_0576=%WinDir%\inf\machine.inf
	pci\ven_1107&dev_0576=%WinDir%\inf\machine.inf
	pci\ven_1106&dev_0586=%WinDir%\inf\machine.inf
	pci\ven_1106&dev_0596=%WinDir%\inf\machine.inf
	pci\ven_1106&dev_0686=%WinDir%\inf\machine.inf
	pci\ven_1106&dev_3074=%WinDir%\inf\machine.inf
	pci\ven_1106&dev_3109=%WinDir%\inf\machine.inf
	pci\ven_1106&dev_8231=%WinDir%\inf\machine.inf
	pci\ven_1106&dev_0597=%WinDir%\inf\machine.inf
	pci\ven_1106&dev_0598=%WinDir%\inf\machine.inf
	pci\ven_1106&dev_3040=%WinDir%\inf\machine.inf
	pci\ven_1106&dev_3050=%WinDir%\inf\machine.inf
	pci\ven_1106&dev_3051=%WinDir%\inf\machine.inf
	pci\ven_1106&dev_3057=%WinDir%\inf\machine.inf
	pci\ven_1106&dev_8235=%WinDir%\inf\machine.inf
	pci\ven_1106&dev_3099=%WinDir%\inf\machine.inf
	pci\ven_1106&dev_3101=%WinDir%\inf\machine.inf
	pci\ven_1106&dev_3112=%WinDir%\inf\machine.inf
	pci\ven_1106&dev_8305=%WinDir%\inf\machine.inf
	pci\ven_1106&dev_8391=%WinDir%\inf\machine.inf
	pci\ven_1106&dev_8598=%WinDir%\inf\machine.inf
	pci\ven_1106&dev_8501=%WinDir%\inf\machine.inf
	pci\ven_1106&dev_8601=%WinDir%\inf\machine.inf
	pci\ven_1106&dev_8605=%WinDir%\inf\machine.inf
	pci\ven_1106&dev_b091=%WinDir%\inf\machine.inf
	pci\ven_1106&dev_b099=%WinDir%\inf\machine.inf
	pci\ven_1106&dev_b112=%WinDir%\inf\machine.inf
	pci\ven_1004&dev_0005=%WinDir%\inf\machine.inf
	pci\ven_1004&dev_0006=%WinDir%\inf\machine.inf
	pci\ven_1004&dev_0101=%WinDir%\inf\machine.inf
	pci\ven_1004&dev_0102=%WinDir%\inf\machine.inf
	pci\ven_1004&dev_0103=%WinDir%\inf\machine.inf
	pci\ven_1004&dev_0104=%WinDir%\inf\machine.inf
	*adp1540=%WinDir%\inf\pnpscsi.inf
	*adp1542=%WinDir%\inf\pnpscsi.inf
	*adp4215=%WinDir%\inf\pnpscsi.inf
	*adp1502=%WinDir%\inf\pnpscsi.inf
	*adp1505=%WinDir%\inf\pnpscsi.inf
	*adp1510=%WinDir%\inf\pnpscsi.inf
	*adp1512=%WinDir%\inf\pnpscsi.inf
	*adp1515=%WinDir%\inf\pnpscsi.inf
	*adp1520=%WinDir%\inf\pnpscsi.inf
	*adp1522=%WinDir%\inf\pnpscsi.inf
	*adp3015=%WinDir%\inf\pnpscsi.inf
	*adp3215=%WinDir%\inf\pnpscsi.inf
	*adp6360=%WinDir%\inf\pnpscsi.inf
	*adp6370=%WinDir%\inf\pnpscsi.inf
	pcmcia\adaptec__inc.-apa-1460_scsi_host_adapter-be89=%WinDir%\inf\pnpscsi.inf
	pcmcia\adaptec__inc.-apa-1460_scsi_host_adapter-b67e=%WinDir%\inf\pnpscsi.inf
	pcmcia\adaptec__inc.-apa-1460_scsi_host_adapter-6f71=%WinDir%\inf\pnpscsi.inf
	pci\ven_9005&dev_00cf=%WinDir%\inf\pnpscsi.inf
	pci\ven_9005&dev_00c0=%WinDir%\inf\pnpscsi.inf
	pci\ven_9005&dev_008f=%WinDir%\inf\pnpscsi.inf
	pci\ven_9005&dev_0080=%WinDir%\inf\pnpscsi.inf
	pci\ven_9005&dev_0081=%WinDir%\inf\pnpscsi.inf
	pci\ven_9005&dev_0050=%WinDir%\inf\pnpscsi.inf
	pci\ven_9005&dev_0051=%WinDir%\inf\pnpscsi.inf
	pci\ven_9005&dev_0010=%WinDir%\inf\pnpscsi.inf
	pci\ven_9004&dev_8178=%WinDir%\inf\pnpscsi.inf
	pci\ven_9004&dev_8478=%WinDir%\inf\pnpscsi.inf
	pci\ven_9004&dev_8578=%WinDir%\inf\pnpscsi.inf
	pci\ven_9005&dev_00c0&subsys_f6209005=%WinDir%\inf\pnpscsi.inf
	pci\ven_9005&dev_00c0&subsys_f6200e11=%WinDir%\inf\pnpscsi.inf
	pci\ven_9005&dev_0080&subsys_e2a09005=%WinDir%\inf\pnpscsi.inf
	pci\ven_9005&dev_0080&subsys_e2a00e11=%WinDir%\inf\pnpscsi.inf
	pci\ven_9005&dev_0080&subsys_62a09005=%WinDir%\inf\pnpscsi.inf
	pci\ven_9005&dev_0080&subsys_e2209005=%WinDir%\inf\pnpscsi.inf
	pci\ven_9005&dev_0081&subsys_62a19005=%WinDir%\inf\pnpscsi.inf
	pci\ven_9005&dev_0082&subsys_02109005=%WinDir%\inf\pnpscsi.inf
	pci\ven_9005&dev_0050&subsys_f5009005=%WinDir%\inf\pnpscsi.inf
	pci\ven_9005&dev_0051&subsys_b5009005=%WinDir%\inf\pnpscsi.inf
	pci\ven_9005&dev_0010&subsys_a1009005=%WinDir%\inf\pnpscsi.inf
	pci\ven_9005&dev_0010&subsys_a1809005=%WinDir%\inf\pnpscsi.inf
	pci\ven_1044&dev_a501&subsys_c0471044=%WinDir%\inf\pnpscsi.inf
	pci\ven_1044&dev_a501&subsys_c03c1044=%WinDir%\inf\pnpscsi.inf
	pci\ven_1044&dev_a501&subsys_c05a1044=%WinDir%\inf\pnpscsi.inf
	pci\ven_9005&dev_005f=%WinDir%\inf\pnpscsi.inf
	pci\ven_9005&dev_001f=%WinDir%\inf\pnpscsi.inf
	pci\ven_9005&dev_0010&subsys_21809005=%WinDir%\inf\pnpscsi.inf
	pci\ven_9005&dev_0010&subsys_e1009005=%WinDir%\inf\pnpscsi.inf
	pci\ven_9005&dev_0011&subsys_01819005=%WinDir%\inf\pnpscsi.inf
	pci\ven_9004&dev_7895&subsys_78959004=%WinDir%\inf\pnpscsi.inf
	pci\ven_9004&dev_7895&subsys_78919004=%WinDir%\inf\pnpscsi.inf
	pci\ven_9004&dev_7895&subsys_78929004=%WinDir%\inf\pnpscsi.inf
	pci\ven_9004&dev_7895&subsys_78949004=%WinDir%\inf\pnpscsi.inf
	pci\ven_9004&dev_8078&subsys_78809004=%WinDir%\inf\pnpscsi.inf
	pci\ven_9004&dev_8078=%WinDir%\inf\pnpscsi.inf
	pci\ven_9004&dev_8178&subsys_78819004=%WinDir%\inf\pnpscsi.inf
	pci\ven_9004&dev_8778&subsys_78879004=%WinDir%\inf\pnpscsi.inf
	pci\ven_9004&dev_3860&subsys_38699004=%WinDir%\inf\pnpscsi.inf
	pci\ven_9004&dev_8278=%WinDir%\inf\pnpscsi.inf
	pci\ven_9004&dev_8678=%WinDir%\inf\pnpscsi.inf
	pci\ven_9004&dev_3b78=%WinDir%\inf\pnpscsi.inf
	pci\ven_9004&dev_ec78=%WinDir%\inf\pnpscsi.inf
	pci\ven_9004&dev_7078=%WinDir%\inf\pnpscsi.inf
	pci\ven_9004&dev_7678=%WinDir%\inf\pnpscsi.inf
	pci\ven_9004&dev_7778=%WinDir%\inf\pnpscsi.inf
	pci\ven_9004&dev_7178=%WinDir%\inf\pnpscsi.inf
	pci\ven_9004&dev_7278=%WinDir%\inf\pnpscsi.inf
	pci\ven_9004&dev_7478=%WinDir%\inf\pnpscsi.inf
	pci\ven_9004&dev_7578=%WinDir%\inf\pnpscsi.inf
	pci\ven_9004&dev_6075=%WinDir%\inf\pnpscsi.inf
	pci\ven_9004&dev_6778=%WinDir%\inf\pnpscsi.inf
	pci\ven_9004&dev_6678=%WinDir%\inf\pnpscsi.inf
	pci\ven_9004&dev_6578=%WinDir%\inf\pnpscsi.inf
	pci\ven_9004&dev_6478=%WinDir%\inf\pnpscsi.inf
	pci\ven_9004&dev_6278=%WinDir%\inf\pnpscsi.inf
	pci\ven_9004&dev_6078=%WinDir%\inf\pnpscsi.inf
	pci\ven_9004&dev_6178=%WinDir%\inf\pnpscsi.inf
	pci\ven_9004&dev_7860=%WinDir%\inf\pnpscsi.inf
	pci\ven_9004&dev_5078=%WinDir%\inf\pnpscsi.inf
	pci\ven_9004&dev_5075=%WinDir%\inf\pnpscsi.inf
	detected\aha154x=%WinDir%\inf\scsi.inf
	detected\sparrow=%WinDir%\inf\scsi.inf
	pci\ven_0e11&dev_ae10=%WinDir%\inf\pnpscsi.inf
	pci\ven_1000&dev_0012&subsys_001b0e11=%WinDir%\inf\pnpscsi.inf
	pci\ven_1000&dev_000b&subsys_60040e11=%WinDir%\inf\pnpscsi.inf
	*cpqfd17=%WinDir%\inf\pnpscsi.inf
	detected\cpqarray=%WinDir%\inf\scsi.inf
	pci\ven_8086&dev_1960&subsys_04711028=%WinDir%\inf\pnpscsi.inf
	pci\ven_101e&dev_1960&subsys_04711028=%WinDir%\inf\pnpscsi.inf
	pci\ven_8086&dev_1960&subsys_04931028=%WinDir%\inf\pnpscsi.inf
	pci\ven_101e&dev_1960&subsys_04931028=%WinDir%\inf\pnpscsi.inf
	pci\ven_8086&dev_1960&subsys_11111028=%WinDir%\inf\pnpscsi.inf
	pci\ven_8086&dev_1960&subsys_11121111=%WinDir%\inf\pnpscsi.inf
	pci\ven_8086&dev_1960&subsys_11111111=%WinDir%\inf\pnpscsi.inf
	pci\ven_8086&dev_1960&subsys_04671028=%WinDir%\inf\pnpscsi.inf
	pci\ven_1011&dev_0046&subsys_13649005=%WinDir%\inf\pnpscsi.inf
	pci\ven_1028&dev_0001&subsys_00011028=%WinDir%\inf\pnpscsi.inf
	pci\ven_1028&dev_0002&subsys_00d11028=%WinDir%\inf\pnpscsi.inf
	pci\ven_1028&dev_0002&subsys_00d91028=%WinDir%\inf\pnpscsi.inf
	pci\ven_1028&dev_0002&subsys_00021028=%WinDir%\inf\pnpscsi.inf
	pci\ven_1028&dev_0003&subsys_00031028=%WinDir%\inf\pnpscsi.inf
	pci\ven_9005&dev_00c5&subsys_00c51028=%WinDir%\inf\pnpscsi.inf
	pci\ven_1011&dev_0046&subsys_10c2103c=%WinDir%\inf\pnpscsi.inf
	pci\ven_8086&dev_1960&subsys_10c6103c=%WinDir%\inf\pnpscsi.inf
	pci\ven_8086&dev_1960&subsys_10c7103c=%WinDir%\inf\pnpscsi.inf
	pci\ven_8086&dev_1960&subsys_10cc103c=%WinDir%\inf\pnpscsi.inf
	pci\ven_8086&dev_1960&subsys_10cd103c=%WinDir%\inf\pnpscsi.inf
	pci\ven_101e&dev_1960&subsys_60e7103c=%WinDir%\inf\pnpscsi.inf
	pci\ven_101e&dev_1960&subsys_60e8103c=%WinDir%\inf\pnpscsi.inf
	pci\ven_1000&dev_000c=%WinDir%\inf\pnpscsi.inf
	pci\ven_1000&dev_000f=%WinDir%\inf\pnpscsi.inf
	pci\ven_1000&dev_000a=%WinDir%\inf\pnpscsi.inf
	pci\ven_1000&dev_000b=%WinDir%\inf\pnpscsi.inf
	pci\ven_1000&dev_0012=%WinDir%\inf\pnpscsi.inf
	pci\ven_1000&dev_0020=%WinDir%\inf\pnpscsi.inf
	pci\ven_1000&dev_0021=%WinDir%\inf\pnpscsi.inf
	pci\ven_1000&dev_0001=%WinDir%\inf\pnpscsi.inf
	pci\ven_1000&dev_0002=%WinDir%\inf\pnpscsi.inf
	pci\ven_1000&dev_0003=%WinDir%\inf\pnpscsi.inf
	pci\ven_1000&dev_0004=%WinDir%\inf\pnpscsi.inf
	pci\ven_1000&dev_0005=%WinDir%\inf\pnpscsi.inf
	pci\ven_1000&dev_0006=%WinDir%\inf\pnpscsi.inf
	pci\ven_1000&dev_000d=%WinDir%\inf\pnpscsi.inf
	pci\ven_1077&dev_1020=%WinDir%\inf\pnpscsi.inf
	pci\ven_1077&dev_1080=%WinDir%\inf\pnpscsi.inf
	pci\ven_1077&dev_1240=%WinDir%\inf\pnpscsi.inf
	pci\ven_1077&dev_1280&subsys_01068086=%WinDir%\inf\pnpscsi.inf
	pci\ven_1077&dev_1280&subsys_00061077=%WinDir%\inf\pnpscsi.inf
	pci\ven_1077&dev_1216&subsys_00071077=%WinDir%\inf\pnpscsi.inf
	pci\ven_1077&dev_1016&subsys_00081077=%WinDir%\inf\pnpscsi.inf
	pci\ven_1077&dev_1216&subsys_01078086=%WinDir%\inf\pnpscsi.inf
	pci\ven_8086&dev_9621&subsys_00018086=%WinDir%\inf\pnpscsi.inf
	pci\ven_8086&dev_9641&subsys_00018086=%WinDir%\inf\pnpscsi.inf
	pci\ven_8086&dev_96a1&subsys_00018086=%WinDir%\inf\pnpscsi.inf
	pci\ven_8086&dev_3092&subsys_00018086=%WinDir%\inf\pnpscsi.inf
	pci\ven_8086&dev_9622&subsys_00018086=%WinDir%\inf\pnpscsi.inf
	pci\ven_1000&dev_0020&subsys_10201de1=%WinDir%\inf\pnpscsi.inf
	pci\ven_1000&dev_0021&subsys_10201de1=%WinDir%\inf\pnpscsi.inf
	pci\ven_1000&dev_0020&subsys_10101de1=%WinDir%\inf\pnpscsi.inf
	pci\ven_1000&dev_0021&subsys_10101de1=%WinDir%\inf\pnpscsi.inf
	pci\ven_8086&dev_1960&subsys_03a2113c=%WinDir%\inf\pnpscsi.inf
	pci\ven_101e&dev_9010=%WinDir%\inf\pnpscsi.inf
	pci\ven_101e&dev_9060=%WinDir%\inf\pnpscsi.inf
	pci\ven_8086&dev_1960&subsys_0438101e=%WinDir%\inf\pnpscsi.inf
	pci\ven_8086&dev_1960&subsys_0466101e=%WinDir%\inf\pnpscsi.inf
	pci\ven_8086&dev_1960&subsys_0467101e=%WinDir%\inf\pnpscsi.inf
	pci\ven_8086&dev_1960&subsys_0490101e=%WinDir%\inf\pnpscsi.inf
	pci\ven_8086&dev_1960&subsys_0471101e=%WinDir%\inf\pnpscsi.inf
	pci\ven_101e&dev_1960&subsys_0471101e=%WinDir%\inf\pnpscsi.inf
	pci\ven_8086&dev_1960&subsys_0493101e=%WinDir%\inf\pnpscsi.inf
	pci\ven_101e&dev_1960&subsys_0493101e=%WinDir%\inf\pnpscsi.inf
	pci\ven_8086&dev_1960&subsys_0475101e=%WinDir%\inf\pnpscsi.inf
	pci\ven_101e&dev_1960&subsys_0475101e=%WinDir%\inf\pnpscsi.inf
	pcmcia\ibm-pcmcia_portable_cd-rom_drive-84e3=%WinDir%\inf\pnpscsi.inf
	pcmcia\ibm-pcmcia_cd-rom_drive_cd-400-5afa=%WinDir%\inf\pnpscsi.inf
	pcmcia\ibm-pcmcia_portable_cd-rom_drive-84e2=%WinDir%\inf\pnpscsi.inf
	pcmcia\pcmcia-ide_card-3220=%WinDir%\inf\pnpscsi.inf
	pci\ven_13e6&dev_3603&subsys_00461014=%WinDir%\inf\pnpscsi.inf
	pcmcia\pcmcia-pnpide-4522=%WinDir%\inf\pnpscsi.inf
	pcmcia\pcmcia-pnpide-7b72=%WinDir%\inf\pnpscsi.inf
	pcmcia\pcmcia-pnpide-7762=%WinDir%\inf\pnpscsi.inf
	pcmcia\pcmcia-ide_dock-eeea=%WinDir%\inf\pnpscsi.inf
	pci\ven_13e6&dev_3603&subsys_004613e6=%WinDir%\inf\pnpscsi.inf
	pci\ven_13e6&dev_3603&subsys_004913e6=%WinDir%\inf\pnpscsi.inf
	pci\ven_13e6&dev_3603&subsys_00460900=%WinDir%\inf\pnpscsi.inf
	pci\ven_13e6&dev_3603=%WinDir%\inf\pnpscsi.inf
	pci\ven_1069&dev_0050&subsys_00541069=%WinDir%\inf\pnpscsi.inf
	pci\ven_1069&dev_0050&subsys_00521069=%WinDir%\inf\pnpscsi.inf
	pci\ven_1069&dev_0050&subsys_00501069=%WinDir%\inf\pnpscsi.inf
	pci\ven_1069&dev_ba56&subsys_00401069=%WinDir%\inf\pnpscsi.inf
	pci\ven_1069&dev_ba56&subsys_00301069=%WinDir%\inf\pnpscsi.inf
	pci\ven_1069&dev_0001=%WinDir%\inf\pnpscsi.inf
	pci\ven_1069&dev_0002=%WinDir%\inf\pnpscsi.inf
	pci\ven_1069&dev_0010=%WinDir%\inf\pnpscsi.inf
	pci\ven_1011&dev_1065&subsys_00201069=%WinDir%\inf\pnpscsi.inf
	pci\ven_1069&dev_ba55=%WinDir%\inf\pnpscsi.inf
	detected\dac960nt=%WinDir%\inf\scsi.inf
	pci\ven_10cd&dev_2300=%WinDir%\inf\pnpscsi.inf
	pci\ven_10cd&dev_1100=%WinDir%\inf\pnpscsi.inf
	pci\ven_10cd&dev_1200=%WinDir%\inf\pnpscsi.inf
	pci\ven_10cd&dev_1300=%WinDir%\inf\pnpscsi.inf
	pcmcia\advansys_-pcmcia_ultra_scsi_abp460-25c7=%WinDir%\inf\pnpscsi.inf
	pci\ven_10cd&dev_1300&subsys_133010cd=%WinDir%\inf\pnpscsi.inf
	pci\ven_1022&dev_2020=%WinDir%\inf\pnpscsi.inf
	gen_scsiadapter=%WinDir%\inf\pnpscsi.inf
	pci\ven_1101&dev_9500=%WinDir%\inf\pnpscsi.inf
	pci\ven_1101&dev_9400=%WinDir%\inf\pnpscsi.inf
	pci\ven_1101&dev_9401=%WinDir%\inf\pnpscsi.inf
	pci\ven_1101&dev_134a=%WinDir%\inf\pnpscsi.inf
	pci\ven_1101&dev_0002=%WinDir%\inf\pnpscsi.inf
	pci\ven_105a&dev_4d68&cc_0180=%WinDir%\inf\pnpscsi.inf
	pci\ven_105a&dev_4d30&cc_0180=%WinDir%\inf\pnpscsi.inf
	pci\ven_105a&dev_0d30&cc_0180=%WinDir%\inf\pnpscsi.inf
	pci\ven_105a&dev_4d38&cc_0180=%WinDir%\inf\pnpscsi.inf
	pci\ven_105a&dev_4d33=%WinDir%\inf\mshdc.inf
	pci\ven_1000&dev_008f=%WinDir%\inf\scsi.inf
	buslogic_scsi=%WinDir%\inf\scsi.inf
	detected\buslogic=%WinDir%\inf\scsi.inf
	*bus0042=%WinDir%\inf\scsi.inf
	pci\ven_104b&dev_1040=%WinDir%\inf\scsi.inf
	flashpnt_scsi=%WinDir%\inf\scsi.inf
	pci\ven_104b&dev_8130=%WinDir%\inf\scsi.inf
	cpqfws2e_scsi=%WinDir%\inf\scsi.inf
	detected\cpqfws2e=%WinDir%\inf\scsi.inf
	*fdc0000=%WinDir%\inf\scsi.inf
	detectedpci\fd16_700=%WinDir%\inf\scsi.inf
	fd16_700_scsi=%WinDir%\inf\scsi.inf
	detected\fd16_700=%WinDir%\inf\scsi.inf
	pcmcia\future_domain_corporation-scsi_pcmcia_credit_card_controller-1bf8=%WinDir%\inf\scsi.inf
	pci\ven_1036&dev_0000=%WinDir%\inf\scsi.inf
	*cpq4410=%WinDir%\inf\scsi.inf
	*cpq4411=%WinDir%\inf\scsi.inf
	ncrc710_scsi=%WinDir%\inf\scsi.inf
	detected\ncrc710=%WinDir%\inf\scsi.inf
	pci\ven_1103&dev_0004&subsys_00051103&rev_03=%WinDir%\inf\scsi.inf
	pci\ven_1103&dev_0004&subsys_00011103&rev_03=%WinDir%\inf\scsi.inf
	pci\ven_1103&dev_0004&subsys_00011103&rev_04=%WinDir%\inf\scsi.inf
	pci\ven_8086&dev_1222=%WinDir%\inf\mshdc.inf
	pci\ven_8086&dev_1230=%WinDir%\inf\mshdc.inf
	pci\ven_8086&dev_7010=%WinDir%\inf\mshdc.inf
	pci\ven_8086&dev_7111=%WinDir%\inf\mshdc.inf
	pci\ven_8086&dev_2411=%WinDir%\inf\mshdc.inf
	pci\ven_8086&dev_2421=%WinDir%\inf\mshdc.inf
	pci\ven_8086&dev_244a=%WinDir%\inf\mshdc.inf
	pci\ven_8086&dev_244b=%WinDir%\inf\mshdc.inf
	pci\ven_8086&dev_248a=%WinDir%\inf\mshdc.inf
	pci\ven_8086&dev_248b=%WinDir%\inf\mshdc.inf
	pci\ven_8086&dev_24c1=%WinDir%\inf\mshdc.inf
	pci\ven_8086&dev_24ca=%WinDir%\inf\mshdc.inf
	pci\ven_8086&dev_24cb=%WinDir%\inf\mshdc.inf
	pci\ven_8086&dev_24d1=%WinDir%\inf\mshdc.inf
	pci\ven_8086&dev_24db=%WinDir%\inf\mshdc.inf
	pci\ven_8086&dev_25a2=%WinDir%\inf\mshdc.inf
	pci\ven_8086&dev_25a3=%WinDir%\inf\mshdc.inf
	pci\ven_8086&dev_2651&cc_0101=%WinDir%\inf\mshdc.inf
	pci\ven_8086&dev_2652&cc_0101=%WinDir%\inf\mshdc.inf
	pci\ven_8086&dev_2653&cc_0101=%WinDir%\inf\mshdc.inf
	pci\ven_8086&dev_266f=%WinDir%\inf\mshdc.inf
	pci\ven_8086&dev_7199=%WinDir%\inf\mshdc.inf
	pci\ven_8086&dev_7601=%WinDir%\inf\mshdc.inf
	pcmcia\*pnp0600=%WinDir%\inf\mshdc.inf
	pcmcia\exp___-pnpide-b0b3=%WinDir%\inf\mshdc.inf
	pcmcia\kme-kxlc005-a99e=%WinDir%\inf\mshdc.inf
	pcmcia\_-ninjaata--3768=%WinDir%\inf\mshdc.inf
	pcmcia\fujitsu-ide-pc_card-ddf2=%WinDir%\inf\mshdc.inf
	primary_ide_channel=%WinDir%\inf\mshdc.inf
	secondary_ide_channel=%WinDir%\inf\mshdc.inf
	*pnp0600=%WinDir%\inf\mshdc.inf
	*azt0502=%WinDir%\inf\mshdc.inf
	pci\cc_0101=%WinDir%\inf\mshdc.inf
	pcmcia\lookmeet-cbide2______-6c0a=%WinDir%\inf\mshdc.inf
	pci\ven_10b9&dev_5215=%WinDir%\inf\mshdc.inf
	pci\ven_10b9&dev_5219=%WinDir%\inf\mshdc.inf
	pci\ven_10b9&dev_5229=%WinDir%\inf\mshdc.inf
	pci\ven_1097&dev_0038=%WinDir%\inf\mshdc.inf
	pci\ven_1095&dev_0640=%WinDir%\inf\mshdc.inf
	pci\ven_1095&dev_0646=%WinDir%\inf\mshdc.inf
	pci\ven_1095&dev_0646&rev_05=%WinDir%\inf\mshdc.inf
	pci\ven_1095&dev_0646&rev_07=%WinDir%\inf\mshdc.inf
	pci\ven_1095&dev_0648=%WinDir%\inf\mshdc.inf
	pci\ven_1095&dev_0649=%WinDir%\inf\mshdc.inf
	pci\ven_0e11&dev_ae33=%WinDir%\inf\mshdc.inf
	pci\ven_1042&dev_1000=%WinDir%\inf\mshdc.inf
	pci\ven_1039&dev_0601=%WinDir%\inf\mshdc.inf
	pci\ven_1039&dev_5513=%WinDir%\inf\mshdc.inf
	pci\ven_10ad&dev_0001=%WinDir%\inf\mshdc.inf
	pci\ven_10ad&dev_0150=%WinDir%\inf\mshdc.inf
	pci\ven_1106&dev_0571=%WinDir%\inf\mshdc.inf
	pcmcia\ibm-microdrive-7f50=%WinDir%\inf\mshdc.inf
	pcmcia\ibm-microdrive-aa55=%WinDir%\inf\mshdc.inf
	pcmcia\cl_ata_flash_card_lexar__-hurric_-172f=%WinDir%\inf\mshdc.inf
	pcmcia\cl_ata_flash_card_lexar__-tidalwv-0e97=%WinDir%\inf\mshdc.inf
	pcmcia\____cl_ata_flash_card_lexar__-hurric_-dc37=%WinDir%\inf\mshdc.inf
	pcmcia\cl_ata_flash_card_lexar__-tornado-29ec=%WinDir%\inf\mshdc.inf
	pcmcia\cl_ata_flash_card_lexar__-tidalwv-fd21=%WinDir%\inf\mshdc.inf
	pcmcia\lexarmedia_ata_flash_card-hur_hp_-0623=%WinDir%\inf\mshdc.inf
	pcmcia\sony-memorystick(__4m)-e637=%WinDir%\inf\mshdc.inf
	pcmcia\sony-memorystick(__8m)-9eb3=%WinDir%\inf\mshdc.inf
	pcmcia\sony-memorystick(_16m)-d04d=%WinDir%\inf\mshdc.inf
	pcmcia\sony-memorystick(_32m)-1766=%WinDir%\inf\mshdc.inf
	pcmcia\sony-memorystick(_64m)-8c2c=%WinDir%\inf\mshdc.inf
	pci\ven_1055&dev_9130=%WinDir%\inf\mshdc.inf
	pcmcia\micron-mtcf____-392d=%WinDir%\inf\mshdc.inf
	pci\ven_1179&dev_0105=%WinDir%\inf\mshdc.inf

2. Black Screen Reset with boot.ini options

This one means that the HAL used in the universal image is not compatible with the target PC.
You can find a PC HAL under Computer in Device Manager. Make sure you change the HAL in your source image before running sysprep. Update to the "Advanced Configuration and Power Interface (ACPI) PC" HAL. Do not use the ACPI HAL, the one i just mentionned is compatible on 95% of the PCs. The 5% left are Pentium 4 HT, AMD Althlon 64 X2, Core2Duo and Bi-Processors PC. In those situations, the target PC will boot just fine but windows will only use one of the processor. In task manager, performance tab you should see two cpus but with this HAL you will see just one. To fix this you can run a script in BartPE \ Windows PE after restoring your image but before rebooting the PC. The script will detect the HAL and update it via sysprep.ini. Your PE CD must contains the correct Mass storage driver to access the sysprep.ini located in C:\sysprep.

Here's the VBS script that will detect and update the HAL.

'On Error Resume Next

Dim WSHShell
Dim objwshShell
Dim objFSO
Dim HALType

Set WSHShell = WScript.CreateObject("WScript.Shell")
Set objWshShell = CreateObject("WScript.Shell")
Set objFSO = CreateObject("Scripting.FileSystemObject")


' Activate the partition

Call ActivateDisk()

' Customize the local sysprep.inf file based on the HAL type

Call UpdateSysprepinf ()

' Done, quit.

WScript.Quit


Sub ActivateDisk()

  ' Wait a few seconds, assign drive letter and activate

  wscript.sleep 5000

  cmd = "cmd /c diskpart.exe /s activatedisk.txt"
	rc = objWshShell.run(cmd, 6, 1)

End Sub


Sub UpdateSysprepinf ()

   ' Find out the HAL type then write HAL type to sysprep.inf
    sHalType = objWshShell.RegRead("HKLM\SYSTEM\CurrentControlSet\Enum\Root\ACPI_HAL\0000\HardwareID")

	If sHalType(0) = "acpiapic" Then
   
		If WSHShell.Environment.item("NUMBER_OF_PROCESSORS") = 1 then
			WriteIni "c:\sysprep\sysprep.inf", "Unattended", "	UpdateUPHAL", "ACPIAPIC_UP,%WINDIR%\Inf\Hal.inf"
			HALType = "HAL Uniprocessor Detected"
		Else
			Writeini "c:\sysprep\sysprep.inf", "Unattended", "	UpdateHAL", "ACPIAPIC_MP,%WINDIR%\Inf\Hal.inf"
			HALType = "HAL Multiprocessor Detected"
		End if

  ElseIf sHalType(0) = "acpiapic_up" Then
		WriteIni "c:\sysprep\sysprep.inf", "Unattended", "	UpdateUPHAL", "ACPIAPIC_UP,%WINDIR%\Inf\Hal.inf"
		HALType = "HAL Uniprocessor Detected"
  ElseIf sHalType(0) = "acpiapic_mp" Then
		Writeini "c:\sysprep\sysprep.inf", "Unattended", "	UpdateHAL", "ACPIAPIC_MP,%WINDIR%\Inf\Hal.inf"
		HALType = "HAL Multiprocessor Detected"
  End if
   
	Wscript.Echo HALType
  
End Sub

Function ReadIni(file, section, item)

    ReadIni = ""
    file = Trim(file)
    item = Trim(item)
    Set ini = objFSO.OpenTextFile( file, 1, True)

    Do While ini.AtEndOfStream = False
		line = ini.ReadLine
		line = Trim(line)
		If LCase(line) = "[" & LCase(section) & "]" Then
			line = ini.ReadLine
			line = Trim(line)
			Do While Left( line, 1) <> "["
				'If InStr( 1, line, item & "=", 1) = 1 Then
				equalpos = InStr(1, line, "=", 1 )
				If equalpos > 0 Then
					leftstring = Left(line, equalpos - 1 )
					leftstring = Trim(leftstring)
					If LCase(leftstring) = LCase(item) Then
						ReadIni = Mid( line, equalpos + 1 )
						ReadIni = Trim(ReadIni)
						Exit Do
					End If
				End If

				If ini.AtEndOfStream Then Exit Do
				line = ini.ReadLine
				line = Trim(line)
			Loop
			Exit Do
		End If
	Loop
	ini.Close

End Function

Sub WriteIni( file, section, item, myvalue )

	in_section = False
	section_exists = False
	item_exists = ( ReadIni( file, section, item ) <> "" )
	wrote = False
	file = Trim(file)
	itemtrimmed = Trim(item)
	myvalue = Trim(myvalue)

	temp_ini = objFSO.GetParentFolderName(file) & "\" & objFSO.GetTempName

	Set read_ini = objFSO.OpenTextFile( file, 1, True, TristateFalse )
	Set write_ini = objFSO.CreateTextFile( temp_ini, False)

	While read_ini.AtEndOfStream = False
		line = read_ini.ReadLine
		linetrimmed = Trim(line)
		If wrote = False Then
			If LCase(line) = "[" & LCase(section) & "]" Then
				section_exists = True
				in_section = True
			ElseIf InStr( line, "[" ) = 1 Then
				in_section = False
			End If
		End If

		If in_section Then
			If item_exists = False Then
				write_ini.WriteLine line
				write_ini.WriteLine item & "=" & myvalue
				wrote = True
				in_section = False
			Else
				equalpos = InStr(1, line, "=", 1 )
				If equalpos > 0 Then
					leftstring = Left(line, equalpos - 1 )
					leftstring = Trim(leftstring)
					If LCase(leftstring) = LCase(item) Then
						write_ini.WriteLine itemtrimmed & "=" & myvalue
						wrote = True
						in_section = False
					End If
				End If
				If Not wrote Then
					write_ini.WriteLine line
				End If
			End If
		Else
			write_ini.WriteLine line
		End If
	Wend

	If section_exists = False Then ' section doesn't exist
		write_ini.WriteLine
		write_ini.WriteLine "[" & section & "]"
		write_ini.WriteLine itemtrimmed & "=" & myvalue
	End If

	read_ini.Close
	write_ini.Close
        If objFSO.FileExists(file) then
            objFSO.DeleteFile file, True
        End if
        objFSO.CopyFile temp_ini, file, true
	objFSO.DeleteFile temp_ini, True
	
End Sub

I hope this information helped, i know its complicated but if someone has a better solution, i'll be glad to hear it.

Is there any way to update the HAL after running sysprep ???

I tried with the boot.ini options and it didnt work at all.

Last edited by JakeLD (2007-07-09 16:04:49)

Re: [HOWTO] Using DriverPacks w/ Sysprep (Updated for BASE 7.04)

I've been researching this for quite awhile... The neverending "Sysprep is working" is caused by Via Mass storage drivers (at least in my system, i've waited for 96 hours). Without it sysprep goes on for 20-60 minutes IF I'm not including drivers from these folders: (c:\d\m\)

AR
IN
S
VM

(Folder V causes infinite sysprep)


My problem is  - I can't make intel mass storage drivers work! If I put single line in [SysprepMassStorage] from intel sata drivers, for example,

PCI\VEN_8086&DEV_24DF&CC_0104=c:\D\M\IN\1\IASTOR.INF,

Sysprep fails, with error "Cannot update registry"!

I understand it's very likely not driverpack problem but if anyone had similiar problems please let me know

Thanks!

Ps. Sorry for my English - it's not my native language smile

Last edited by HueponiK (2007-07-09 22:17:52)

Re: [HOWTO] Using DriverPacks w/ Sysprep (Updated for BASE 7.04)

Hi, first of all- great site, great project and exceptional work on these driver packs, respect smile

I was looking for ages for a script or a way to automate sysprep mass storage section, using MS DP, even started doing it by hand, a post in 911cd.net showed me this thread, great job smile

JakeLD wrote:

...Is there any way to update the HAL after running sysprep ???

I tried with the boot.ini options and it didnt work at all.

Hi, what options did you use in boot.ini?
I have successfully switched between all possible HALs (incl. standard), on the vary same installation, transferred on 5 different type machines, including old P233 board, using the boot.ini options as described here:
http://www.microsoft.com/technet/sysint … otini.mspx

BOOT.INI

[boot loader]
timeout=10
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /fastdetect
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Standard PC" /fastdetect /KERNEL=Ntoskrnl.exe /hal=Halstd.dll
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Compaq SystemPro" /fastdetect /KERNEL=Ntoskrnl.exe /hal=Halsp.dll
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Advanced Configuration and Power Interface (ACPI) PC" /fastdetect /KERNEL=Ntoskrnl.exe /hal=Halacpi.dll
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="ACPI Uniprocessor PC" /fastdetect /KERNEL=Ntoskrnl.exe /hal=Halaacpi.dll
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="ACPI Multiprocessor PC" /fastdetect /KERNEL=Ntkrnlmp.exe /hal=Halmacpi.dll

Get the needed files from SP2.CAB, rename hal.dll to halstd.dll and put them in SYSTEM32 folder. When switching HALs first run must be in SAFE MODE, or it hangs.

About the sysprep masstorage pack- I have also encountered the same infinite loop, haven't had time recently to dig deeper what was happening.

AFAIK what sysprep does with the mass storage section is to add the HID in HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\CriticalDeviceDatabase  with the relevant service, copy the files needed and install the service itself. My point is that once this is achieved, these entries can be exported and imported in a generic installation with the needed files copied, thus next sysprep could be without the mass storage section. I know it may take long to collect all bits and pieces, but once this is done, the settings will be somehow "universal", and could be used pretty easy to prepare a generic installation to become "universal", even without using sysprep.

Regards,
ilko

Re: [HOWTO] Using DriverPacks w/ Sysprep (Updated for BASE 7.04)

damn I was not trying in safe mode...I'll give another try thanks for your post.

So to swicth HAL we have 3 options.

1. VBS script in PE
2. MySysprep
3. Boot.ini

Sounds good.

Re: [HOWTO] Using DriverPacks w/ Sysprep (Updated for BASE 7.04)

HueponiK

Sysprep fails, with error "Cannot update registry"!

I had this one a couple of times. Very important: NEVER RUN SYSPREP MORE THAN ONCE ON A PC. So make sure you have an image Pre-Sysprep and one after running it called Post-Sysprep.

Another thing, if one of the PNP IP dosen't point to a valid inf file your sysprep will be infinite and the PC will never shutdown.

Here's an example:

PCI\VEN_8086&DEV_24DF&CC_0104=c:\drivers\ISTOR.INF

In reality, the correct INF file name is IASTOR.INF so just because of that little mystake sysprep will be infinite, verify also that your PNP ID is valid.

If your planning to make a windows 2000 universal image, and you copied the PNP ID from an XP machine well C:\Windows dos not exist in Windows 2000 so make sure you use %WinDir% instead. There's no -bmsd for sysprep 1.1 (Windows 2000) but you can use the PNP list from XP, they are the same. Just make sure you use %WinDir%.

JakeLD

Last edited by JakeLD (2007-07-10 03:39:09)

Re: [HOWTO] Using DriverPacks w/ Sysprep (Updated for BASE 7.04)

When switching HALs first run must be in SAFE MODE, or it hangs.

You were right it works like a charm!!! Thanks a lot, it will save me so much time.