• Announcements

    • xper

      MSFN Sponsorship and AdBlockers!   07/10/2016

      Dear members, MSFN is made available via subscriptions, donations and advertising revenue. The use of ad-blocking software hurts the site. Please disable ad-blocking software or set an exception for MSFN. Alternatively, become a site sponsor and ads will be disabled automatically and by subscribing you get other sponsor benefits.
duveldj

Any way to get PE to load PNP drivers and Initialize Network without u

16 posts in this topic

I've recently been tasked by my company to deploy a PXE server that can boot up into a WinPE environment for us to run Burn-in cycles and remotely image systems. I've got the PXE portion working without a doubt, and I've even gotten WinPE largely functional (mainly because of the efforts of Kullenen_Ask and wimb - thank you very much to you two!). In fact, I'm using the Make_PE3 program to get the Explorer shell working, as I found I couldn't follow along with all of Kullenen_Ask's instructions for doing it manually.

The only problem at this point is that I cannot seem to get the drivers for most of the devices to load at boot. I have to run PnPUtil, and then run PENetwork to get the environment functional. If I edit my wipeshl.ini to run the WinPE Shell instead of PEShell or Explorer, it appears that it has proper networking support; I can ping other computers in my network without having to run PnPUtil to load drivers. If wipeshl.ini is set to load Explorer or PEShell, my test system's NICs (and a bunch of other devices) show up as unrecognized in Device Manager. Running PnPUtil resolves these conflicts without having to load additional drivers into the image.

Now, I know that I can just edit my wipeshl.ini to launch PnPUtil before it launches either PEShell.exe or explorer.exe, but this seems to add quite a bit of time to the bootup sequence, and regardless, I still have to run PENetwork to get the NIC to pull an IP from my DHCP server. Trying to ping anything without running PENetwork beforehand (even though the NIC drivers are installed) results in an error.

My two questions, and I would be extremely appreciative if anybody could help out since I'm at my wit's end:

1) Can I get the WinPE environment to load the PNP drivers without running PnPUtil beforehand, or is this not possible? It seems that WinPE loads most of the drivers in the Windows\inf directory, but not all of them. Running PnPUtil seems to be the only way to get the rest of the drivers to load, currently.

2) Is there any way to get networking to automatically start the way it does if I configure wipeshl.ini to load wipeshl.exe? That is, without running PENetwork? I tried adding "%SYSTEMROOT%\System32\wpeinit.exe" as a line above the line invoking PEShell.exe (as it exists by default after using wimb's Make_PE3 app to make the image) but this doesn't seem to do anything. According to Microsoft's documentation, running wpeutil.exe with the flag "InitializeNetwork" will "load networking support and PnP drivers," but that also doesn't seem to work.

Thanks!

0

Share this post


Link to post
Share on other sites

i dont know what it inside autoit script of penetwork but it only works wpeutil initialize network command from my experiences after that loads wireless lan configurations from inf files. i explained in the topic and i think the best way is to use dart tools netstart if you dont want wait lots of minutes that wpeutil initializenetwork finish its job before the shell loads.Maybe somebody can find a way that command process silent after the shell loads. If i can get the run or runonce registry settings works(i couldnt) maybe it can be possible to put wpeutil initialize network command with a cmdow kind of stuff to there. As you can understand from the command switch (initializenetwork) probably it only installs network adaptors. if you have a working devicemanager when you select the computer icon in there and refresh it loads all the missing device drivers. It takes lots of time, ram and cpu usage.You can see 4 drvinst.exe process working same time in task manager.Better to install them manually by hand.in normal winpe you should have startnet.cmd in your system32 folder.you can put startnet.cmd line in wipeshl.ini as all the people do.in my builds i dont use penetwork to load my network driver. i get connected to internet automatically. wpeutil should be enough.if you added pppoe and dot3svc packages you will have configras and configdot3svc cmd files in your system32 folder. They works when the wpeutil initialize network. they loads inf files like the penetwork do. but also it is possible to get telephony,rasman,rasauto to work without using configras.cmd and probably same for wireless. until i find the way to load wlan service to start from services manager i will use penetwork to load it. if i dont need it anyway i will use it because i like the gui of it.

just make a winpeshl.ini

[LaunchApps]

%windir%\system32\netstart.exe,-prompt

Explorer.exe

put NetStart.exe,MSDartCmn.dll files in system32 folder with mui files thats it. is it difficult? it should work configras and configdot3 cmd files silent at backgound (i have suspects but it should) if you add a pnputil or hwpnp inside one of that cmd files maybe it can work also them background and install your other drivers too. it is best way to work wpeutil silent. i searched much but other command window hiders doesnt work better then this way. they maybe can hide command windows(i cant say i succeded) but they wont let you start your shell before you wait lots of time wpeutil to finish its work. if you dont use -prompt switch it will not load the shell before the wpeutil command finish its work. maybe someone can find a way hexediting the netstart.exe to work as all prompts clicked "yes" without show prompts.

Edited by Kullenen_Ask
0

Share this post


Link to post
Share on other sites

What Burn-In program will you be using? I've made Passmark's BurnInTest Pro work in WinPE 2.1 if that helps.

0

Share this post


Link to post
Share on other sites

I can have Internet Connection without running PENetwork in case of LAN ethernet wired connection.

What I did is install the driver of my network card using the already provided inf file

by modifying audio_fix.cmd or by adding to startnet.cmd the command:

drvload.exe X:\Windows\inf\netrtx32.inf

Your inf file can be different, have a look in X:\Windows\inf folder and test with cmd window.

You will find startnet.cmd in Make_PE3\PE3_mod\PE3_add\x86\Windows\System32

Similarly I can Install other drivers like:

drvload.exe X:\Windows\inf\hal.inf
drvload.exe X:\Windows\inf\cpu.inf
drvload.exe X:\Windows\inf\usb.inf
drvload.exe X:\Windows\inf\usbstor.inf
drvload.exe X:\Windows\inf\msports.inf
drvload.exe X:\Windows\inf\oem0.inf
drvload.exe X:\Windows\inf\oem1.inf
drvload.exe X:\Windows\inf\oem2.inf
drvload.exe X:\Windows\inf\oem3.inf
drvload.exe X:\Windows\inf\oem4.inf
drvload.exe X:\Windows\inf\oem5.inf

Install of all drivers is taking more time. Especially machine.inf is taking too much time.

I think there is no possibility to keep the settings e.g. use them to Update the pe3_x86.iso boot image.

The oem*.inf files correspond to the drivers present in Make_PE3\PE3_mod\WIN7_drivers\x86

In case of Wireless connection I still need PENetwork to give the authentication,

but install of the wireless driver and starting of the services can also be done with batch commands.

Start Wireless

NET START Eaphost
NET START dot3svc

drvload.exe X:\Windows\inf\netvwifimp.inf
drvload.exe X:\Windows\inf\netvwififlt.inf

netcfg.exe -c s -i ms_nativewifip

NET START Wlansvc

Edited by wimb
0

Share this post


Link to post
Share on other sites

(edited for length)

Thanks for the reply! Given your new advice, I went back through to retrace your steps with the additional clarification, and a lot more made sense to me. Do I understand correctly that you've basically incorporated Microsoft DaRT 6.5 into your environment and are using its files to initialize networking? It took me quite a bit of searching to realize that only MSDN and Technet subscribers can get their hands on that; while I do have an MSDN subscription, it looks as though MDOP 2009 R2 (Microsoft Desktop Optimization Pack, the suite that includes DaRT) is out of my subscription limitations. I'll see what I can do to get a hold of it somehow; it seems like it would be useful to have in my PE environment if only for its deployment and troubleshooting tools.

I had read on TechNet that the InitializeNetwork switch for wpeutil does this:

"Initializes network components and drivers, and sets the computer name to a randomly-chosen value."

I had been looking at a lot of solutions for about 6 hours at that point, and in my haze I read that as installing all the drivers, not just the networking drivers.

What Burn-In program will you be using? I've made Passmark's BurnInTest Pro work in WinPE 2.1 if that helps.

BurnInTest v6.0 Pro is what I'm using. Company already had the license, and v6.0 actually has an "Install Portable" option. I can literally mount my WinPE.wim and install BurnInTest to the Program Files; completely works. The funny thing is, even if I haven't run PnPUtil to install my test system's device drivers, I can run BurnInTest and have it correctly detect the motherboard model number (and even the serial number), the model number, stepping and revision of the processors, the NIC and the RAID controllers. Apparently BurnInTest is better with unknown devices than WinPE. :)

(edited for length)

Ahh; so you're calling drvload to install drivers. I could theoretically make that work, but only with a fair amount of leg work. This is going to be a manufacturing environment PXE server, so there will be a fair amount of diversity amongst the systems. I'd rather not hunt down individual drivers (and potentially install conflicting drivers) for each specific system. Ideally, what I'm trying to do is just put all of the specific drivers that I might need for all of the systems into the PE build, and have the boot process automatically load the drivers that each specific system needs. It's starting to look like injecting the drivers into the .wim and running PnPUtil before my shell is the only way to accomplish that, but I'll keep you informed if I find a more elegant / faster solution. :)
0

Share this post


Link to post
Share on other sites

What Burn-In program will you be using? I've made Passmark's BurnInTest Pro work in WinPE 2.1 if that helps.

In case anybody here is trying to do the same thing, I forgot to mention one thing; I needed to copy over "msvfw32.dll" from my workstation's Windows\System32 folder into the PE System32 folder. That's the only thing needed to get BIT Pro v6.0 working in PE3.
0

Share this post


Link to post
Share on other sites

Do I understand correctly that you've basically incorporated Microsoft DaRT 6.5 into your environment and are using its files to initialize networking?

Answer:No. Dart tools netstart only a trigger to start wpeutil initialize network. it doesnt have any else functions.Dart tools is a must for to use winpe as a recovery environment. i want the tools in my builds. All tools size is 1.5mb zip file althought the Mdop 2009 R2 is 1.5gb

Edited by Kullenen_Ask
0

Share this post


Link to post
Share on other sites

I have made batch program driver_fix.cmd that is auto launched by startnet.cmd

This program will auto install network drivers and Start WLAN Service.

Additionally some important drivers taking not too much time are installed.

Wired Internet Connection is ready without using PENetwork.

Wireless Internet Connection requires to use PENetwork for Connect and Authentication.

In total this adds about 30 sec to the boot time, which I think is acceptable.

driver_fix.cmd

:: ==========================================================================================================================
:: ====================================== driver_fix.cmd ====================================================================
:: ==========================================================================================================================
TITLE driver_fix.cmd - PE3 fix
@ECHO OFF
CLS

SETLOCAL ENABLEEXTENSIONS
SETLOCAL ENABLEDELAYEDEXPANSION

ECHO.
ECHO Install of Drivers in PE3 - Wait ....
ECHO.

drvload.exe X:\Windows\inf\hal.inf >nul
drvload.exe X:\Windows\inf\cpu.inf >nul

for %%i in (X:\Windows\inf\oem*.inf) do drvload.exe %%i
for %%i in (X:\Windows\inf\net*.inf) do drvload.exe %%i

drvload.exe X:\Windows\inf\usb.inf
drvload.exe X:\Windows\inf\usbstor.inf
drvload.exe X:\Windows\inf\msports.inf

ECHO.
ECHO Start of WLAN - wait ...
ECHO.

NET START Eaphost
NET START dot3svc

:: drvload.exe X:\Windows\inf\netvwifimp.inf
:: drvload.exe X:\Windows\inf\netvwififlt.inf

netcfg.exe -c s -i ms_nativewifip

NET START Wlansvc

ECHO.
ECHO Install of Drivers Finished - OK
ECHO.

EXIT

startnet.cmd

wpeinit

@ECHO OFF

for %%i in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do if exist %%i:\U_XP_SET\PStart.exe Start %%i:\U_XP_SET\PStart.exe
for %%i in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do if exist %%i:\PStart\PStart.exe Start %%i:\PStart\PStart.exe
for %%i in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do if exist %%i:\ASuite\Start.exe Start %%i:\ASuite\Start.exe

REGEDT32.EXE /S X:\Windows\system32\PE3_CUSTOM.reg

IF EXIST "X:\Program Files\Internet Explorer\ieproxy.dll" regsvr32 /s "X:\Program Files\Internet Explorer\ieproxy.dll"

start "Driver Fix PE3 - Wait ...." /wait "%SystemRoot%\System32\driver_fix.cmd

:: start "Audio Fix PE3 - Wait ...." /wait "%SystemRoot%\System32\audio_fix.cmd"

rem Pre-Default Group
for %%i in (%SystemRoot%\System32\autorun1*.cmd %SystemRoot%\System32\autorun2*.cmd) do start "%%i" /wait /min "%%i"
for %%i in (%SystemRoot%\System32\autorun3*.cmd %SystemRoot%\System32\autorun4*.cmd) do start "%%i" /wait /min "%%i"
rem Default Group
for %%i in (%SystemRoot%\System32\autorun5*.cmd %SystemRoot%\System32\autorun_*.cmd) do start "%%i" /wait /min "%%i"
rem Post-Default Group
for %%i in (%SystemRoot%\System32\autorun6*.cmd %SystemRoot%\System32\autorun7*.cmd) do start "%%i" /wait /min "%%i"
for %%i in (%SystemRoot%\System32\autorun8*.cmd %SystemRoot%\System32\autorun9*.cmd) do start "%%i" /wait /min "%%i"
rem Post Default Concurrent Group (no /wait)
for %%i in (%SystemRoot%\System32\autorun0*.cmd) do start "%%i" /min "%%i"
:_end

You can add driver_fix.cmd and modified startnet.cmd to your Make_PE3\PE3_mod\PE3_add\x86\Windows\System32 folder.

Then use Make_PE3.exe to remake and install pe3_x86.iso in grub4dos boot menu.

Then Reboot with pe3_x86 Boot Image and Enjoy auto install of network drivers.

Next version of Make_PE3 package will have driver_fix.cmd build in.

Edited by wimb
0

Share this post


Link to post
Share on other sites

What Burn-In program will you be using? I've made Passmark's BurnInTest Pro work in WinPE 2.1 if that helps.

In case anybody here is trying to do the same thing, I forgot to mention one thing; I needed to copy over "msvfw32.dll" from my workstation's Windows\System32 folder into the PE System32 folder. That's the only thing needed to get BIT Pro v6.0 working in PE3.

:w00t:

Actually, if you look at the documentation for BIT on WinPE, you will note it is only for WinPE 2.x. Also if you look on page 2 of the manual, you will see a familiar name. If you find any differences between those instructions and how things are done with WinPE 3.0 (ie not using any third party apps like Make_PE, etc) I can get Passmark to update that guide.

:whistle:

0

Share this post


Link to post
Share on other sites

(edited for length)

For some reason, I can't get drvload to perform as expected; rather than exiting out of the command window, it seems to just hang there (yes, I made sure the "EXIT" command was at the end of both startnet.cmd and driver_fix.cmd). For now I'm just using PnPUtil to install my drivers as needed. Weirdly, even though it will still install all of my second test system's chipset drivers, they won't show as being installed in Device Manager until I use PnPUtil to forceload machine.inf. Even more weirdly, installing machine.inf causes the CPU load on the first core to jump to 100% every 5-6 seconds; the CPU utilization gets so high that USB input (i.e., mouse) freezes up each time it does, making the system much more difficult to use. Still figuring out what's causing that issue, because it didn't happen on my first test system, and this second system is MUCH more powerful. Specs of each system:

System 1:

Xeon E5450A 3.0GHz Quad-Core

16GB DDR2-667 FB-DIMM RAMM

System 2:

Xeon X5570 2.93GHz Quad-Core (Hyper-Threaded to 8 cores)

24GB DDR3-1066 ECC RAM

If I figure out what's going on there, I'll let you guys know.

What Burn-In program will you be using? I've made Passmark's BurnInTest Pro work in WinPE 2.1 if that helps.

In case anybody here is trying to do the same thing, I forgot to mention one thing; I needed to copy over "msvfw32.dll" from my workstation's Windows\System32 folder into the PE System32 folder. That's the only thing needed to get BIT Pro v6.0 working in PE3.

:w00t:

Actually, if you look at the documentation for BIT on WinPE, you will note it is only for WinPE 2.x. Also if you look on page 2 of the manual, you will see a familiar name. If you find any differences between those instructions and how things are done with WinPE 3.0 (ie not using any third party apps like Make_PE, etc) I can get Passmark to update that guide.

:whistle:

Pffft...who uses only the manual as a guideline for what will work? I think most of the people in this forum are deviating pretty far from any published manuals. :P

The only thing that I can think of that won't work under WinPE (as far as I know so far, anyway) is the 3D tests. Even with msvfw32.dll copied over into the System32 directory, starting BurnInTest under PE 3.0 will pull up a prompt saying that you'll need to install DirectX 9 to run the 3D tests, and asking if you'd like to do so. The install obviously fails. If you click No, however, all of the rest of the tests are fully functional. Reading your install guide, I see that this is a known issue and the test can be invoked with a parameter to skip the DirectX check. So no, other than msvfw32.dll, no changes from your install guide (with one additional note that you CANNOT "install" BIT Pro to a USB key under an evaluation version; it has to be fully licensed. Trying to load BIT v6.0 Pro on a PXE boot with just an evaluation license yields a startup error because it can't find the key.dat file.

I just ran BurnInTest over the weekend on a system, on RAM, CPU and the locally attached storage (only about 5TB). It ran without errors for nearly 72 straight hours. This was the result:

BurnInTest results

BurnInTest Version V6.0 Pro 1020

Date 05/17/10 10:31:56

Logging level Normal

System summary

System summary

Windows 7 Ultimate Edition build 7600 (32-bit),

1 x Intel® Xeon® CPU X5570 @ 2.93GHz,

23.9GB RAM,

40GB HDD, 4843GB HDD,

General

System Name MININT-1D9HOQM

Motherboard Manufacturer Intel Corporation

Motherboard Name S5520HC

Motherboard Version E26045-453

Motherboard Serial Number QSHN01500091

BIOS Manufacturer Intel Corp.

BIOS Version INTEL - 0

BIOS Release Date 2010/02/27

CPU

CPU manufacturer GenuineIntel

CPU Type Intel® Xeon® CPU X5570 @ 2.93GHz

Codename: Gainestown

CPUID: Family 6, Model 1A, Stepping 5, Revision D0

Socket: LGA1366

Lithography: 45nm

Physical CPU's 1

Cores per CPU 4

Hyperthreading Enabled

CPU features MMX SSE SSE2 SSE3 SSSE3 SSE4.1 SSE4.2 DEP PAE Intel64 VMX

Clock frequencies

- Measured CPU speed: 2934.8 MHz

- Multiplier: x22.0

- Base Clock: 133.3 MHz

- Muliplier range: Min: x12, Max non turbo: x22

Cache per CPU package

- L1 Instruction Cache: 4 x 32 KB

- L1 Data Cache 4 x 32 KB

- L2 Cache 4 x 256 KB

- L3 Cache 8 MB

TDP Limit: 95 Watts

TDC Limit: 85 Amps

Memory

Total Physical Memory 24516MB

Available Physical Memory 23706MB

Disk volumes

C: Local drive, New Volume, NTFS, (40.00GB total, 20.28GB free)

D: Local drive, New Volume, NTFS, (4842.92GB total, 4782.82GB free)

X: Local drive, Boot, NTFS, (0.03GB total, 0.03GB free)

Disk drives

Fixed disk (Size: 40.00GB)

Fixed disk (Size: 4842.92GB)

Optical drives

Network

Ports

Result summary

Test Start time Fri May 14 17:10:19 2010

Test Stop time Mon May 17 10:31:36 2010

Test Duration 065h 21m 17s

Test Cycles Operations Result Errors Last Error

CPU 37779 1.1Quadrillion PASS 0 No errors

Memory (RAM) 1159 17.552 Trillion PASS 0 No errors

Disk (C:) 6351 5.840 Trillion PASS 0 No errors

Disk (D:) 60 6.250 Trillion PASS 0 No errors

Seeing as how these are servers I'm building and not gaming systems, I'd say I'm pretty happy with having just those pieces working. :)

Edited by duveldj
0

Share this post


Link to post
Share on other sites

Yes, it also can't test sound. I tried awhile back to get DirectX to work on WinPE for BIT to use, the thread is around here somewhere. Anyways, about the manual, is there basically no extra steps that needed to be taken to get BIT to work in WinPE 3.0 as compared to v2.x? That was my only question.

0

Share this post


Link to post
Share on other sites

Yes, it also can't test sound. I tried awhile back to get DirectX to work on WinPE for BIT to use, the thread is around here somewhere. Anyways, about the manual, is there basically no extra steps that needed to be taken to get BIT to work in WinPE 3.0 as compared to v2.x? That was my only question.

Nope, none whatsoever. Just to make sure I wasn't giving you bad information last night, I got a fresh winpe.wim out of the PE3 AIK. Mounted it with imagex, copied a LICENSED ("evaluation" option doesn't put key.dat file in install directory and causes BIT to error out on opening) portable install of BIT v6.0 over, then copied msvfw32.dll into the System32 dir. Unmounted and committed changes, exported it with imagex, then threw the resulting WinPE.wim onto my syslinux PXE server. 4 separate test systems (Intel SR1600URHS, Intel SR2600URLX, Intel S5520HCR custom system and Intel S5000PSLR custom system) brought up the full BIT GUI when running bit.exe in winpeshl. It really should be invoked with -x in any vanilla WinPE environment, as I see no need to mess around with the DirectX shenanigans. I also recommend deleting the 4 DirectX-related files from the BurnInTest directory before unmounting (dsetup.dll, dxsetup32.dll, DXSETUP.exe and dxupdate.cab) to save about 2MB on the final wim.
0

Share this post


Link to post
Share on other sites

I've recently been tasked by my company to deploy a PXE server that can boot up into a WinPE environment for us to run Burn-in cycles and remotely image systems. I've got the PXE portion working without a doubt, and I've even gotten WinPE largely functional (mainly because of the efforts of Kullenen_Ask and wimb - thank you very much to you two!). In fact, I'm using the Make_PE3 program to get the Explorer shell working, as I found I couldn't follow along with all of Kullenen_Ask's instructions for doing it manually.

The only problem at this point is that I cannot seem to get the drivers for most of the devices to load at boot. I have to run PnPUtil, and then run PENetwork to get the environment functional. If I edit my wipeshl.ini to run the WinPE Shell instead of PEShell or Explorer, it appears that it has proper networking support; I can ping other computers in my network without having to run PnPUtil to load drivers. If wipeshl.ini is set to load Explorer or PEShell, my test system's NICs (and a bunch of other devices) show up as unrecognized in Device Manager. Running PnPUtil resolves these conflicts without having to load additional drivers into the image.

Now, I know that I can just edit my wipeshl.ini to launch PnPUtil before it launches either PEShell.exe or explorer.exe, but this seems to add quite a bit of time to the bootup sequence, and regardless, I still have to run PENetwork to get the NIC to pull an IP from my DHCP server. Trying to ping anything without running PENetwork beforehand (even though the NIC drivers are installed) results in an error.

My two questions, and I would be extremely appreciative if anybody could help out since I'm at my wit's end:

1) Can I get the WinPE environment to load the PNP drivers without running PnPUtil beforehand, or is this not possible? It seems that WinPE loads most of the drivers in the Windows\inf directory, but not all of them. Running PnPUtil seems to be the only way to get the rest of the drivers to load, currently.

2) Is there any way to get networking to automatically start the way it does if I configure wipeshl.ini to load wipeshl.exe? That is, without running PENetwork? I tried adding "%SYSTEMROOT%\System32\wpeinit.exe" as a line above the line invoking PEShell.exe (as it exists by default after using wimb's Make_PE3 app to make the image) but this doesn't seem to do anything. According to Microsoft's documentation, running wpeutil.exe with the flag "InitializeNetwork" will "load networking support and PnP drivers," but that also doesn't seem to work.

Thanks!

Have you tried to just load the driver into WinPE offline so they are already integrated when you boot?

For example I have integrated all the HP drivers in their latest Proliant support pack into my PE boot image and it finds all the hardware etc without having to run a custom driver load script.

copy all your drivers to a folder like DRIVERS

each driver can be in its own subfoler

Mount the WinPE image - normal command you always use

use this command to install all the drivers into the winpe image

dism /image:Mount /add-driver /driver:Drivers /recurse /ForceUnsigned

where Mount is the actaul directory you mounted your pe image.

then do all your other normal things liek copy additional files or custom startnet.cmd

install packages etc.

save the WIM file and now all the drivers will already be in WinPE and there is no need to do the driverload scripts manually after boot

Just my 2cents

0

Share this post


Link to post
Share on other sites

snip

Have you tried to just load the driver into WinPE offline so they are already integrated when you boot?

For example I have integrated all the HP drivers in their latest Proliant support pack into my PE boot image and it finds all the hardware etc without having to run a custom driver load script.

copy all your drivers to a folder like DRIVERS

each driver can be in its own subfoler

Mount the WinPE image - normal command you always use

use this command to install all the drivers into the winpe image

dism /image:Mount /add-driver /driver:Drivers /recurse /ForceUnsigned

where Mount is the actaul directory you mounted your pe image.

then do all your other normal things liek copy additional files or custom startnet.cmd

install packages etc.

save the WIM file and now all the drivers will already be in WinPE and there is no need to do the driverload scripts manually after boot

Just my 2cents

Yup, that was the first path I took. I discovered something interesting on playing with it a little bit more though...ALL of the drivers I needed, including the 3 different brands of RAID controllers I've been testing with, were included in the original WinPE.wim from the AIK. The problem I've been having is that it's not loading the drivers on boot; I have to force them to load with PnPutil. Originally, I was just loading the entire \Windows\inf directory, but I came to discover that the only driver I needed to load to get everything seen and functional (except the add-in RAID controllers) was the machine.inf file. Everything - from system registers to the NICs - gets recognized just by loading that inf with PnPutil.

The problem I'm stuck with now is that the machine.inf file works fine on my Intel 5000 chipset-based system, but on my 5500 chipset-based system, I get a huge amount of system lag after the inf gets loaded. Everything still shows up in Device Manager, but if I look at system utilization in Task Manager, the first CPU core spikes to 100% every 5 seconds or so. The lag is so intense that the mouse stops moving for a half-second, every 5 seconds. I was digging around in the machine.inf file in Notepad to see if I could isolate the problem, but it's way over my head.

Really, the ONLY thing that I care about is getting the NICs functional on boot. I don't care about seeing the rest of the devices, I just need to be able to automatically map an iSCSI target on boot, and the NICs need to be functional before I can do that. The driver that machine.inf loads for the NICs in my 5500 chipset-based system is a *.sys file in \Windows\System32\drivers, so I'm working on a way to forceload a sys driver - not an inf.

0

Share this post


Link to post
Share on other sites

Install of all drivers is taking more time. Especially machine.inf is taking too much time.

I think there is no possibility to keep the settings e.g. use them to Update the pe3_x86.iso boot image.

The oem*.inf files correspond to the drivers present in Make_PE3\PE3_mod\WIN7_drivers\x86

In case of Wireless connection I still need PENetwork to give the authentication,

but install of the wireless driver and starting of the services can also be done with batch commands.

Start Wireless

NET START Eaphost
NET START dot3svc

drvload.exe X:\Windows\inf\netvwifimp.inf
drvload.exe X:\Windows\inf\netvwififlt.inf

netcfg.exe -c s -i ms_nativewifip

NET START Wlansvc

I'm thank you very much for your good tip !

0

Share this post


Link to post
Share on other sites

This is the last point at driver loading. I prepared this english system for a member who donate my work and my manuals. (He didn't request anything) I DIDN'T test in real system or any other pc then my computer and vmware. And i DON'T have any idea most of the part how it works. (Don't ask). All i can say i think, it thinks it is a syspreped image and loads drivers. Sorry i forgot to show taskmgr because you can see no third party program loads drivers or inf loading. I didn't do anything about creative drivers (neither registry nor back up a driver installed wim nothing) but it loads automatic and it means it can work as expected complately different system. For boot process i use always same system in my all builds. Boot process is this.

winpeshl.ini


[LaunchApps]
%windir%\system32\netstart.exe,-prompt
ReBootTrace.exe
%windir%\system32\PEShell.exe

startnet.cmd


wpeinit

PEShell.ini


[Shell Loader]
Timeout=0
Default=WinPe7

[Shells]
WinPe7 = Explorer.exe

My computer: P4 2.0Ghz, Total 1.5GB ram both for system and vwmware. 256 AGP graphic card. It is a very low system in this year. I give that for to compare driver loading time. For ethernet it loads every default services that exist in a normal windows 7 system. (You can't compare that with other winpe builders. They only load one or two service that enough for internet connectivity. This loads all default services.)

Edited by Kullenen_Ask
0

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.