Cen*_*ane 2 linux waik pxe-boot windows-pe
我正在尝试使用 Windows 预安装环境从 Linux 服务器通过 PXE 引导。最终目标将是安装 Windows,但是一旦我可以启动 WinPE(我已经将 samba 与 Windows 操作系统磁盘等共享),这将非常容易。我正在使用 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
Run Code Online (Sandbox Code Playgroud)
但是,如果我将 winpe iso 安装在 VM 的磁盘驱动器上,它就可以正常工作(我到达了 winpe 并且可以安装 windows)。从我读到的“无法从 CD 启动 - 代码 5”错误,它最常与 BIOS 固件/硬件不兼容有关,但如果真的如此,iso 在安装时也不应该工作。
在我的 ./pxelinux.cfg/default 我有:
MENU LABEL Windows 7
LINUX memdisk
INITRD windows/winpe_amd64.iso
APPEND iso raw
Run Code Online (Sandbox Code Playgroud)
我已经尝试过添加和不添加原始结果相同的结果。我已经将 memdisk 二进制文件复制到了 tftproot。PXE 启动时似乎可以找到 iso,因为正在以某种容量读取 iso,将 ISO 放置在 tftproot 中的 windows/winpe_amd64.iso。
任何人都知道为什么 PXE 引导与在驱动器上安装 ISO 的行为不同,以及有关如何解决引导 ISO 问题的任何想法?
当您在 VM 上“挂载” winpe_amd64.iso 并从它启动时,ISO 会看到自己从 CD/DVD 驱动器(真实的或虚拟的)启动。当您从 memdisk 启动 winpe_amd64.iso 时,ISO 会看到一个“模拟”(由 memdisk 创建)磁盘环境。
APPEND iso raw
Run Code Online (Sandbox Code Playgroud)
某些 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