Linux

PXE 從 Linux 啟動 windows PE

  • July 13, 2021

我正在嘗試讓 Windows 預安裝環境從 Linux 伺服器通過 PXE 引導。最終目標是安裝 Windows,但是一旦我可以啟動 WinPE(我已經獲得了與 Windows 作業系統磁碟等的 samba 共享),這將非常容易。我正在使用 ESXi 並嘗試讓虛擬機通過 PXE 引導 winPE,但也可以訪問物理機進行測試。我按照一些教程的步驟(主要是http://www.tecmint.com/configure-pxe-server-to-install-windows-on-centos/),我到達了一個有趣的地方:

如果我嘗試在 VM 或物理機上進行 PXE 引導 winPE,則會收到錯誤消息:

CDBOOT: Cannot boot from CD - Code 5

但是,如果我在 VM 的磁碟驅動器上安裝 winpe iso,它工作正常(我到達 winpe 並可以安裝 windows)。根據我所讀到的“無法從 CD 啟動 - 程式碼 5”錯誤,它最常與 BIOS 韌體/硬體不兼容有關,但如果安裝時,iso 也不應該工作。

在我的 ./pxelinux.cfg/default 我有:

MENU LABEL Windows 7
LINUX memdisk
INITRD windows/winpe_amd64.iso
APPEND iso raw

我已經嘗試過添加和不添加 raw 的結果相同。我已經將 memdisk 二進製文件複製到了 tftproot。在 PXE 引導時似乎找到了 iso,因為 iso 正在以某種容量讀取,ISO 位於 windows/winpe_amd64.iso 的 tftproot 內。

任何人都知道為什麼 PXE 引導與在驅動器上安裝 ISO 的行為不同,以及關於如何解決引導 iso 問題的任何想法?

我遇到的問題是錯誤的 FTP-get 導致的,這導致 WinPE ISO 我必須像錯誤所說的那樣真正無法啟動(測試嘗試在 VM 中啟動 CD)。留下問題以防有人發現它有用。

當您在 VM 上“掛載”winpe_amd64.iso 並從中啟動時,ISO 會看到自己從 CD/DVD 驅動器(無論是真實的還是虛擬的)啟動。當您從 memdisk 啟動 winpe_amd64.iso 時,ISO 會看到一個“模擬”(由 memdisk 創建)磁碟環境。

APPEND iso raw

某些 Windows ISO 在某些 PC 上需要“原始”選項。

可以使用 MEMDISK 從某些 CD/DVD 映像映射和引導。支持無仿真、磁片仿真和硬碟仿真 ISO。

“映射”過程是使用 INT 13h 實現的 - 任何磁碟仿真都可以從使用兼容模式磁碟訪問的作業系統訪問,例如 DOS 和 Windows 9x。但是,一旦保護模式核心驅動程序獲得控制權,就無法從使用保護模式驅動程序(Windows NT/2000/XP/2003/Vista/2008/7、Linux、FreeBSD)的作業系統訪問通過 INT 13h 的仿真。如果作業系統包含用於訪問這個映射的 ISO 的驅動程序,或者知道如何在磁碟上找到 ISO,那麼當然沒有啟動問題。

INT 13h 訪問:並非所有映像都會完成啟動過程!

Windows NT/2000/XP/2003/Vista/2008/7(基於 NT)

這些 Windows 版本僅在啟動過程開始時使用 INT 13h 訪問(僅載入必要的驅動程序)。一旦保護模式驅動程序可以訪問磁碟,Windows 就無法看到由 MEMDISK 創建的記憶體映射驅動器(CD/DVD、硬碟和磁片映像),並且無法完成啟動過程

來源: http ://www.syslinux.org/wiki/index.php/MEMDISK

底線:memdisk 是最後的資源替代品。相當不可靠。躲開它。

在您的情況下,我會嘗試將 PXE 引導到pxeboot.n12 (NBP),然後呼叫 bootmgr.exe、bcd、boot.sdi,最後呼叫您的 Boot.wim 文件。這幾乎是對 Windows PE 環境進行 PXE 的 WDS 方式。

編輯:

pxeboot.n12 可以在任何 Windows DVD/ISO 上的 Boot.wim 中找到。

特別是從你得到的錯誤中,你也可能面臨這種問題。 https://superuser.com/questions/28123/when-installing-windows-7-cdboot-error-5-appears-cannot-boot-from-cd-why

引用自:https://serverfault.com/questions/708032