WinPE Network Drivers: Initializing and adding drivers

Applies To: Windows 8, Windows 8.1, Windows Server 2012, Windows Server 2012 R2

The Wpeutil command initializes the Windows PE (WinPE) network drivers as soon as WinPE boots. The default WinPE image includes support for many popular network adapters, and supports many of the same networking commands as in Windows.Windows PE includes a basic set of network drivers for many popular network adapters, and supports many of the same networking commands as in Windows.

The supported methods of connecting to file servers are TCP/IP and NetBIOS over TCP/IP. Windows PE doesn't support other methods, like the Internetwork Packet Exchange/Sequenced Packet Exchange (IPX/SPX) network protocol.

Windows PE supports Distributed File System (DFS) name resolution for stand-alone namespaces only. It doesn't support domain namespaces. Stand-alone DFS namespaces allow for a DFS namespace that exists only on the local PC and therefore doesn't use Active Directory® Domain Services (AD DS).

Connecting to an IPv4 network from Windows PE on an IPv6 network is not supported.

To connect to another PC or shared folder on a network

  • While in Windows PE, you can connect (or map) to a shared network folder by using the net use command. If you’re connecting to a domain-joined PC, Windows PE prompts for a username and password.

    net use n: \\server\share
    
  • You can also host Windows PE from a network by using Preboot Execution Environment (PXE), which is part of Windows Deployment Services.

Troubleshooting networking problems

  1. Try adding a driver for your network device.

    We recommend adding the driver to the Windows PE image, especially for any driver that requires a reboot during the installation process.

    You may also be able to use the drvload command to load some drivers while Windows PE is running. However, any updates made to the registry during the installation process will not persist after a reboot, even when Windows PE is running in a flat boot environment.

  2. Run wpeinit to initialize the network. By default, wpeinit runs when Windows PE starts.

  3. In some cases, you may need to configure firewall settings on the PC that you are trying to connect to. Windows PE supports IPSec configuration.

  4. Note, you cannot join Windows PE to a domain, or run Windows PE as a server. For more information, see WinPE for Windows 8: Windows PE 5.0.

To connect to a wired network using 802.1x authentication protocols

  1. Create a custom Windows PE image that includes the WinPE-Dot3Svc optional component. For info on creating a custom image, see Customize Windows PE: Add drivers, packages, and more.

  2. Boot a PC to Windows PE.

  3. Start the dot3svc service.

    net start dot3svc
    
  4. Add a LAN profile. For example:

    netsh lan add profile="G:\EthernetLANProfile.xml"
    

    Sample LAN Profile:

    <?xml version="1.0"?>
    <!-- Sample LAN profile: EthernetLANProfile.xml" -->
    <LANProfile xmlns="https://www.microsoft.com/networking/LAN/profile/v1">
      <MSM>
        <security>
          <OneXEnforced>false</OneXEnforced>
          <OneXEnabled>true</OneXEnabled>
          <OneX xmlns="https://www.microsoft.com/networking/OneX/v1">
            <cacheUserData>true</cacheUserData>
            <authMode>user</authMode>
            <EAPConfig><EapHostConfig 
              xmlns="https://www.microsoft.com/provisioning/EapHostConfig"><EapMethod><Type 
              xmlns="https://www.microsoft.com/provisioning/EapCommon">25</Type><VendorId 
              xmlns="https://www.microsoft.com/provisioning/EapCommon">0</VendorId><VendorType 
              xmlns="https://www.microsoft.com/provisioning/EapCommon">0</VendorType><AuthorId 
              xmlns="https://www.microsoft.com/provisioning/EapCommon">0</AuthorId></EapMethod><Config 
              xmlns="https://www.microsoft.com/provisioning/EapHostConfig"><Eap 
              xmlns="https://www.microsoft.com/provisioning/BaseEapConnectionPropertiesV1">
            <Type>25</Type><EapType 
              xmlns="https://www.microsoft.com/provisioning/MsPeapConnectionPropertiesV1">
            <ServerValidation>
              <DisableUserPromptForServerValidation>false</DisableUserPromptForServerValidation>
              <ServerNames></ServerNames>
              <TrustedRootCA>1a 2b 3c 4d 56 78 90 aa bb cc dd ee ff 1a 2b 3c 4d 5e 6f</TrustedRootCA>
              </ServerValidation><FastReconnect>true</FastReconnect>
              <InnerEapOptional>false</InnerEapOptional><Eap 
                xmlns="https://www.microsoft.com/provisioning/BaseEapConnectionPropertiesV1">
              <Type>26</Type><EapType 
                xmlns="https://www.microsoft.com/provisioning/MsChapV2ConnectionPropertiesV1">
              <UseWinLogonCredentials>false</UseWinLogonCredentials></EapType></Eap>
              <EnableQuarantineChecks>false</EnableQuarantineChecks>
              <RequireCryptoBinding>false</RequireCryptoBinding><PeapExtensions>
              <PerformServerValidation 
                xmlns="https://www.microsoft.com/provisioning/MsPeapConnectionPropertiesV2">false
              </PerformServerValidation><AcceptServerName 
                xmlns="https://www.microsoft.com/provisioning/MsPeapConnectionPropertiesV2">false
                </AcceptServerName><PeapExtensionsV2 
                xmlns="https://www.microsoft.com/provisioning/MsPeapConnectionPropertiesV2">
              <AllowPromptingWhenServerCANotFound 
                xmlns="https://www.microsoft.com/provisioning/MsPeapConnectionPropertiesV3">true
              </AllowPromptingWhenServerCANotFound></PeapExtensionsV2></PeapExtensions></EapType>
            </Eap></Config></EapHostConfig></EAPConfig>
          </OneX>
        </security>
      </MSM>
    </LANProfile>
    
  5. Link the EAP User Data with the profile. For example:

    netsh lan set eapuserdata filename="g:\EAP_UserData.xml" alluser=yes Interface="ethernet"
    

    Sample EAP User Data file:

    <?xml version="1.0"?>
    <!-- Sample EAP user data: EAP_UserData.xml" -->
    <EapHostUserCredentials 
      xmlns="https://www.microsoft.com/provisioning/EapHostUserCredentials" 
      xmlns:eapCommon="https://www.microsoft.com/provisioning/EapCommon" 
      xmlns:baseEap="https://www.microsoft.com/provisioning/BaseEapMethodUserCredentials">
      <EapMethod>
        <eapCommon:Type>25</eapCommon:Type>
        <eapCommon:AuthorId>0</eapCommon:AuthorId>
      </EapMethod>
      <Credentials>
        xmlns:eapUser="https://www.microsoft.com/provisioning/EapUserPropertiesV1" 
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
        xmlns:baseEap="https://www.microsoft.com/provisioning/BaseEapUserPropertiesV1" 
        xmlns:MsPeap="https://www.microsoft.com/provisioning/MsPeapUserPropertiesV1" 
        xmlns:MsChapV2="https://www.microsoft.com/provisioning/MsChapV2UserPropertiesV1">
        <baseEap:Eap>
          <baseEap:Type>25</baseEap:Type>
          <MsPeap:EapType>
            <MsPeap:RoutingIdentity>onex\administrator</MsPeap:RoutingIdentity>
            <baseEap:Eap>
              <baseEap:Type>26</baseEap:Type>
              <MsChapV2:EapType>
                <MsChapV2:Username>actualuser</MsChapV2:Username>
                <MsChapV2:Password>actualpassword</MsChapV2:Password>
                <MsChapV2:LogonDomain>actualdomain</MsChapV2:LogonDomain>
              </MsChapV2:EapType>
            </baseEap:Eap>
          </MsPeap:EapType>
        </baseEap:Eap>
      </Credentials>
    </EapHostUserCredentials>
    
  6. For more info, see How to enable computer-only authentication for an 802.1X-based network in Windows Vista, in Windows Server 2008, and in Windows XP Service Pack 3.

See Also

Tasks

WinPE: Mount and Customize

Reference

Wpeinit and Startnet.cmd: Using WinPE startup scripts
Drvload Command-Line Options

Other Resources

WinPE for Windows 8: Windows PE 5.0