我试图让一个Windows预安装环境从Linux服务器上通过PXE启动。 最终目标将是安装Windows,但是一旦我可以启动WinPE(我已经获得了与Windows操作系统磁盘的samba共享等),这非常容易。 我正在使用ESXi并尝试让一台虚拟机进行PXE启动winPE,但也有权访问物理机器进行testing。 我按照几个教程(主要是http://www.tecmint.com/configure-pxe-server-to-install-windows-on-centos/ )上的步骤进行了操作,并且到达了一个有趣的地方:
如果我尝试在虚拟机或物理机器上尝试PXE启动winPE,则会出现以下错误:
CDBOOT: Cannot boot from CD - Code 5
但是,如果我在虚拟机的磁盘驱动器上安装winpe iso,它工作正常(我到达winpe并可以安装窗口)。 从我读过的“无法从CD启动 – 代码5”错误,它通常与BIOS固件/硬件不兼容相关联,但是,真正的ISO安装时不应该工作。
在我的./pxelinux.cfg/default我有:
MENU LABEL Windows 7 LINUX memdisk INITRD windows/winpe_amd64.iso APPEND iso raw
我已经尝试过和没有附加原料相同的结果。 我已经将memdisk二进制文件复制到了tftproot。 在PXE启动时,iso似乎被发现,因为iso正在被某些容量读取,ISO被放置在windows / winpe_amd64.iso的tftproot中。
任何人都知道为什么PXE启动会有不同的performance在驱动器上挂载的ISO,以及如何解决启动ISO的问题的任何想法?
当你在虚拟机上“挂载”winpe_amd64.iso并从它启动时,ISO会从CD / DVD驱动器(真实的或虚拟的)启动。 当从memdisk启动winpe_amd64.iso时,ISO会看到一个“模拟”(由memdisk创build的)磁盘环境。
APPEND iso raw
某些Windows ISO需要某些PC上的“原始”选项。
可以使用MEMDISK从一些CD / DVD映像映射和引导。 无仿真,软盘模拟和硬盘模拟ISO支持。
“映射”过程使用INT 13h实现 – 任何磁盘仿真都可以从使用兼容模式磁盘访问的操作系统(例如DOS和Windows 9x)访问。 然而,一旦保护模式内核驱动程序控制,通过INT 13h的仿真不能从使用保护模式驱动程序的操作系统(Windows NT / 2000 / XP / 2003 / Vista / 2008/7,Linux,FreeBSD)访问。 如果操作系统包含用于访问映射ISO的驱动程序,或者知道如何在磁盘上查找ISO,则当然不会有引导问题。
INT 13h访问: 并非所有的图像都将完成启动过程!
Windows NT / 2000 / XP / 2003 / Vista / 2008/7(基于NT)
这些Windows版本仅在启动过程开始时才使用INT 13h访问(仅加载必要的驱动程序)。 一旦保护模式驱动程序可以访问磁盘, Windows将无法看到由MEMDISK (CD / DVD,硬盘和软盘映像) 创build的内存映射驱动器 ,并且无法完成引导过程 。
来源: http : //www.syslinux.org/wiki/index.php/MEMDISK
底线:memdisk是最后的资源替代。 相当不可靠。 躲开它。
在你的情况下,我会尝试PXE启动到pxeboot.n12 (NBP),稍后调用bootmgr.exe,bcd,boot.sdi,最后是你的Boot.wim文件。 这几乎是PXE Windows PE环境的WDS方式。
编辑:
可以在任何Windows DVD / ISO上的Boot.wim中findpxeboot.n12。
特别是从你得到的错误,你也可以面对这样的问题。 https://superuser.com/questions/28123/when-installing-windows-7-cdboot-error-5-appears-cannot-boot-from-cd-why
我遇到的问题是由于一个错误的FTP-get,导致WinPE ISO我必须真正无法启动,就像错误所述(试图在VM启动CD)。 如果有人发现它有用,留下这个问题。