适用于:
- Windows 10
此演练介绍了如何通过从网络启动客户端计算机,将 PXE 服务器配置为加载 Windows PE。 使用 Windows PE 工具和 Windows 10 映像文件,可从网络安装 Windows 10。
先决条件
- 部署计算机:具有 Windows 评估和部署工具包 (Windows ADK) 和安装了 ADK 的 Windows PE 加载项的计算机。
- DHCP 服务器:配置为需要对 PXE 客户端请求进行响应的 DHCP 服务器或 DHCP 代理。
- PXE 服务器:运行 TFTP 服务的服务器,可托管客户端将下载的 Windows PE 启动文件。
- 文件服务器:托管网络文件共享的服务器。
上面指定的所有四个角色均可托管在相同计算机上,也可分别托管在单独计算机上。
步骤 1:复制 Windows PE 源文件
在部署计算机上,选择“ 开始”,然后键入 “部署”。
右键单击部署和映像工具环境,然后选择以管理员身份运行。 “部署和映像工具环境”快捷方式可打开“命令提示符”窗口,并自动将环境变量设置为指向所有必需的工具。
运行以下命令,将基本 Windows PE 文件复制到新文件夹。 脚本需要两个参数:硬件体系结构和目标位置。 值 <architecture> 可以是 x86、amd64 或 arm,<destination> 为本地目录的路径。 如果该目录尚不存在,则会创建该目录。
copype.cmd <architecture> <destination>例如,以下命令将 amd64 体系结构文件复制到 C:\winpe_amd64 目录:
copype.cmd amd64 C:\winpe_amd64该脚本创建目标目录结构并为该体系结构复制所有必需的文件。 在上一示例中,创建以下目录:
C:\winpe_amd64 C:\winpe_amd64\fwfiles C:\winpe_amd64\media C:\winpe_amd64\mount使用 DISM 工具将基本 Windows PE 映像 (winpe.wim) 装载到 \mount 目录。 装载映像文件将文件内容解包到一个文件夹,以便你可直接更改,或者使用 DISM 等工具进行更改。 请参阅以下示例。
dism.exe /mount-image /imagefile:c:\winpe_amd64\media\sources\boot.wim /index:1 /mountdir:C:\winpe_amd64\mount验证是否显示消息 “作已成功完成 ”。
注意
若要查看当前装载的映像,请输入
dism.exe /get-MountedWiminfo。将网络共享映射到 PXE/TFTP 服务器上的根 TFTP 目录,并创建 \Boot 文件夹。 查看你的 TFTP 服务器文档,确定根 TFTP 服务器目录,然后启用共享此目录,以便验证是否可在网络上访问它。 在以下示例中,PXE 服务器名称为 PXE-1,使用 网络路径 \\PXE-1\TFTPRoot 共享 TFTP 根目录:
net.exe use y: \\PXE-1\TFTPRoot y: md Boot将 PXE 启动文件从已装载目录复制到 \boot 文件夹。 例如:
copy c:\winpe_amd64\mount\windows\boot\pxe\*.* y:\Boot将 boot.sdi 文件复制到 PXE/TFTP 服务器。
copy C:\winpe_amd64\media\boot\boot.sdi y:\Boot将可启动 Windows PE 映像 (boot.wim) 复制到 \boot 文件夹。
copy C:\winpe_amd64\media\sources\boot.wim y:\Boot(可选) 将 TrueType 字体复制到 \boot 文件夹
copy C:\winpe_amd64\media\Boot\Fonts y:\Boot\Fonts
步骤 2:配置启动设置和复制 BCD 文件
使用 bcdedit.exe 创建 BCD 存储:
bcdedit.exe /createstore c:\BCD配置 RAMDISK 设置:
bcdedit.exe /store c:\BCD /create {ramdiskoptions} /d "Ramdisk options" bcdedit.exe /store c:\BCD /set {ramdiskoptions} ramdisksdidevice boot bcdedit.exe /store c:\BCD /set {ramdiskoptions} ramdisksdipath \Boot\boot.sdi bcdedit.exe /store c:\BCD /create /d "winpe boot image" /application osloader最后一个命令将返回 GUID,例如:
The entry {a4f89c62-2142-11e6-80b6-00155da04110} was successfully created.复制此 GUID 用于下一组命令。 在显示的每个命令中,将“GUID1”替换为你的 GUID。
为 Windows PE 映像创建一个新的启动应用程序条目:
bcdedit.exe /store c:\BCD /set {GUID1} device ramdisk=[boot]\Boot\boot.wim,{ramdiskoptions} bcdedit.exe /store c:\BCD /set {GUID1} path \windows\system32\winload.exe bcdedit.exe /store c:\BCD /set {GUID1} osdevice ramdisk=[boot]\Boot\boot.wim,{ramdiskoptions} bcdedit.exe /store c:\BCD /set {GUID1} systemroot \windows bcdedit.exe /store c:\BCD /set {GUID1} detecthal Yes bcdedit.exe /store c:\BCD /set {GUID1} winpe Yes配置 BOOTMGR 设置(请记住,将第三个命令中的 GUID1 替换为你的 GUID):
bcdedit.exe /store c:\BCD /create {bootmgr} /d "boot manager" bcdedit.exe /store c:\BCD /set {bootmgr} timeout 30 bcdedit.exe /store c:\BCD -displayorder {GUID1} -addlast将 BCD 文件复制到 TFTP 服务器:
copy c:\BCD \\PXE-1\TFTPRoot\Boot\BCD
PXE/TFTP 服务器现已配置。 可以使用 /store <BCD 文件位置> /enum all bcdedit.exe 命令查看已配置的 BCD 设置。 请参见以下示例。 注意:你的 GUID 将不同于如下所示的 GUID。
C:\>bcdedit.exe /store C:\BCD /enum all
Windows Boot Manager
--------------------
identifier {bootmgr}
description boot manager
displayorder {a4f89c62-2142-11e6-80b6-00155da04110}
timeout 30
Windows Boot Loader
-------------------
identifier {a4f89c62-2142-11e6-80b6-00155da04110}
device ramdisk=[boot]\Boot\boot.wim,{ramdiskoptions}
description winpe boot image
osdevice ramdisk=[boot]\Boot\boot.wim,{ramdiskoptions}
systemroot \Windows
detecthal Yes
winpe Yes
Setup Ramdisk Options
---------------------
identifier {ramdiskoptions}
description ramdisk options
ramdisksdidevice boot
ramdisksdipath \Boot\boot.sdi
提示
如果启动 PXE 启动过程,但收到错误 :电脑的启动配置数据缺失或包含错误,请验证 \boot 是否已在正确的 TFTP 服务器根目录下安装目录。 在此处使用的示例中,目录的名称为 TFTPRoot,但你的 TFTP 服务器可能有所不同。
PXE 启动过程摘要
以下过程汇总了 PXE 客户端启动。
注意
以下假设客户端和 PXE 服务器位于同一网络/子网/vlan 上,或者 PXE 请求已使用路由器或交换机中配置的 IP 帮助程序从客户端适当转发到 PXE 服务器。 有关 IP 帮助程序的详细信息,请参阅 配置路由器以转发广播。
客户端联系 PXE 服务器。 当客户端与 PXE 服务器位于不同的网络/子网/vlan 上时,将使用 IP 帮助程序将客户端路由到 PXE 服务器。
PXE 服务器将 DHCP 选项 060 (客户端标识符 PXEClient) 、066 (启动服务器主机名) 和 067 (启动文件名) 发送到客户端。
客户端基于从 PXE 服务器收到的 DHCP 选项 067 启动文件名值从 TFTP 服务器下载
boot\PXEboot.n12。PXEboot.n12立即开始网络启动。客户端从 TFTP 服务器下载
boot\bootmgr.exe和boot\BCD文件。注意
BCD 存储必须位于
\bootTFTP 服务器上的目录中,并且必须命名为 BCD。Bootmgr.exe读取 BCD作系统条目和下载boot\boot.sdi内容以及 Windows PE 映像 (boot\boot.wim) 。 还可以下载的可选文件包括 TrueType 字体 ()boot\Fonts\wgl4_boot.ttf和休眠状态文件 (\hiberfil.sys) (如果存在这些文件)。Bootmgr.exe通过在 Windows PE 映像中调用winload.exe来启动 Windows PE。Windows PE 会加载,此时会打开命令提示符并
wpeinit.exe运行以初始化 Windows PE。Windows PE 客户端使用 Windows PE 命令提示符提供对 、
diskpart.exe等bcdboot.exe工具imagex.exe的访问。 借助这些工具以及Windows 10映像文件,可以正确设置目标计算机的格式,以加载完整的Windows 10作系统。