Chainloading to WDS from iPXE with UEFI

I am in the process of configuring our WDS server to support booting multiple OS's over the network. We have this setup and working using PXELinux for BIOS systems but need to support UEFI systems going forward.

I have iPXE loading and displaying a menu correctly but when attempting to chainload to WDS using the command below it just gets stuck in a loop of constantly reloading the menu after contacting WDS Server.

set next-server 0.0.0.0 (Replaced with IP of WDS Server)

chain tftp://${next-server}/boot\\x64uefi\\wdsmgfw.efi

If I do the above and set it to run

chain tftp://${next-server}/boot\\x64uefi\\bootmgfw.efi

It loads the file and then stops on a blue screen, eventually shutting down.

I am basically looking to get a menu looking like so but cannot figure out how to get to WDS.

  • Windows Deployment Services
  • Install Ubuntu 18.04
  • Install Ubuntu 16.04

I have managed to get the chainloading from iPXE → WDS working with the following commands.

set next-server 0.0.0.0  # Replace with WDS server IP address
set filename /boot/x64/bootmgfw.efi
set net0.dhcp/filename:string /boot/x64/bootmgfw.efi
set proxydhcp/filename:string /boot/x64/bootmgfw.efi
chain /boot/x64/bootmgfw.efi