將 PXE 伺服器設定為載入 WindowsPE

適用對象

  • Windows10

摘要

此逐步解說說明如何將 PXE 伺服器設定為從網路啟動用戶端電腦來載入 WindowsPE。 使用 Windows PE 工具與 Windows10 映像檔,即可從網路安裝 Windows10。

先決條件

  • 部署電腦:已安裝Windows 評估與部署套件(WindowsADK)的電腦。
  • DHCP 伺服器︰必須設定 DHCP 伺服器或 DHCP Proxy 以回應 PXE 用戶端要求。
  • PXE 伺服器︰執行 TFTP 服務的伺服器,它可以裝載用戶端將下載的 Windows PE 開機檔案。
  • 檔案伺服器︰裝載網路檔案共用的伺服器。

所有以上指定的四個角色都可以裝載在相同的電腦上,或者也可以將每一個角色分別裝載在個別電腦上。

步驟 1︰複製 Windows PE 來源檔案

  1. 在部署電腦上,按一下 [開始],然後輸入部署

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

  3. 執行下列命令,將基 WindowsPE 檔案複製到新的資料夾中。 指令碼需要兩個引數︰硬體架構與目的地位置。 ** <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 工具,將基本 WindowsPE 映射(winpe)裝載至 \mount 目錄。 掛接映像檔會將檔案內容解壓縮到資料夾,讓您直接或使用工具 (如 DISM) 進行變更。 請參閱下列範例。

    Dism /mount-image /imagefile:c:\winpe_amd64\media\sources\boot.wim /index:1 /mountdir:C:\winpe_amd64\mount
    

    確認已顯示「已順利完成作業」。 注意:若要檢視目前掛接的映像,請輸入 dism /get-MountedWiminfo

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

    net 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. 將可引導 WindowsPE 映射(boot.ini)複製到 [\boot] 資料夾。

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

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

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

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

    bcdedit /createstore c:\BCD
    
  2. 設定 RAMDISK 設定︰

    bcdedit /store c:\BCD /create {ramdiskoptions} /d "Ramdisk options"
    bcdedit /store c:\BCD /set {ramdiskoptions} ramdisksdidevice boot
    bcdedit /store c:\BCD /set {ramdiskoptions} ramdisksdipath \Boot\boot.sdi
    bcdedit /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. 為 WindowsPE 影像建立新的啟動應用程式專案:

    bcdedit /store c:\BCD /set {GUID1} device ramdisk=[boot]\Boot\boot.wim,{ramdiskoptions} 
    bcdedit /store c:\BCD /set {GUID1} path \windows\system32\winload.exe 
    bcdedit /store c:\BCD /set {GUID1} osdevice ramdisk=[boot]\Boot\boot.wim,{ramdiskoptions} 
    bcdedit /store c:\BCD /set {GUID1} systemroot \windows
    bcdedit /store c:\BCD /set {GUID1} detecthal Yes
    bcdedit /store c:\BCD /set {GUID1} winpe Yes
    
  4. 設定 BOOTMGR 設定 (請記得在第三個命令中用您的 GUID 取代 GUID1):

    bcdedit /store c:\BCD /create {bootmgr} /d "boot manager"
    bcdedit /store c:\BCD /set {bootmgr} timeout 30 
    bcdedit /store c:\BCD -displayorder {GUID1} -addlast
    
  5. 將 BCD 檔案複製到 TFTP 伺服器︰

    copy c:\BCD \\PXE-1\TFTPRoot\Boot\BCD
    

現在您的 PXE/TFTP 伺服器已設定完成。 您可以使用命令 bcdedit /store <BCD 檔案位置> /enum all 來檢視已設定好的 BCD 設定。 請參閱以下範例。 注意:您的 GUID 會與下面顯示的 GUID 不同。

C:\>bcdedit /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 用戶端開機程序。

以下假設您已經將 DHCP 選項 67 (開機檔名稱) 設定為 "boot\PXEboot.n12",它可以將電腦直接開機至 PXE,無需使用者操作。 如需網路開機的 DHCP 選項詳細資訊,請參閱管理網路開機程式

  1. 用戶端收到 DHCP 選項 066 與 067 的指示要從 TFTP 伺服器下載 boot\PXEboot.n12。
  2. PXEboot.n12 會立即開始網路開機。
  3. 用戶端會從 TFTP 伺服器下載 boot\bootmgr.exe 與 boot\BCD 檔案。 注意:BCD 存放區必須位於 TFTP 伺服器上的 \boot 目錄內,而且必須命名為 BCD。
  4. Bootmgr 會讀取 BCD 作業系統專案,並下載 boot\boot.sdi 和 WindowsPE 影像(boot\boot.wim)。 另外也可下載的選擇性檔案包括 True Type 字型 (boot\Fonts\wgl4_boot.ttf) 與休眠狀態檔案 (\hiberfil.sys) (如果有這些檔案的話)。
  5. Bootmgr .exe 會在 WindowsPE 影像中呼叫 winload,以啟動 WindowsPE。
  6. 隨即會載入 Windows PE、開啟命令提示字元視窗並執行 wpeinit.exe 來初始化 Windows PE。
  7. 在 Windows PE 用戶端上,您可以使用 Windows PE 命令提示字元來存取 imagex、diskpart 與 bcdboot 等工具。 透過將這些工具與 Windows10 映像檔搭配使用,目的電腦可以適當地格式化以載入完整的 Windows10 作業系統。

另請參閱

概念

Windows PE 的逐步解說