WDS is a convenient means of installing Microsoft operating systems to computers attached to your LAN. It’s particularly useful now that virtual machines are ubiquitous, so that a single physical machine can host multiple virtual machines via Hyper-V.
That said, I encountered plenty of frustration as I climbed the learning curve of setting up WDS on my Windows 2019 Domain Controller and attempted to get PXE boot to work from both physical machines and Gen 2 virtual machines (UEFI).
Problem 1: WDS would not start after configuration
After installing WDS, and going through the configuration wizard, WDS would not start, even though I had boot and install images in the RemoteInstall directory.
It turns out that it’s not sufficient to copy files into the directory location. You must use the WDS snap-in applet to install the images.
Once there is a boot image and at least one install image, WDS should start up OK. I had to go to the Services applet to manually start WDS after the configuration wizard ran and WDS failed to start automatically (and after installing the images properly, of course).
Problem 2: Could not PXE boot physical UEFI machines or Gen2 Hyper-V virtual machines.
The solution here turned out to be fairly obscure, but simple. On the WDS server, the ethernet adapter’s IPv4 needs to have NetBIOS over TCP/IP disabled. Thanks very much to Raytechnote.com for the tip that solved the problem
A little background on what I tried and found to not work (and one case that did work) might be helpful to those still seeking a solution. In general, other than the NetBIOS over TCPIP change, things worked pretty much with their defaults from the WDS role installation and configuration (although see the DHCP options 60, 66, and 67 noted below).
I was able to get a non-UEFI Gen1 virtual machine to work without making the NetBIOS change, by using a legacy network adaptor. However, my goal was to use Gen2 VMs, and this approach didn’t work for my physical machines, all of which have UEFI boot motherboards.
There were numerous posts regarding DHCP options, especially the path and filename for DHCP option 67. I found that no path was required, just the filename. For the record, I tested and found that three DHCP options are required: Option 60 (set to “
PXEClient“), Option 66 (set to the FQDN of the WDS server), and Option 67 (set to “
wdsmgfw.efi“). All three were required – elimination of any one caused PXE boot to stop working.
At least one post recommended changes to the WDS TFTP settings. I saw no difference either way, so reverted to the default once I found the NetBIOS solution.
One post suggested changing the keyboard options for Hyper-V. I also found this to be unnecessary and it appeared to work either way – whether the keyboard was directed to the physical machine or the virtual machine.
By the way, one very helpful hint for Hyper-V VMs was to connect to the VM before starting it, so that the opportunity to accept the PXE download doesn’t disappear before the screen comes up. Also, it should be noted that for UEFI boots, you are asked to hit “Enter” rather than F12.
Good luck! Please feel free to comment or contact me if I can be of any help to you – although I’m neither a WDS nor a PXE expert…