WinPE Network Drivers: Initializing and adding drivers
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.
Networking in WinPE has the following limitations:
- The supported methods of connecting to file servers are TCP/IP and NetBIOS over TCP/IP. Other methods, like the Internetwork Packet Exchange/Sequenced Packet Exchange (IPX/SPX) network protocol are not supported.
- Distributed File System (DFS) name resolution is supported 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).
- General wireless networking functionality is not supported in WinPE.
- Connecting to an IPv4 network from Windows PE on an IPv6 network is not supported.
- Starting with WinPE for Windows 10, version 1709, SMB1 protocol is disabled by default. You can enable SMB1 support by running
dism.exe /enable-feature /featurename=SMB1Protocol-client
.
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
Try adding a driver for your network device.
We recommend WinPE: Mount and Customize, especially for any driver that requires a reboot during the installation process.
You may also be able to use the Drvload Command-Line Options 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 WinPE: Install on a Hard Drive (Flat Boot or Non-RAM).
Run Wpeinit and Startnet.cmd: Using WinPE Startup Scripts to initialize the network. By default, wpeinit runs when Windows PE starts.
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.
Note, you cannot join Windows PE to a domain, or run Windows PE as a server. For more information, see WinPE for Windows 10.
To connect to a wired network using 802.1x authentication protocols
Create a custom Windows PE image that includes the WinPE-Dot3Svc optional component.
Boot a PC to Windows PE.
Start the dot3svc service.
net start dot3svc
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>
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>
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.