I'm attempting to get a Windows Preinstallation Environment to boot over PXE from a Linux server. The end goal will be to install Windows but that's pretty easy once I can get WinPE to start up (I've got the samba share with the windows OS disk etc.). I'm using ESXi and attempting to get a VM to PXE boot the winPE but also have access to a physical machine for testing. I followed the steps on a few tutorials (http://www.tecmint.com/configure-pxe-server-to-install-windows-on-centos/ mainly) and I've reached an interesting place:
If I attempt to PXE boot the winPE on either the VM or a physical machine I get the error:
CDBOOT: Cannot boot from CD - Code 5
However, if I mount the winpe iso on the VM's disk drive it works fine (I reach the winpe and can install windows). From what I've read of the "Cannot boot from CD - Code 5" error it is most commonly associated with BIOS firmware/hardware incompatibilities, but were that true the iso shouldn't work when mounted either.
In my ./pxelinux.cfg/default I have:
MENU LABEL Windows 7 LINUX memdisk INITRD windows/winpe_amd64.iso APPEND iso raw
I've tried both with and without appending raw with the same result. I have already copied the memdisk binary to the tftproot. The iso seems to be found when PXE booting because the iso is being read in some capacity, the ISO is placed inside the tftproot at windows/winpe_amd64.iso.
Anyone have any insight on why the PXE boot would behave differently from mounting the ISO on the drive, and any ideas on how to resolve the problem with booting the iso?