WinPE 网络驱动程序:初始化和添加驱动程序

Wpeutil 命令会在 WinPE 启动时立即初始化 Windows PE (WinPE) 网络驱动程序。 默认的 WinPE 映像包含对许多常用网络适配器的支持,并且支持许多与 Windows 中相同的网络命令。 Windows PE 包含一套基本的适用于许多常用网络适配器的网络驱动程序,并且支持许多与 Windows 中相同的网络命令。

WinPE 中的网络具有以下限制:

  • 对于连接到文件服务器,支持的方法是 TCP/IP 和通过 TCP/IP 的 NetBIOS。 网间数据包交换/顺序数据包交换 (IPX/SPX) 网络协议等其他方法不受支持。
  • 分布式文件系统 (DFS) 名称解析只支持独立命名空间。 它不支持域命名空间。 独立 DFS 命名空间允许仅存在于本地 PC 上的 DFS 命名空间,因此,不使用 Active Directory 域服务 (AD DS)。
  • 在 WinPE 中不支持常规无线网络功能。
  • 不支持从 IPv6 网络上的 Windows PE 连接到 IPv4 网络。
  • 从 WinPE for Windows 10 版本 1709 开始,默认禁用 SMB1 协议。 可以通过运行 dism.exe /enable-feature /featurename=SMB1Protocol-client 来启用 SMB1 支持。

连接到网络上的另一个 PC 或共享文件夹

  1. 在 Windows PE 中时,可以通过使用 net use 命令连接(或映射)到共享网络文件夹。 如果要连接到已加入域的 PC,Windows PE 会提示输入用户名和密码。

    net use n: \\server\share
    
  2. 还可以通过使用属于 Windows 部署服务的预启动执行环境 (PXE) 从网络承载 Windows PE。

排查网络问题

  1. 尝试为网络设备添加驱动程序。

    建议使用 WinPE:装载和自定义,尤其是对于任何在安装过程中要求重启的驱动程序。

    在 Windows PE 正在运行时,也可以使用 Drvload 命令行选项来加载某些驱动程序。 但是,在安装过程中对注册表进行的任何更新在重启后不会保留,即使 Windows PE 在 WinPE:在硬盘驱动器(平面引导磁盘或非 RAM)上安装中运行也是如此。

  2. 运行 Wpeinit 和 Startnet.cmd:使用 WinPE 启动脚本来初始化网络。 在默认情况下,wpeinit 在 Windows PE 启动时运行。

  3. 在有些情况下,可能需要在尝试连接到的 PC 上配置防火墙设置。 Windows PE 支持 IPSec 配置

  4. 注意,不能将 Windows PE 加入到域,也不能将 Windows PE 作为服务器运行。 有关详细信息,请参阅 WinPE for Windows 10

使用 802.1x 身份验证协议连接到有线网络

  1. 创建包含 WinPE-Dot3Svc 可选组件的自定义 Windows PE 映像。

  2. 将 PC 启动到 Windows PE。

  3. 启动 dot3svc 服务。

    net start dot3svc
    
  4. 添加 LAN 配置文件。 例如:

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

    示例 LAN 配置文件:

    <?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. 将 EAP 用户数据与配置文件链接。 例如:

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

    示例 EAP 用户数据文件:

    <?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. 有关详细信息,请参阅如何在 Windows Vista、Windows Server 2008 和 Windows XP Service Pack 3 中为基于 802.1X 的网络启用仅计算机身份验证

适用于 Windows 10 的 WinPE

WinPE:装载并自定义

Wpeinit 和 Startnet.cmd:使用 WinPE 启动脚本

Drvload 命令行选项