How To Test Drivers Compatibility Within Winpe

Version 15

    Verified Product Versions

    Endpoint Manager 9.6Endpoint Manager 2016.xEndpoint Manager 2017.x

    Error Message

     

    DrvLoad: Unable to load X:\InstalledDrivers\...\e1d6432.inf (Error 0x80070002)

    Issue

     

    When WinPE is attempting to load a driver, it fails.

    Cause

     

    When going through an OSD or Provisioning task, WinPE uses drvload.exe to access drivers. If drvload.exe is unable to load a driver successfully for use, different actions can fail, including making network connections which are required for performing OSD and Provisioning tasks.

    Resolution / Workaround

    • Load the drivers' .inf file onto a thumb drive and attach to the machine that is booting into WinPE.
    • Identify the thumb drives assigned drive letter
      • Open a New Console

    a-new console.png

     

      • Type diskpart then press Enter.

     

    1-diskpart.png

     

      • Type list volume then press Enter. This will display assigned drive letter.

     

    2-list volume.png

     

      • Identify the drive letter for the thumb drive.
      • Type exit and press Enter.

     

    3-exit.png

     

    • Next try mounting the driver from the thumb drive using the command: X:\Windows\System32\drvload.exe [usbDriveLetter]:\[path_to_driver]\[driver_name].inf

     

    Example: The driver in this example is located in the root of C:\

    X:\Windows\System32\drvload.exe C:\e1c6432.inf

     

    • If the driver is compatible, the console will display: DrvLoad: Successfully loaded [usbDriveLetter]:\[path_to_driver]\[driver_name].inf

     

    Example:

    DrvLoad: Successfully loaded C:\e1c6432.inf

    4-drvload.png

     

    • If the driver is not compatible, the console will display an error.

    Note: The error may vary.

     

    Example:

    DrvLoad: Unable to load c:\BadDriver.inf (Error 0xe0000100)

     

    5-baddriver.png

     

    • If manually attempting to use drvload.exe to load a driver fails, this must be corrected before OSD or Provisioning tasks can work.

     

    Initializing the network stack after installing NIC drivers

    • After loading a NIC driver successfully, you will need to initialize the network stack.

    netcfg -WinPE

    • Run IPconfig after this completes verifying an IP address has been acquired.

    netcfg -WInPE.png

     

    Possible causes of a failure

    • The test may have selected the wrong file.
    • Dependent files may be missing that are needed as a reference by the *.inf file.
      • .dll, .cab, and .sys files may be dependencies for the driver. Try adding them if available.
    • The driver file added may be corrupted. Try re-downloading and testing.
    • The driver selected may be incorrect. Try a different driver.
      • Windows Blue drivers have been seen to work in some circumstances where Windows 8.1 x86 drivers did not.