設定 PXE 伺服器以載入 Windows PE
適用於:
- Windows 10
此逐步解說說明如何設定 PXE 伺服器,透過從網路將用戶端電腦開機的方式來載入 Windows PE。 使用 Windows PE 工具與 Windows 10 映像檔,即可從網路安裝 Windows 10。
先決條件
- 部署計算機:已安裝 Windows 評定及部署套件 (Windows ADK) 和 Windows PE 附加元件的電腦。
- DHCP 伺服器︰必須設定 DHCP 伺服器或 DHCP Proxy 以回應 PXE 用戶端要求。
- 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,而 TFTP 根目錄是使用 \\PXE-1\TFTPRoot 的網络路徑共用:
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 以便在下一組命令中使用。 在顯示的每個命令中,以您的 GUID 取代 "GUID1"。
為 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 設定 (請記得在第三個命令中用您的 GUID 取代 GUID1):
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 伺服器已設定完成。 您可以使用命令檢視已設定的 BCD 設定 bcdedit.exe /store <BCD 檔案位置> /enum all。 請參閱以下範例。 注意:您的 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 伺服器收到的
boot\PXEboot.n12
DHCP 選項 067 開機檔名值,從 TFTP 伺服器下載。PXEboot.n12
立即開始網路開機。用戶端會
boot\bootmgr.exe
從 TFTP 伺服器下載 和boot\BCD
檔案。注意
BCD 存放區必須位於
\boot
TFTP 伺服器的 目錄中,而且必須命名為 BCD。Bootmgr.exe
會讀取 BCD 作業系統專案和下載boot\boot.sdi
,以及 Windows PE 映射 (boot\boot.wim
) 。 也可以下載的選擇性檔案包括 ()boot\Fonts\wgl4_boot.ttf
的 TrueType 字型,以及如果這些檔案存在,則會 (\hiberfil.sys
) 休眠狀態檔案。Bootmgr.exe
藉由在 Windows PE 映射內呼叫winload.exe
來啟動 Windows PE。Windows PE 會載入,命令提示字元隨即開啟,並
wpeinit.exe
執行 以初始化 Windows PE。Windows PE 用戶端可讓您存取 、
diskpart.exe
等imagex.exe
工具,以及bcdboot.exe
使用 Windows PE 命令提示字元。 在這些工具的協助下,加上 Windows 10 映像檔,可以正確地格式化目的地計算機,以載入完整的 Windows 10 操作系統。