Jump to content

WinPE and Mass Storage Drivers


ShrimpBoy

Recommended Posts

Hi!

I've tried everything, nothing seems to work!

I have few controller that I need to support on my WinPE CD...

When I have a WinPE CD without mass storage drivers in it, it boots fine and

I can press F6 to specify a driver, it works fine.

I've tried to add them by copying the floppy in a folder (Intel1) in

[WinPE]:\i386\system32 and then add the folder name in the file winpeoem.sif

like this...

[OemDriverParams]

OemDriverRoot=""

OemDriverDirs=Intel1

And I didn't forget to remove the ";" in the beginning of each line...

When I boot the cd like that I got this error message...

File txtsetup.oem caused an unexpected error (18) at

line 1747 in d:\xpsprtm\base\boot\setup\oemdisk.c.

Press any key to continue.

So I redownloaded the driver and I've tried again, same error!

I also have tried to add the driver using drvinst.exe

I got no error from drvinst.exe...

I boot the cd correctly, but no disk is found!

How can I add those drivers to my WinPE if those methods doesn't work?

I have about 10 controller driver to add...

How can I do it to be sure it will work.

Please help me I don't want to have 10 floppies to boot every computer...

Thanks a lot!

ShrimpyOne

Link to comment
Share on other sites


first yoy cant use drvinst to install mass storage drivers that you need to boot. Drvinst only installs the driver as a pnp driver that pe will install during pnp detection and that happends way after the primary disk controller has been loaded.

usually I edit txtsetup.sif directly to add massstorage adapters. Metzen has a good post on how to do this on http://www.911cd.net/forums//index.php?showtopic=534&st=40

Link to comment
Share on other sites

There are several ways to add Mass Controller drivers into PE. But you have to follow the rules. This is the method I use.

If the OS you are comiling PE from already has a version (older) of the controller driver you will need to overwrite the files for that driver with the newer files and ADD THE PNP strings to the TEXTSETUP.SIF file.

The driver will load but unless you add the PNP strings... It will never see the newer controller.

A perfect example is the HP Smart Arrary 6400 series controller. The new driver is backwards compatable. Just overwriting the driver files will allow the driver to see and load for 5300 series controllers.. but not for a 6400 series untill you add the PNP strings in the TEXTSETUP.SIF file.

If the driver does not exist at all... (like the IBM Serve Raid Driver or the VMWARE Mass controller driver) you copy the drivers (from the F6 floppy disk) into a folder in your WinPE directory structure and add the references to those folders in the winpeoem.sif file.

Example:

Copy drivers to:

<CD ROOT>\I386\System32\Drivers\ADDITIONAL_OEM\VMWARE_SCSI

<CD ROOT>\I386\System32\Drivers\ADDITIONAL_OEM\IBM_SERVERAID

add entries to winpeoem.sif

[OemDriverParams]

OemDriverRoot="drivers\additional_oem"

OemDriverDirs=IBM_SERVERAID, VMWARE_SCSI

Hope this helps.

Chris

Link to comment
Share on other sites

Hi!

Mats: I tried to way specified in metzen post... doesn't work! and I didn't found the dosnet.inf file so I have copied the sys file in drivers folder (in system32), the inf files in inf folder... it doesn't work...

ChrisBaksa: Do you tell me to combien the 2 methods??? Add driver folder with winpeoem.sif and add the id in the txtsetup.sif???

Thanks for your help, I continue to search....

ShrimpyOne

Link to comment
Share on other sites

Hi!

I think I've done it...

Some informations were missing... here is what I did...

To Add a mass storage driver, you need 4 informations...

1-PCI ID String

2-INF file name

3-SYS file name

4-Device driver description quoted

Copy INF files in [WinPE CD]:\i386\inf

Copy SYS files in [WinPE CD]:\i386\system32\drivers

Copy the remaining files in [WinPE CD]:\i386\system32

Once you did that...

Open the file [WinPE CD]:\i386\txtsetup.sif

Locate the section named "HardwareIdsDatabase"

Add each PCI ID like this...

[PCI ID String] = [sYS File name (Without .sys)]

Then locate the section named "SCSI.Load"

Add each INF File name without .inf like this...

[sYS File name (Without .sys)] = [sYS File name],4

the ",4" means that the file is in [WinPE CD]:\i386\system32\drivers

Then locate the section named "SCSI"

Add each INF File name without .inf like this...

[sYS File name (Without .sys)] = [Device driver description quoted]

And it worked as well as I needed...

Thanks to all of you that helped me on that problem...

ShrimpyOne

Edited by ShrimpBoy
Link to comment
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.
×
×
  • Create New...