設定 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 來源檔案

  1. 在部署計算機上,選取 [ 開始],然後輸入 部署

  2. 以滑鼠右鍵按一下 [部署與映像工具環境] ,然後選取 [以系統管理員身分執行] 。 \[部署與映像工具環境\] 捷徑會開啟命令提示字元視窗,並自動設定環境變數以指向所有必要的工具。

  3. 執行下列命令,以將基本 Windows PE 檔案複製到新資料夾。 指令碼需要兩個引數︰硬體架構與目的地位置。 <architecture> 的值可以是 x86amd64arm<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
    
  4. 使用 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

  5. 將網路共用對應到 PXE/TFTP 伺服器上的 TFTP 根目錄並建立 \Boot 資料夾。 請參閱 TFTP 伺服器文件以判斷 TFTP 伺服器上的根目錄,然後啟用此目錄的共用功能並確認可從網路上存取它。 在下列範例中,PXE 伺服器名稱為 PXE-1,而 TFTP 根目錄是使用 \\PXE-1\TFTPRoot 的網络路徑共用:

    net.exe use y: \\PXE-1\TFTPRoot
    y:
    md Boot
    
  6. 將 PXE 開機檔案從掛接的目錄複製到 \boot 資料夾。 例如:

    copy c:\winpe_amd64\mount\windows\boot\pxe\*.* y:\Boot
    
  7. 將 boot.sdi 檔案複製到 PXE/TFTP 伺服器。

    copy C:\winpe_amd64\media\boot\boot.sdi y:\Boot
    
  8. 將可開機的 Windows PE 映像 (boot.wim) 複製到 \boot 資料夾。

    copy C:\winpe_amd64\media\sources\boot.wim y:\Boot
    
  9. (選擇性) 將 TrueType 字型複製到 \boot 資料夾

    copy C:\winpe_amd64\media\Boot\Fonts y:\Boot\Fonts
    

步驟 2︰設定開機設定及複製 BCD 檔案

  1. 使用 bcdedit.exe 建立 BCD 存放區︰

    bcdedit.exe /createstore c:\BCD
    
  2. 設定 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"。

  3. 為 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
    
  4. 設定 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
    
  5. 將 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協助程式的詳細資訊,請 參閱設定路由器轉送廣播

  1. 用戶端會連絡 PXE 伺服器。 當客戶端位於與 PXE 伺服器不同的網路/子網/vlan 上時,用戶端會使用 IP 協助程式路由傳送至 PXE 伺服器。

  2. PXE 伺服器會將 DHCP 選項 060 (用戶端識別碼 PXEClient) 、066 (開機伺服器主機名) 和 067 (開機檔名) 傳送給用戶端。

  3. 用戶端會根據從 PXE 伺服器收到的 boot\PXEboot.n12 DHCP 選項 067 開機檔名值,從 TFTP 伺服器下載。

  4. PXEboot.n12 立即開始網路開機。

  5. 用戶端會 boot\bootmgr.exe 從 TFTP 伺服器下載 和 boot\BCD 檔案。

    注意

    BCD 存放區必須位於 \boot TFTP 伺服器的 目錄中,而且必須命名為 BCD。

  6. Bootmgr.exe 會讀取 BCD 作業系統專案和下載 boot\boot.sdi ,以及 Windows PE 映射 (boot\boot.wim) 。 也可以下載的選擇性檔案包括 () boot\Fonts\wgl4_boot.ttf 的 TrueType 字型,以及如果這些檔案存在,則會 (\hiberfil.sys) 休眠狀態檔案。

  7. Bootmgr.exe 藉由在 Windows PE 映射內呼叫 winload.exe 來啟動 Windows PE。

  8. Windows PE 會載入,命令提示字元隨即開啟,並 wpeinit.exe 執行 以初始化 Windows PE。

  9. Windows PE 用戶端可讓您存取 、 diskpart.exeimagex.exe工具,以及bcdboot.exe使用 Windows PE 命令提示字元。 在這些工具的協助下,加上 Windows 10 映像檔,可以正確地格式化目的地計算機,以載入完整的 Windows 10 操作系統。

Windows PE 的逐步解說