WDS – BCD setting

Loading

測試環境為 Windows server 2016 x64 (虛擬機).

關於 WDS 與 DHCP 設定請參考 – https://benjr.tw/100848 ,這邊將說明關於 WDS Boot images 的 BCD 設定.

參考文章 – https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc731245(v=ws.10)

關於 BCDEdit 使用請參考 – https://benjr.tw/3599

WDS (預設 Boot 與 Install Images 檔案存放位置 c:\RemoteInstall) 設定好 Boot Image 的 BCD 設定檔在哪裡?如果你用檔案搜尋可以找到下列幾個相關目錄與檔案.

C:\RemoteInstall\Tmp\x64{AB9CB194-4157-4AFF-AB06-63E66A4A7CD4}.bcd
C:\RemoteInstall\Boot\x64\default.bcd
C:\RemoteInstall\Boot\x64\Images\boot.wim.bcd

在 C:\RemoteInstall\Boot\ 會依據 WDS 可以支援的平台區分成以下的目錄,這邊主要以 x64 目錄來說明 (WDS 的 Boot image / Architecture 可以查你匯入的平台是哪一種).

  • arm
  • ia64
  • x64
  • x64uefi
  • x86
  • x86uefi
  • x86x64

C:\RemoteInstall\Tmp\x64{AB9CB194-4157-4AFF-AB06-63E66A4A7CD4}.bcd

這個檔案就是透過 WDS PXE 安裝時所使用的 BCD 檔,不過這個檔案會依據你 WDS 改變時中間字串 {} 名稱也會跟著變動,所以我們是無法將 BCD 的設定寫在這裡.

C:\Users\Administrator>bcdedit /store C:\RemoteInstall\Tmp\x64{AB9CB194-4157-4AFF-AB06-63E66A4A7CD4}.bcd /enum all

Windows Boot Manager
--------------------
identifier              {bootmgr}
fontpath                \boot\fonts
inherit                 {dbgsettings}
displayorder            {a9a774fa-812f-450e-a177-00fb59de47e4}
                        {4b4fbd51-3dc3-4e68-8c9b-4a1fc5ad27ba}
timeout                 30

Windows Boot Loader
-------------------
identifier              {4b4fbd51-3dc3-4e68-8c9b-4a1fc5ad27ba}
device                  ramdisk=[boot]\Boot\x64\Images\boot1.wim,{00f21a60-0a19-4b94-a045-ca3ed2a983f8}
description             2.Microsoft Windows PE (x64)
osdevice                ramdisk=[boot]\Boot\x64\Images\boot1.wim,{68d9e51c-a129-4ee1-9725-2ab00a957daf}
systemroot              \WINDOWS
detecthal               Yes
winpe                   Yes

Windows Boot Loader
-------------------
identifier              {a9a774fa-812f-450e-a177-00fb59de47e4}
device                  ramdisk=[boot]\Boot\x64\Images\boot.wim,{79e6f830-06d7-476a-8c0f-199f8f943a4a}
description             Microsoft Windows PE (x64)
osdevice                ramdisk=[boot]\Boot\x64\Images\boot.wim,{68d9e51c-a129-4ee1-9725-2ab00a957daf}
systemroot              \WINDOWS
detecthal               Yes
winpe                   Yes

Debugger Settings
-----------------
identifier              {dbgsettings}
debugtype               Serial
debugport               1
baudrate                115200

Device options
--------------
identifier              {00f21a60-0a19-4b94-a045-ca3ed2a983f8}
inherit                 {68d9e51c-a129-4ee1-9725-2ab00a957daf}
ramdiskmcenabled        No
ramdiskmctftpfallback   Yes

Device options
--------------
identifier              {68d9e51c-a129-4ee1-9725-2ab00a957daf}
ramdisksdidevice        boot
ramdisksdipath          \Boot\Boot.SDI
ramdisktftpblocksize    1456
ramdisktftpwindowsize   4
ramdisktftpvarwindow    Yes

Device options
--------------
identifier              {79e6f830-06d7-476a-8c0f-199f8f943a4a}
inherit                 {68d9e51c-a129-4ee1-9725-2ab00a957daf}
ramdiskmcenabled        No
ramdiskmctftpfallback   Yes

C:\RemoteInstall\Boot\x64\default.bcd

這邊只能針對 boot manager 的部分設定,如果要針對 operating system entry (for OSLoader) 需要修改 C:\RemoteInstall\Boot\x64\Images\boot.wim.bcd 的設定.

C:\Users\Administrator>bcdedit /store C:\RemoteInstall\Boot\x64\default.bcd /enum all

Windows Boot Manager
--------------------
identifier              {bootmgr}
fontpath                \boot\fonts
inherit                 {dbgsettings}
timeout                 30

Debugger Settings
-----------------
identifier              {dbgsettings}
debugtype               Serial
debugport               1
baudrate                115200

Device options
--------------
identifier              {68d9e51c-a129-4ee1-9725-2ab00a957daf}
ramdisksdidevice        boot
ramdisksdipath          \Boot\Boot.SDI
ramdisktftpblocksize    1456
ramdisktftpwindowsize   4
ramdisktftpvarwindow    Yes

下面範例用來設定 bootmgr 開啟 bootdebug 的功能.

C:\Users\Administrator>bcdedit /store C:\RemoteInstall\Boot\x64\default.bcd /set {bootmgr} bootdebug on
The operation completed successfully.

可以直接 restart WDS 會是透過指令的方式讓 C:\RemoteInstall\Tmp\ 檔案做更新.

C:\Users\Administrator>sc control wdsserver 129

C:\RemoteInstall\Boot\x64\Images\boot.wim.bcd

這個檔案是針對 operating system entry (for OSLoader) 的部位做修改,不過這個檔案有點奇怪,他無法透過 virtual BCD Editor (圖形化介面的 BCD 編輯程式) 來查看資料.

當有多筆 operating system entry 時會有相對應的 BCD 設定檔 (如 boot.wim.bcd , boot1.wim.bcd etc…)

C:\Users\Administrator>bcdedit /store C:\RemoteInstall\Boot\x64\Images\boot.wim.bcd /enum all

Windows Boot Loader
-------------------
identifier              {a9a774fa-812f-450e-a177-00fb59de47e4}
device                  ramdisk=[boot]\Boot\x64\Images\boot.wim,{79e6f830-06d7-476a-8c0f-199f8f943a4a}
description             Microsoft Windows PE (x64)
osdevice                ramdisk=[boot]\Boot\x64\Images\boot.wim,{68d9e51c-a129-4ee1-9725-2ab00a957daf}
systemroot              \WINDOWS
detecthal               Yes
winpe                   Yes

Device options
--------------
identifier              {79e6f830-06d7-476a-8c0f-199f8f943a4a}
inherit                 {68d9e51c-a129-4ee1-9725-2ab00a957daf}
ramdiskmcenabled        No
ramdiskmctftpfallback   Yes

下面範例設定 TESTSIGNING (是否載入任何未經過數位簽章 digital signature 的驅動程序, ON – 是) ,其他可設定的 BCD 參數請參考 – https://docs.microsoft.com/en-us/windows-hardware/drivers/devtest/bcdedit–set

C:\Users\Administrator>bcdedit /store C:\RemoteInstall\Boot\x64\Images\boot.wim.bcd /set {a9a774fa-812f-450e-a177-00fb59de47e4} TESTSIGNING ON
The operation completed successfully.

可以直接 restart WDS 會是透過指令的方式讓 C:\RemoteInstall\Tmp\ 檔案做更新.

C:\Users\Administrator>sc control wdsserver 129
沒有解決問題,試試搜尋本站其他內容

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料