Let me try again, I never previously used UEFI, hence the previous setup was not anything I tested.
Up to now I only used legacy BIOS PXE in following way (which still works perfectly)
PXE->iPXE.kpxe (via MS DHCP options 60/66/67) -> pxelinux.0 for menu -> lkrnl.pxe -> wimboot (bootmgr.exe -> BCD (pointing to winload.exe) -> Boot.wim (x64))
All I am trying NOW to do is: (with menu from iPXE itself)
Server 1 = SCCM/WDS
Server 2 = DHCP
Server 3 = TPS (and separate TFTP service provided by Bootix TFTP server)
To run TSP on Server 3 I disable WDS (block UDP 4011 on Server 1 firewall)
Testing on
Client 1 = Hyper-V VM Gen 2
Client 2 = Physical Optiplex 3040
UEFI PXE -> IPXE.efi (build from source) -> menu.ipxe -> wimboot -> (bootmgr.efi -> BCD (pointing to winload.efi) ->Boot.wim (x64))
ALL downloads fine, and on boot it just errors out 0xc000000f
#!ipxe kernel http://10.0.0.55/wim/BOOT/wimboot252 gui initrd http://10.0.0.55/wim/boot/fonts/segmono_boot.ttf segmono_boot.ttf initrd http://10.0.0.55/wim/boot/fonts/segoe_slboot.ttf segoe_slboot.ttf initrd http://10.0.0.55/wim/boot/fonts/segoen_slboot.ttf segoen_slboot.ttf initrd http://10.0.0.55/wim/boot/fonts/wgl4_boot.ttf wgl4_boot.ttf initrd http://10.0.0.55/wim/BOOT/bootmgr.efi bootmgr.efi initrd -n BCD http://10.0.0.55/wim/EFI/Microsoft/Boot/BCD BCD initrd http://10.0.0.55/wim/BOOT/BOOT.SDI BOOT.SDI initrd http://10.0.0.55/wim/wim/Win10PESE_x64.WIM BOOT.WIM boot
BCD is being read, as I can chose the correct Windows Boot Manager by Enter at error screen (which then fails again)
There really is nothing to my setup