none
Guest VM Fails to PXE boot with error "PXE:E53 No Boot Filename Received"

    Question

  • Hi all,

    I have just set up a new Hyper-V box (Server 2008 Enterprise 64bit with Hyper-V RTM installed).

    However my first guest VM Fails to PXE boot with error "PXE:E53 No Boot Filename Received"

    I have triple checked the GUID is correctly entered on the VM's computer object in AD, and the MAC address has been manually registered in DHCP and is correct (although this is irrelevant considering the PXE error is pointing to an issue with the RIS/WDS server)

    We don't have a problem RIS'ing or WDS'ing physical boxes on the same subnet (for example i WDS'd the Hyper-V host server no problem), but i can't get this guest VM to get past the above error.

    I have tried pointing it (in the computer object remote installation tab) to both the WDS server and the RIS server in turn, and have tested numerous times but the error persists.

    It is almost as if the VM gets its initial reponse from the DHCP server but then not from the RIS or WDS server, and i can't figure out why. I have turned off the firewall on the Hyper-V box to eliminate this as a cause.

    Obviously the PXE traffic is passing through the Hyper-V host NIC, but that shouldnt' be a problem should it?

    Is there anything I have missed or anyone know how I may be able to resolve this?

    Many Thanks

    Mark
    Friday, February 06, 2009 2:51 PM

Answers

  • Hi Brian,

    Sorry for the late response on this. We solved this in the end, so am posting the solution here in the hope it will help someone else with the same problem.

    Normally when you enter a GUID into the remote install tab, you enter it in the raw format, and AD then re-arranges the order (never understood why it did this) and adds some curly brackets {}.

    However, it seems that when PXE booting a Hyper-V VM, the GUID displayed *is already* re-organised (again, not sure why Microsoft have done this - as it goes against how GUID's are displayed by every other manufacturer). Hence, as i was entering it into the remote install tab in the same way i have always done, AD re-arranged it as normal, but now of course there is a GUID mismatch, which in turn results in the PXE-E53 error.

    The solution was to enter the GUID as displayed in the VM, but to include both the dashes and also the curly brackets at beginning and end. This stops AD from re-organising it, and hence the GUID is now correct.

    Thanks for your thoughts and input on this problem.

    Many Thanks

    Mark
    • Marked as answer by markey165 Monday, September 21, 2009 1:47 PM
    Friday, May 08, 2009 8:46 AM

All replies

  • A couple tips when trying to PXE boot virtual machines on Hyper-V:

    1) the VM must use a Legacy NIC.
    2) disable TCPOffloading on the NIC that the virtual switch is attached to
         (my experience has been that the PXE traffic will flow much better and you will have better success, otherwise boot success is spotty)
    3) set the BIOS boot order in the VM settings.
    4) set up a dedicated management nic for the host and use another NIC for all of the VM / virtual switch traffic.

    I have played with this quite a bit in a VDI scenario (up to ~700 VMs), and those are the most common stumbling blocks that folks run into.

    Here is the TCPOffloading info:
    http://itproctology.blogspot.com/2008/05/hyper-v-tcpoffloading-poor-network.html

    Here is the dedicating a NIC info:
    http://itproctology.blogspot.com/2008/12/dedicating-physical-nic-for-management.html

    Brian Ehlert (hopefully you have found this useful)
    Friday, February 06, 2009 3:47 PM
    Moderator
  • Hi,

    I've taken a much more in depth look at this, and looked at your suggestions but am still having the same problem.

    Here's what i've done so far.

    * Rebuilt the host server (to start afresh) via WDS (no problem), and installed the Hyper-V Role (The server has 2 x Broadcom NICS)
    * Selected NIC#2 only for VM use when prompted. Which reserves NIC#1 for use to connect to the host machine.
    * Created a test VM in Hyper-V and added a legacy adapter. Configured the legacy adapter to use the designated NIC#2
    * Changed the boot order to boot from the legacy adapter first.
    * Disabled IPv4 Checksum Offload and IPv4 Large Send Offload on the NIC that the Virtual Switch is 'bound' to (I assume that was what you meant in your previous post)
    * Created a new computer object and triple checked the GUID settings were correct on the remote install tab.
    * I have also turned the firewall off on the host server whilst doing this testing to eliminate this as a problem.

    I am unfortunately still hitting a PXE:E53 (no boot filename recieved) error when attempting to PXE boot. Being relatively familiar with PXE booting, this would suggest it has already contacted the DHCP server at this point and successfully acquired its IP address as it needs this before it can go off and find the boot server.

    Any further suggestions on where my problem might be?

    TIA




    • Edited by markey165 Friday, March 13, 2009 5:00 PM added content
    Friday, March 13, 2009 4:58 PM
  • The only disconnect that I might see is:
    "* Created a new computer object and triple checked the GUID settings were correct on the remote install tab."

    I have not setup WDS with Hyper-V VMs, but i have used WDS to install VMs, and I have setup over 700 PXE booted VMs with Provisioning server, and they worked - so I know it can work..

    FYI - a Firewall on the Hyper-V host has no impact on this.

    Let me backup and read again...
    2 physical NICS on the Hyper-V host....you created an external Virtual Network and bound it to NIC2...You created a VM with only one Legacy NIC...that VM is set to Virtual Network NIC2....You set the BIOS boot order of the VM to put NIC on top.....you disabled Offloading on Physical NIC2.

    I am then assuming that you opened the VM console and booted, got an IP address from your corporate DHCP server, then hit F12 (since it is WDS).

    And you still get the failure?

    Have you tried booting into WDS in a more generic way from the VM?, where you get the boot screen to select from a collection of images?  At least this way we can get a bit more generic and rule out WDS configuration.

    Brian Ehlert (hopefully you have found this useful)
    Friday, March 13, 2009 5:19 PM
    Moderator
  • Hi Brian,

    Sorry for the late response on this. We solved this in the end, so am posting the solution here in the hope it will help someone else with the same problem.

    Normally when you enter a GUID into the remote install tab, you enter it in the raw format, and AD then re-arranges the order (never understood why it did this) and adds some curly brackets {}.

    However, it seems that when PXE booting a Hyper-V VM, the GUID displayed *is already* re-organised (again, not sure why Microsoft have done this - as it goes against how GUID's are displayed by every other manufacturer). Hence, as i was entering it into the remote install tab in the same way i have always done, AD re-arranged it as normal, but now of course there is a GUID mismatch, which in turn results in the PXE-E53 error.

    The solution was to enter the GUID as displayed in the VM, but to include both the dashes and also the curly brackets at beginning and end. This stops AD from re-organising it, and hence the GUID is now correct.

    Thanks for your thoughts and input on this problem.

    Many Thanks

    Mark
    • Marked as answer by markey165 Monday, September 21, 2009 1:47 PM
    Friday, May 08, 2009 8:46 AM
  • I am having what seems to be the same issue, but I am using the MAC address for the netbootGUID and so this is not prone to GUID re-ordering voodoo.  BrianEh, you stated in this thread that the firewall of the Hyper-V host has no impact on this, but what about IPSec restrictions?  Is it possible that IPSec restricitions ont eh Hyper-V host could be preventing the Guest from receiving a response from WDS?
    Wednesday, May 13, 2009 4:13 PM
  • Any IPSec or firewall settings of the host exist within the space of the Host operating system.

    The ONLY way they could affect the vm is if you are running Hyper-V on a laptop and using the wireless bridging configuration work around (or somehow the host is forwarding or proxying the vm traffic).

    I have to admit that my experience is not with WDS it is with Provisioning Server - but it is still PXE traffic which is UDP and therefore fickle to any burps.

    In a totally vanilla installation I have had the best results with PXE booting a vm by:
    1) disable TCP Offloading on the physical NIC that the VM's virtual network is connected to.
    2) use Legacy Network controllers on the VM

    Doing these two things moved me from a 40% success rate to over 80% (booting the VM and having it launch into the PXE environment)

    The next best thing is to boot with net boot disk of some type - this will establish the connection to the WDS server outside of PXE.

    Brian Ehlert (hopefully you have found this useful)
    Wednesday, May 13, 2009 4:21 PM
    Moderator