WinPE – Mass Storage Drivers – Using winpeoem.sif method
One method of integrating drivers or mass storage drivers into Windows PE involves using the winpeoem.sif file which is located in the \system32 directory. This will not work with every driver, however, i would recommend trying this method first, since it’s one of the easiest methods to do. If this method doesn’t work, then you may need to modify the txtsetup.sif file.
Here is a picture of the default winpeoem.sif file:
First we will want to create the necessary folder structure for the driver. In this example lets use the VMware SCSI driver.
I’m going to store my drivers under \system32\drivers\VMware_SCSI
So I need to create that folder and then copy my driver files into that folder:
No I also need to look at the txtsetup.oem and see how they want the folder structured.
If you open the txtsetup.oem for the driver you need, you will want to look at the [Disks] section and see what folder it’s expecting to find the driver in.
In this case, denoted by the “\” at the end, it’s expecting all the driver files in the root of the folder. So in this case our “Vmware_SCSI” folder will work just fine.
So we have our files in the correct place, so now we need to somehow let WinPE know that there are some new drivers it can use. We need to modify the winpeoem.sif file.
In the bottom of the file you will find a [OemDriverParams] section.
We need to uncomment this section and add new directory here. The default for the “OemDriverRoot” is “” which means \system32. To keep it cleaner, i created my directory under \system32\drivers, so i need to modify that value to tell it that the “root” directory is now \system32\drivers instead of \system32.
Next we need to modify OemDriverDirs to identify the VMware_SCSI directory we created.
Now, if all goes well, we should have support for the driver we have just integrated, in this case the VMware SCSI driver.
Also here is the explanation of the sections provided by the winpe.chm