Activate UltraDma on Winpe

Hello
we are currently a licensee of a Select Contract and we would like
to know how to activate UltraDma mode for CDROM or DVDRom in Winpe.

I have built Winpe Boot CDROM with Winpe 1.6 (2005) and Windows 2003 Server
US SP1.

When i boot on my DVDROM or cdrom, the hard drive is in ultra dma mode but
my cdrom is in PIO mode,
the problem is that we need to deploy about 2600 Machine with cdrom or DVD
in our company soon
and the speed is very slow with cdrom in PIO mode.

Our image (PQideploy or Ghost) takes between 35 minutes and 90 minutes to
restore from the cdrom.
I have done test with booting from Windows XP and restoring my image to
external drive (with ghost32 or Pqideploy)
and it takes less than 10 minutes to restore my drive.

I know winpe is not Windows XP, but i have explored different solutions to
get ultraDma work in Winpe (CDROM) like

-booting from an SDI image (xp embedded) with winpe and pnp swith , to be
able to modify my image on the fly (adding drivers…)
using devcon to install mshdc.inf to get the registry populated with dma
parameters, but my cdrom always default to pio Mode.

If you can help me on that subject that would be fine.

Thanks a lot.

Olivier,

you wrote on Tuesday, May 23, 2006, 23:45:16:

OC> we are currently a licensee of a Select Contract and we would like
OC> to know how to activate UltraDma mode for CDROM or DVDRom in Winpe.

IIRC you need to set the “SystemSetupInProgress” registry value in WinPE
to 0 in order to get DMA for CD/DVD drives. Use “Load structure” in
Regedit to load setupreg.hiv from the i386\system32 directory in WinPE
(copy to hard drive first), search for the SystemSetupInProgress value,
set to 0, rebuild WinPE and try again.


Ralf.

Ralf
Hello sir, i have a problem with your solution (changing
:SystemSetupInProgress to 0)
testing with winpe 1.5 (2004) with windows XP as source it just gives an
error lsass error and then it reboots when i click OK
testing with winpe 1.6 (2005) and windows 2003 sp1 as source it
just reboots.
Also tried with SDI (xp embedded) and winpe 1.6, win 2003 sp1
it just reboots also.
If you have any solution for my problem that would help me.
What can i do with LSASS ?
What process put cdrom in PIO mode ?
Thanks, waiting for you answer

Olivier,

“Ralf Buschmann” a écrit dans le message de news:
xxxxx@ntdev…
> Olivier,
>
> you wrote on Tuesday, May 23, 2006, 23:45:16:
>
> OC> we are currently a licensee of a Select Contract and we would like
> OC> to know how to activate UltraDma mode for CDROM or DVDRom in Winpe.
>
> IIRC you need to set the “SystemSetupInProgress” registry value in WinPE
> to 0 in order to get DMA for CD/DVD drives. Use “Load structure” in
> Regedit to load setupreg.hiv from the i386\system32 directory in WinPE
> (copy to hard drive first), search for the SystemSetupInProgress value,
> set to 0, rebuild WinPE and try again.
>
> –
> Ralf.
>
>

Hi Olivier,

you wrote on Wednesday, May 24, 2006, 19:13:46:

OC> Hello sir, i have a problem with your solution (changing
OC> :SystemSetupInProgress to 0)
OC> testing with winpe 1.5 (2004) with windows XP as source it just gives an
OC> error lsass error and then it reboots when i click OK
OC> testing with winpe 1.6 (2005) and windows 2003 sp1 as source it
OC> just reboots.
OC> Also tried with SDI (xp embedded) and winpe 1.6, win 2003 sp1
OC> it just reboots also.
OC> If you have any solution for my problem that would help me.
OC> What can i do with LSASS ?
OC> What process put cdrom in PIO mode ?
OC> Thanks, waiting for you answer

ATAPI.SYS is responsible for PIO/DMA mode. It checks for that
SystemSetupInProgress registry value and uses PIO if it is set to 1.

I know this because I was working on a “Mini OS” similar to WinPE and XP
Embedded that also supported Windows 2000. It used a custom RAM disk
driver I developed and ran a stripped down XP/W2K completely from RAM.
Hardware detection including CD/DVD-ROM (and thus loading ATAPI.SYS)
occured after the system booted from the RAM disk, I set
SystemSetupInProgress to 0 in user mode just before I ran my HW
detection code and that solved it.

Now with WinPE ATAPI.SYS is loaded very early in the boot process,
during that text mode blue screen stage. Obviously setting
SystemSetupInProgress to 0 from the beginning probably causes the normal
Windows logon process to start (LSASS is a module related to Windows
logon mechanisms) and it probably barfs because there is no security
registry hive. Just guessing.

Anyway, to make a long story short, maybe the quickest and dirtiest way
to solve your problem is hacking ATAPI.SYS. That is, change the
SystemSetupInProgress string in ATAPI.SYS (it’s there exactly once, note
it’s in UNICODE) to say Syst00SetupInProgress and create a registry
value Syst00SetupInProgress in your setupreg.hiv hive, in the same key
where SystemSetupInProgress is located, and set that value to 0.


Ralf.