Topic: Sysprep mass storage section with DriverPacks Mass Storage

When making a generic Windows image, it is easiest to use the -bmsd switch in order to make Sysprep automatically populate the sysprepmassstorage section of the sysprep.inf in order for Windows to boot the first time after the drive being imaged on a computer that uses a mass storage controller different than the on used by the computer used to create the reference image. The purpose of this section is to force sysprep to install all of the available mass storage controller drivers. My problem is that this section is exectly the same when run from a Windows installation done with or without DriverPacks, and therefore, Windows reboots during the initial boot after the drive (or array) has been imaged unless the controller was already included with Windows. One way around this, if the computer has another controller that is supported (like the IDE controller on a computer that has a separate RAID controller), is to image a drive attached to the IDE controller, allow it to go through the mini-setup and detect all of the drivers, then clone that drive to a drive or array on the other controller. This is just an annoyance when it can be done, but isn't always an option. Another, and probably separate issue is AHCI support. When an image is used that was created with a computer without AHCI support (IDE, for example) on a computer that has a SATA contoller with AHCI support, a blue screen 7E error is displayed on the initial boot.

Here is a snip from the Sysprep mass storage section:
[sysprepmassstorage]
*pnp0a00=c:\windows\inf\machine.inf
*pnp0a01=c:\windows\inf\machine.inf
*pnp0a04=c:\windows\inf\machine.inf
*pnp0a03=c:\windows\inf\machine.inf
pci\cc_0604=c:\windows\inf\machine.inf
pci\cc_0601=c:\windows\inf\machine.inf
pci\cc_0602=c:\windows\inf\machine.inf
pci\cc_0600=c:\windows\inf\machine.inf
pci\cc_0500=c:\windows\inf\machine.inf
root\ftdisk=c:\windows\inf\machine.inf
root\swenum=c:\windows\inf\machine.inf
root\update=c:\windows\inf\machine.inf
root\mssmbios=c:\windows\inf\machine.inf
root\dmio=c:\windows\inf\machine.inf
lptenum\microsoftrawport958a=c:\windows\inf\machine.inf
root\rdpdr=c:\windows\inf\machine.inf
root\rdp_mou=c:\windows\inf\machine.inf
root\rdp_kbd=c:\windows\inf\machine.inf
*pnp0000=c:\windows\inf\machine.inf
*pnp0001=c:\windows\inf\machine.inf
*pnp0003=c:\windows\inf\machine.inf
*pnp0004=c:\windows\inf\machine.inf
*pnp0100=c:\windows\inf\machine.inf
*pnp0101=c:\windows\inf\machine.inf
*pnp0103=c:\windows\inf\machine.inf
*pnp0200=c:\windows\inf\machine.inf
*pnp0201=c:\windows\inf\machine.inf
*pnp0800=c:\windows\inf\machine.inf
*pnp0b00=c:\windows\inf\machine.inf
*pnp0a05=c:\windows\inf\machine.inf
*pnp0a06=c:\windows\inf\machine.inf
*pnp0c00=c:\windows\inf\machine.inf
*pnp0c01=c:\windows\inf\machine.inf
*pnp0c02=c:\windows\inf\machine.inf
*pnp0c04=c:\windows\inf\machine.inf
*pnp0c0b=c:\windows\inf\machine.inf
*pnp0c0c=c:\windows\inf\machine.inf
*pnp0c0d=c:\windows\inf\machine.inf
*pnp0c0e=c:\windows\inf\machine.inf
*pnp0c15=c:\windows\inf\machine.inf
acpi\dockdevice=c:\windows\inf\machine.inf
acpi\dockdevice&_sb_.pci_.oak_=c:\windows\inf\machine.inf
acpi\dockdevice&_sb_.pci_.isa_.slce=c:\windows\inf\machine.inf
acpi\fixedbutton=c:\windows\inf\machine.inf
acpi\thermalzone=c:\windows\inf\machine.inf
isapnp\readdataport=c:\windows\inf\machine.inf
pci\ven_10aa&dev_0000=c:\windows\inf\machine.inf
pci\ven_1025&dev_1435=c:\windows\inf\machine.inf
pci\ven_10b9&dev_1445=c:\windows\inf\machine.inf
pci\ven_10b9&dev_1489=c:\windows\inf\machine.inf
pci\ven_10b9&dev_1449=c:\windows\inf\machine.inf
pci\ven_10b9&dev_1533=c:\windows\inf\machine.inf
pci\ven_10b9&dev_1451=c:\windows\inf\machine.inf
pci\ven_10b9&dev_1521=c:\windows\inf\machine.inf
pci\ven_10b9&dev_1621=c:\windows\inf\machine.inf
pci\ven_10b9&dev_1647=c:\windows\inf\machine.inf
pci\ven_10b9&dev_1651=c:\windows\inf\machine.inf
pci\ven_10b9&dev_1523=c:\windows\inf\machine.inf
pci\ven_10b9&dev_1531=c:\windows\inf\machine.inf
pci\ven_10b9&dev_1541=c:\windows\inf\machine.inf
pci\ven_10b9&dev_5243=c:\windows\inf\machine.inf
pci\ven_10b9&dev_5247=c:\windows\inf\machine.inf
pci\ven_10b9&dev_7101=c:\windows\inf\machine.inf
pci\ven_1022&dev_7007=c:\windows\inf\machine.inf
pci\ven_1022&dev_700d=c:\windows\inf\machine.inf
pci\ven_1022&dev_700f=c:\windows\inf\machine.inf
pci\ven_1022&dev_740b=c:\windows\inf\machine.inf
pci\ven_1022&dev_7413=c:\windows\inf\machine.inf
pci\ven_1022&dev_7443=c:\windows\inf\machine.inf
pci\ven_1022&dev_7451=c:\windows\inf\machine.inf
pci\ven_1022&dev_746a=c:\windows\inf\machine.inf
pci\ven_1022&dev_746b=c:\windows\inf\machine.inf
pci\ven_0e11&dev_0001=c:\windows\inf\machine.inf
pci\ven_0e11&dev_0002=c:\windows\inf\machine.inf
pci\ven_0e11&dev_1000=c:\windows\inf\machine.inf
pci\ven_0e11&dev_2000=c:\windows\inf\machine.inf
pci\ven_0e11&dev_ae29=c:\windows\inf\machine.inf
pci\ven_0e11&dev_ae2b=c:\windows\inf\machine.inf
pci\ven_0e11&dev_a0f0=c:\windows\inf\machine.inf
pci\ven_0e11&dev_a0f3=c:\windows\inf\machine.inf
pci\ven_0e11&dev_a0f7=c:\windows\inf\machine.inf
pci\ven_0e11&dev_ae2a=c:\windows\inf\machine.inf
pci\ven_0e11&dev_ae31=c:\windows\inf\machine.inf
pci\ven_0e11&dev_ae69=c:\windows\inf\machine.inf
pci\ven_0e11&dev_ae6c&cc_0600=c:\windows\inf\machine.inf
pci\ven_0e11&dev_ae6c&cc_0604=c:\windows\inf\machine.inf
pci\ven_0e11&dev_ae6d=c:\windows\inf\machine.inf
*cpqa0ef=c:\windows\inf\machine.inf
*cpqae08=c:\windows\inf\machine.inf
*cpqae30=c:\windows\inf\machine.inf
*cpqae3b=c:\windows\inf\machine.inf
*cpqae3c=c:\windows\inf\machine.inf
*cpqae4a=c:\windows\inf\machine.inf
*cpqae4b=c:\windows\inf\machine.inf
*cpqae4c=c:\windows\inf\machine.inf
*cpqae4d=c:\windows\inf\machine.inf
*cpqae53=c:\windows\inf\machine.inf
*cpqae54=c:\windows\inf\machine.inf
*cpqae55=c:\windows\inf\machine.inf
*cpqb05f=c:\windows\inf\machine.inf
*cpqb118=c:\windows\inf\machine.inf
*cpqb119=c:\windows\inf\machine.inf
*cpqb11a=c:\windows\inf\machine.inf
*cpqfa1b=c:\windows\inf\machine.inf
pci\ven_1080&dev_0600=c:\windows\inf\machine.inf
pci\ven_1078&dev_0000=c:\windows\inf\machine.inf
pci\ven_1078&dev_0002=c:\windows\inf\machine.inf
pci\ven_1011&dev_0001=c:\windows\inf\machine.inf
pci\ven_1011&dev_0021=c:\windows\inf\machine.inf
pci\ven_1011&dev_0022=c:\windows\inf\machine.inf
pci\ven_1011&dev_0024=c:\windows\inf\machine.inf

Can anyone think of a way to create the text necessary to add the drivers from DriverPacks either to this Sysprep section or perhaps to this machine.inf?

Last edited by johnk963 (2007-06-07 09:44:30)

Re: Sysprep mass storage section with DriverPacks Mass Storage

Am I the only one looking for a solution for this? Is this something already in the works? Did I post this in an improper manner or in the wrong section?

Re: Sysprep mass storage section with DriverPacks Mass Storage

hi

The problem with changing the mode of the controller (in BIOS) after setup ran its course, is most probably not only in the way "machine.inf" is built, but also a "EMBR" marker.
(in windows 98, driver.cab was built during setup, and migrating a drive to a different type mobo failed most times. XP is even less forgiving.)

The "EMBR" marker has been known to cause trouble as well.

One possible workaround (as long as no formerly array member drive were used), is a setting in BIOS.
ALLOW ESCD refresh, aka NVRAM refresh, aka RESET configuration data.
(with plug and play OS to YES.)
PnP OS YES, will not revert to NO.
BUT, ALLOW ESCD refresh, aka NVRAM refresh, aka RESET configuration data WILL invariably SET ITSELF BACK TO NO after a reboot which refreshed the DMI data in CMOS .
This is stuff I told people several years ago, and kinda used to be a non-issue no more.

However, a BSOD caused by MUP.sys, can be solved by it, as long as it was not a RAID-ARRAY member disk that is used alone.
(in this case, it reports wrong size which you may not notice.. and usually just dissapears once the reboot happens.)

The EMBR problem, would not get solved by clearing CMOS, nor by refreshing ESCD, because it resides on the hard drive itself.
(XP's FIXMBR may cure it. In the old days, FDISK /CMBR and Fdisk /cmbr 2 for fysical drive 2..
And as last resort for persistant entries, a diskmanager doing a soft lowlevel, or a raid chip/Bios doing a real lowlevel (a lowlevel means all data is gone).)


I had hoped somebody with more experience in syprep came along, but above is hands on, just the same.

Last edited by jtdoom (2007-06-14 03:32:56)

The answer was 42?
Kind regards, Jaak.

Re: Sysprep mass storage section with DriverPacks Mass Storage

Here is what I write in my sysprep to use the DP's Intel SATA drivers:

[Sysprep]
BuildMassStorageSection=Yes

[SysprepMassStorage]
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_2681&CC_0106=C:\D\M\IN\1\iaahci.inf
PCI\VEN_8086&DEV_2821&CC_0106=C:\D\M\IN\1\iaahci.inf

PCI\VEN_8086&DEV_2822&CC_0104=C:\D\M\IN\1\iaStor.inf
PCI\VEN_8086&DEV_27C6&CC_0104=C:\D\M\IN\1\iaStor.inf
PCI\VEN_8086&DEV_2682&CC_0104=C:\D\M\IN\1\iaStor.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

The main thing is to extract the HWID from each .inf file and put in the sysprep.inf file before you run it. Make sure you tell sysprep to build mass storage drivers -bmsd I believe is the option.

I don't have any method for automatically extracting the HWIDs, I do it manually.

Re: Sysprep mass storage section with DriverPacks Mass Storage

Thank you, gentleman, I think this is the info that I need. It would be nice if it were easier, but at least now it seems I can do what I set out to do.

Thanks again.

Re: Sysprep mass storage section with DriverPacks Mass Storage

Ok, I'm currently trying to get this working by trial and error and these are my ideas:

First of all I'm using http://dev.driverpacks.thesneaky.com/dr … _test_4.7z this beta massstorage package which containes the Intel SATA drivers.

I'm following these steps: http://forum.driverpacks.net/viewtopic. … 9420#p9420
BUT not the line at the end telling me to run "c:\sysprep\sysprep.exe -bmsd" to build the massstorage.

For that I've created "HWIDS.CMD" with the following code: (found this on MSFN forum, great job!!!)

rem %1 is path to MassDriverPacks Folder
IF "%1"=="" GOTO EOF
IF NOT EXIST %1 GOTO EOF

SETLOCAL ENABLEDELAYEDEXPANSION
SET STDOUT=%cd%\HWIDS.TXT
TYPE>%STDOUT% 2>NUL

::traverse drivers path
CALL :TRAVERSAL %1

GOTO EOF

:TRAVERSAL
PUSHD %1
for /f %%f in ('Dir /b *.inf') do (
 for /f "eol=- tokens=2 delims=," %%i in ('find /i "pci\ven" %%f') do (
  for /f "tokens=*" %%j in ("%%i") do (
    for /f "tokens=1* delims=_" %%k in ("%%j") do (
      if /i "%%k" EQU "PCI\VEN" (
        for /f "usebackq tokens=1* delims=; " %%a in ('%%j') do (
          echo %%a=%cd%\%%f>>%STDOUT%
        )
      )
    )
  )
)
)

FOR /F %%I IN ('DIR /AD /OGN /B') DO (
CALL :TRAVERSAL %CD%\%%I
)
POPD
GOTO EOF

:EOF

If you run this batch from "C:\" (if you followed the steps above!) by using this command: "HWIDS.cmd D\M" it will build
"HWIDS.txt" containing all the massstorage lines needed for the [SysprepMassStorage] section in sysprep.inf.

I noticed not all the lines are build the right way, scroll in HWIDS.txt to check if there are some lines which look like this

PCI\VEN_8086&DEV_1960&SUBSYS_0466101E=    C:\Sysprep\D\M\L\2\OEMSETUP.INF (notice the space between the "=" and "c:\.."
and correct these by deleting the space.

After that select all lines, copy it and paste them in the sysprep.inf under [SysprepMassStorage]


!!! I'm still testing this and hopefully it will work !!!


I did come accross some errors while running sysprep:

"elxtor driver error" --> seems like a driver problem, I deleted the "C:\D\M\E" folder and deleted the lines
in the [SysprepMassStorage] section linking to that folder.

"silsupp.cpl" error" --> seems like a driver problem, I deleted the "C:\D\M\E" folder and deleted the lines
in the [SysprepMassStorage] section linking to that folder.

"qlsdm.dll error" --> seems like a driver problem, I deleted the "C:\D\M\E" folder and deleted the lines
in the [SysprepMassStorage] section linking to that folder.


!!! It might be wise to perform the steps mentioned above BEFORE you run sysprep !!!


I also got alot of pop-ups asking me to allow unsigned driver install (eventho I put the driversigning on "Ignore") and pop-ups asking me if I wanted to overwrite files (I selected "yes" on all). I tried using "WatchDriverSigningPolicy.exe" from MSFN forum to surpress the unsigned driver install popups, but doesn't seem to work.

At one time you will get ALOT of popups when it reaches "M\S\4\Silsupp.cpl", keep selecting "yes" and it will continue after a while (it seems to not continue, but it does!)


!!! Right now I'm doing this as a test, don't even know if it will work, so please keep that in mind !!!


I'm also thinking of minimizing the massstorage drivers to a minimum, just using the ones I need, but I'm curious if the whole (or at least most of the) package will work smile


I'll keep u updated...


question: Is running "sysprep -bmsd" still needed after filling the [SysprepMassStorage] section in sysprep.inf by hand?

Last edited by Skillz (2007-06-14 19:29:46)

Re: Sysprep mass storage section with DriverPacks Mass Storage

I would say sysprep -bmsd is still required.

Awesome script though. smile

Re: Sysprep mass storage section with DriverPacks Mass Storage

The -bmsd switch is only used to create the sysprepmassstorage section in the sysprep.inf. It would probably be best to use that switch first, then add the additional entries that your script creates, then run sysprep without the -bmsd switch.

Last edited by johnk963 (2007-06-15 01:20:53)

Re: Sysprep mass storage section with DriverPacks Mass Storage

Well the test without "sysprep -bmsd" and the full list created with the batch ended up in an error (2 times),
so now I'll just try to incorperate the Intel SATA drivers and the list created by "-bmsd" switch.

Re: Sysprep mass storage section with DriverPacks Mass Storage

In my tests, these drivers' IDs' needs to be excluded from sysprep.inf:

AD\4
IN\1\O
L\2, L\3
P\1, P\2, P\5
Q\
S\4
all other 'older' versions, like IN\1\O - out

With such set, SYSPREPed image boots ok.

But, I'v built sysprep.inf from DriverPack_MassStorage_wnt5_x86-32.ini,  not from  *.inf files.

Re: Sysprep mass storage section with DriverPacks Mass Storage

@ torrero and other syspreppers.

In Mass storage version 7.06.1 we made a U-turn in the intel section.
Primo; The foldernames changed. IN\1\O no longer exists.
IN\1 has the oldest driver V. 5.5.1035
TXTmode name is iastor55.sys

IN\2 has V. 6.2.1002
its TXTmode name is iastor62.sys

IN\3 has V. 7.05.1017
Its TXTmode name is iastor75.sys

There is more to it than the change in the INI.
The 5.5.xx, 6.2.xx and 7.05.xx drivers themselves (their INF) were edited
You see, the newest driver dropped support for some old hardware, but there was overlap, and machines crashed.

IN\3 with V. 7.05.1017 was a real problem for machines that used hardware supported either by 6.2.xx or 5.5.xx, which made me make this change.

I have no idea what this will do to sysprep.
-------------------------------------------------

during tests, we tried giving distictive names to the INF and SYS files
(this required edits in INF for filecopy and internal filename references).
This still caused crashes, but then there was still OVERLAP.
Now, there is NO overlap, and this could be done again, I guess.

Now, IF you want me to do this for you so you can try all three intel drivers in SYSPREP, you can ask.
HOWEVER, you could also simply try the newest mass storage driverpack, and see what happens.
Then we would at least find out wether that works or not.

(post updated to reflect the current situation in 7.07.2 somewhat better.)

Last edited by jtdoom (2007-07-16 04:38:01)

The answer was 42?
Kind regards, Jaak.

Re: Sysprep mass storage section with DriverPacks Mass Storage

AFAIK sysprep, all mass storage drivers, pointed in sysprep.inf, are loaded during next boot time. And then, during boot, each driver will seek for supported hardware and still working or die.

In case of three different drivers for Intel storage controllers,  ... hmm survive the last! Last, who be really last in sysprep.inf. In case of UNsigned drivers, of course.
Signed drives ... I don't know exactly, it's seems to be what Windows keep latest version.

//off topic - how do you edit Intel *.inf files and keep Microsoft HW compatibility sign?

So, it's a sad. While some Intel HW supported by MS drivers, MS drivers can save us. And, of course, only one Intel driver can be used in sysprep. IMO, even we rename drivers and try to load all three at once, they are can interfere each other and crash. So, sysprep-er need to choose Proper Driver for his hardware. And pray.

Universal sysprep image for Intel storage controllers is impossible. sad Just use latest driver. Or (and) build different images.
I'm sad.

Re: Sysprep mass storage section with DriverPacks Mass Storage

This is what I am using with 7.06.2

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

skinlayers

Last edited by skinlayers (2007-06-27 13:46:25)

Re: Sysprep mass storage section with DriverPacks Mass Storage

Hi

far as I know, limiting a driver to make it support fewer hwIDs does not break WHQL.
And, faik, changing the name o/t SYS, does not break WHQL either.

I am fairly sure that we can make a pack with three different aahci.sys and three different iastor.sys, with the inf files in accord with those names, and internally edited so the calls and references in those INFs are for the files they use.

if there are syspreppers who want to have a go at a testversion with such a change in it, say so.
I can make the testpack..

The answer was 42?
Kind regards, Jaak.

Re: Sysprep mass storage section with DriverPacks Mass Storage

hi

sysprep testfile:
iastor names changes
iaahci names changed

If this works for sysprep, then it ought to work for installing from DVD as well.

There are a few others like this, which I did not touch (yet.)
There are Three folders with Highpoint hpt3xx.
There are also a few other folders with duplicate filenames intended for different OS.

Those in NVIDIA's folders, that's for a smarter guy than I am.
----------
below I'll list other changes which are intended for a future Mass Storage Driverpack update.

link removed, new file was made

Last edited by jtdoom (2007-06-23 13:38:27)

The answer was 42?
Kind regards, Jaak.

Re: Sysprep mass storage section with DriverPacks Mass Storage

updated the syspreptestfiles
REASON; there are errors in the current release, and these have to be fixed for you guys as well.

this is a beta.. apart from the experiment with the three iastor files,  there is also a change in
[AT]
ATI's AHCI is probably not a bus extender, but the INI said it was.

http://rapidshare.com/files/38806149/DP … eptest2.7z
--------------------------------

'Overlapping HWIDs can cause crashes. Reducing overlap in Mass Storage.',
FIXES
  'INI: [S-7] duplicate HWID VEN_1095&DEV_3114&SUBSYS_81361043 removed, covered by [S-7-A]'.
'| [S-4] removed ATI HWIDs covered by ATI variant in [S-5-A]'.
'| fixed errors like ms_2_exc_ which is incorrect for single driver',

Updates
  'SiS 180/181/182/1182 RAID Controllers drivers from 01/05/2005,5.1.1039.2030 to 01/11/2007,5.1.1039.2110'.
  'JMicron JMB36X Processor from 04/10/2007, 1.17.17.00 to 06/13/2007, 1.17.20.03',

New
  'SiS 1184 RAID/AHCI & 1185 AHCI Controller 01/17/2007,5.1.1039.3020'.
'|VIA SATA Port & busextender (Via Hyperion Pro) 03/23/2007,6.0.6000.212'.

Last edited by jtdoom (2007-06-23 13:37:26)

The answer was 42?
Kind regards, Jaak.

Re: Sysprep mass storage section with DriverPacks Mass Storage

Ok. I'll try it in two days...

Re: Sysprep mass storage section with DriverPacks Mass Storage

Has anyone solved how to stop the continual popups about unsigned drivers in MassStorage section of sysprep when loading in drivers from driverpack?

http://forum.driverpacks.net/viewtopic.php?id=1682
I posted a script in this thread about quickly extracting the device id codes from the inf's and adding to the sysprep.inf file. - but alas 1 million popups when running final sysprep

Last edited by chud (2007-07-03 04:41:03)

Re: Sysprep mass storage section with DriverPacks Mass Storage

Sorry, I haven't test 'syspreptestfiles' yet...

About unsigned drivers:
1. disable driver signing policy with this bat file (I hope, sysprep's 'DriverSigningPolicy = Ignore' may help too)

@echo off
call :%1 2>nul
if errorlevel 1 goto usage
goto :EOF

:usage
echo Usage: %0 {disable/enable}
goto :EOF

:disable
set INF=%TEMP%\disable.inf
echo [Unicode]>"%INF%"
echo Unicode=no>>"%INF%"
echo [Registry Values]>>"%INF%"
echo MACHINE\Software\Microsoft\Driver Signing\Policy=3,^0>>"%INF%" 
echo [Version]>>"%INF%" 
echo signature="$CHICAGO$">>"%INF%" 
echo Revision=^1>>"%INF%" 
call :import "%INF%" 
del "%INF%" 
goto :EOF

:enable
set INF=%TEMP%\enable.inf
echo [Unicode]>"%INF%"
echo Unicode=no>>"%INF%"
echo [Registry Values]>>"%INF%"
echo MACHINE\Software\Microsoft\Driver Signing\Policy=3,^1>>"%INF%" 
echo [Version]>>"%INF%" 
echo signature="$CHICAGO$">>"%INF%" 
echo Revision=^1>>"%INF%" 
call :import "%INF%" 
del "%INF%" 
goto :EOF

:import
secedit /configure /cfg %1 /db "%TEMP%\secsetup.sdb" /log "%TEMP%\sec.log" 
del "%TEMP%\secsetup.sdb" 
del "%TEMP%\sec.log" 
goto :EOF

2. Windows ask about drivers' replacement when new driver replaces one Windows have inside, for example, D\M\AD\4\DPTI2O.SYS. I can't disable this. Anyone can help?

Re: Sysprep mass storage section with DriverPacks Mass Storage

Does anyone have sysprepmassstorage section with more entries than skinlayer's list? I have no problem with a similar list of Intel HIDS but adding just a few others from the mass storage driverpack cause sysprep to hang.

Ideally I'd like as many of the mass storage drivers as possible but even just this list fails, what is the problem with this?

PCI\VEN_1039&DEV_0181=C:\D\M\SI\1\SISRaid1.INF
PCI\VEN_1039&DEV_0180=C:\D\M\SI\2\SISRaid.INF
PCI\VEN_1039&DEV_0181=C:\D\M\SI\2\SISRaid.INF
PCI\VEN_1039&DEV_0180=C:\D\M\SI\3\SISRaid2.INF
PCI\VEN_1039&DEV_0181=C:\D\M\SI\3\SISRaid2.INF
PCI\VEN_1039&DEV_0182=C:\D\M\SI\3\SISRaid2.INF
PCI\VEN_1039&DEV_1182=C:\D\M\SI\3\SISRaid2.INF
PCI\VEN_1039&DEV_1184=C:\D\M\SI\4\sisraid4.inf
PCI\VEN_1039&DEV_1185=C:\D\M\SI\4\sisraid4.inf
PCI\VEN_1106&DEV_3349&CC_0104=C:\D\M\V\1\VIAMRAID.INF
PCI\VEN_1106&DEV_6287&CC_0106=C:\D\M\V\1\VIAMRAID.INF
PCI\VEN_1106&DEV_0591&CC_0104=C:\D\M\V\1\VIAMRAID.INF
PCI\VEN_1106&DEV_3249&CC_0104=C:\D\M\V\1\VIAMRAID.INF
PCI\VEN_1106&DEV_3149&CC_0104=C:\D\M\V\1\VIAMRAID.INF
PCI\VEN_1106&DEV_3164&CC_0104=C:\D\M\V\1\VIAMRAID.INF
PCI\VEN_1106&DEV_0581&CC_0104=C:\D\M\V\1\VIAMRAID.INF
PCI\VEN_1106&DEV_7372&CC_0104=C:\D\M\V\1\VIAMRAID.INF
PCI\VEN_1106&DEV_3249=C:\D\M\V\1\VIAMRAID.INF
PCI\VEN_1106&DEV_3149=C:\D\M\V\1\VIAMRAID.INF
PCI\VEN_1106&DEV_3164=C:\D\M\V\1\VIAMRAID.INF
PCI\VEN_1106&DEV_4149=C:\D\M\V\2\viapide.inf
PCI\VEN_1106&DEV_0571=C:\D\M\V\3\vminiide.inf
PCI\VEN_1106&DEV_3149&CC_0101=C:\D\M\V\3\vminiide.inf
PCI\VEN_1106&DEV_0591&CC_0101=C:\D\M\V\3\vminiide.inf
PCI\VEN_1106&DEV_5337&CC_0101=C:\D\M\V\3\vminiide.inf
PCI\VEN_1106&DEV_3349&CC_0101=C:\D\M\V\3\vminiide.inf
PCI\VEN_1106&DEV_5287&CC_0101=C:\D\M\V\3\vminiide.inf
PCI\VEN_1106&DEV_3164&CC_0101=C:\D\M\V\3\vminiide.inf
PCI\VEN_1106&DEV_0581&CC_0101=C:\D\M\V\3\vminiide.inf
PCI\VEN_1106&DEV_5324&CC_0101=C:\D\M\V\3\vminiide.inf
PCI\VEN_1106&DEV_0571=C:\D\M\V\3\vminiide.inf
PCI\VEN_1106&DEV_3149&CC_0101=C:\D\M\V\3\vminiide.inf
PCI\VEN_1106&DEV_0591&CC_0101=C:\D\M\V\3\vminiide.inf
PCI\VEN_1106&DEV_5337&CC_0101=C:\D\M\V\3\vminiide.inf
PCI\VEN_1106&DEV_3349&CC_0101=C:\D\M\V\3\vminiide.inf
PCI\VEN_1106&DEV_5287&CC_0101=C:\D\M\V\3\vminiide.inf
PCI\VEN_1106&DEV_3164&CC_0101=C:\D\M\V\3\vminiide.inf
PCI\VEN_1106&DEV_0581&CC_0101=C:\D\M\V\3\vminiide.inf
PCI\VEN_1106&DEV_5324&CC_0101=C:\D\M\V\3\vminiide.inf
PCI\VEN_1106&DEV_3149&CC_0101=C:\D\M\V\4\ViPrt.inf
PCI\VEN_1106&DEV_3349&CC_0101=C:\D\M\V\4\ViPrt.inf
PCI\VEN_1106&DEV_0581&CC_0101=C:\D\M\V\4\ViPrt.inf
PCI\VEN_1106&DEV_0591&CC_0101=C:\D\M\V\4\ViPrt.inf
PCI\VEN_1106&DEV_5287&CC_0101=C:\D\M\V\4\ViPrt.inf
PCI\VEN_1106&DEV_5324&CC_0101=C:\D\M\V\4\ViPrt.inf
PCI\VEN_1106&DEV_5337&CC_0101=C:\D\M\V\4\ViPrt.inf
PCI\VEN_1106&DEV_5372&CC_0101=C:\D\M\V\4\ViPrt.inf
PCI\VEN_1106&DEV_3149&CC_0101=C:\D\M\V\4\ViPrt.inf
PCI\VEN_1106&DEV_3349&CC_0101=C:\D\M\V\4\ViPrt.inf
PCI\VEN_1106&DEV_0581&CC_0101=C:\D\M\V\4\ViPrt.inf
PCI\VEN_1106&DEV_0591&CC_0101=C:\D\M\V\4\ViPrt.inf
PCI\VEN_1106&DEV_5287&CC_0101=C:\D\M\V\4\ViPrt.inf
PCI\VEN_1106&DEV_5324&CC_0101=C:\D\M\V\4\ViPrt.inf
PCI\VEN_1106&DEV_5337&CC_0101=C:\D\M\V\4\ViPrt.inf
PCI\VEN_1106&DEV_5372&CC_0101=C:\D\M\V\4\ViPrt.inf
PCI\VEN_104B&DEV_1040=C:\D\M\VM\vmscsi.inf

Re: Sysprep mass storage section with DriverPacks Mass Storage

Hi
SiS 180/180 has been worked on..

this is a post in a similar topic, and in there you'll find a link to another post with an anouncement of changes  for a future release.
http://forum.driverpacks.net/viewtopic. … 496#p12496

The answer was 42?
Kind regards, Jaak.

Re: Sysprep mass storage section with DriverPacks Mass Storage

I've tested 'syspreptestfiles' with renamed Intel drivers.
Bad news:
1. during system reseal, sysprep ask about every HWID entry (pointed to renamed driver)  three times, and in log file there are smth about 'improper signed' driver. So, renamed drivers' signing goes off.

2. it's not works at all. All drivers are installed in 'iastor' driver entry in Services, and iastor's imagepath points to the last installed driver. In my case, it was iastor75.sys

3. I've changed *.inf fiels, so drivers' entries are names isator55, iastor62, iastor75. In such case, when sysprep seals system, iaStor75 doesn't install at all. So, I change display names of all three drivers. And drivers are installed and, when system boots, loaded and work. (but! I haven't real Intel devices to test...)

So, think, think.... drivers can be loaded in sysprep process, but driver signing is big trouble, I think... Can anybody (with MS driver toolkit) sign driver with self issued certificate and test to install?

Last edited by torrero (2007-07-12 07:59:12)

Re: Sysprep mass storage section with DriverPacks Mass Storage

hi
when you try such an approach

if: 1; you change ALL references to filename in the INFs from iastor.sys to iastorXX.sys
Notes, there are references  to iastor.sys in iastor.inf AND in iahci.inf.
BOTH most be done.
(stick to 8.3 convention)

then:
A> you must change filename in IN\1 from iastor.sys to iastorXX.sys
B> you must change INI section where you change filename from iastor.sys to iastorXX.sys

if: 2; you did that for all three (iastor55, iastor62 and iastor75)
(The XX were used instead of the numbers)
then
pack it up, use it as mass storage pack to run base on a fresh copy of your windows CD.
And then TEST this non-sysprep CDR on a live test machine which uses one of the iastor files.

btw, this approach was almost in the pack.
It should work, and it can be in a future Pack.

Last edited by jtdoom (2007-07-12 09:34:19)

The answer was 42?
Kind regards, Jaak.

Re: Sysprep mass storage section with DriverPacks Mass Storage

above post was edited..
NOTE; That test-sys-prep-file was pulled long ago.
It probably has errors.

The answer was 42?
Kind regards, Jaak.

Re: Sysprep mass storage section with DriverPacks Mass Storage

test version UPDATED

Last edited by jtdoom (2007-07-13 09:23:59)

The answer was 42?
Kind regards, Jaak.