Here is a quick guide to configure a workgroup server with PXE for MDT Lite Touch (or any other deployment solution based on WinPE). In this example I'm using a Windows Server 2019 server named MDT01 configured for being in a workgroup, and the PXE server is Windows Deployment Services (WDS).
Prerequisites
For this guide I have a MDT Lite Touch deployment share configured in E:\MDTProduction on my MDT01 server. DHCP is handled by my EdgeMAX EdgeRouter Lite that I use for Internet access, but any DHCP Server will do just fine. If you want a step-by-step guide for the Windows ADK and MDT setup, download our free deployment eBook by signing up for our newsletter here: https://www.deploymentresearch.com/deployment-news. The eBook contains 70+ pages of setup guides for Windows 10 and Windows 11 deployments.
WDS Setup for a Workgroup Server – Step-by-Step
On MDT01, using Server Manager and add the Windows Deployment Services role.

When asked about the role services, select both Deployment Server, and Transport Server.

Once WDS is installed, open the Windows Deployment Services console, right-click your server, and select Configure Server.

On the Install Options page, select the Standalone server option.

On the Remote Installation Folder Location page, type in the path to a data disk on MDT01. In my case the E: drive, making the full path: E:\RemoteInstall

On the PXE Server Initial Settings page, select the Respond to all client computers (known and unknown) option.

Allow the setup to complete, and on the Operation Complete page, clear the Add images to the server now check box, and click Finish.
Add Boot Images to WDS
Once the server setup is completed, you can now add in any boot images you want. Open the WDS console, right-click Boot Images, and select Add Boot Image.
Browse to your boot image, in my case the E:\MDTProduction\Boot\LiteTouchPE_x64.wim.

On the Image Metadata page, add an image name, and image description, and complete the wizard.

Below is the WDS console after the boot image has been added. In this case a boot image from Windows ADK 11.

All done 🙂
Happy Deployment, Johan
i attached the logs. did all after press F12 it shows no bootable devices found.
Did not see any logs, but are the clients on the same subnet as the server? Did the client receive an IP address from the DHCP server? Run this PowerShell script on another windows machine in the same subnet as you are trying to PXE on, and post the output: https://github.com/2pintsoftware/2Pint-iPXEAnywhere/blob/main/PXE%20%26%20DHCP%20Troubleshooter/PXE-DHCP-Test.ps1
Hello! We don't have a domain, we work in Azure. I have hyper-v with VDS installed on workgroup, I did everything according to the instructions, pxe doesn't load at all, as if it doesn't exist. DNS and DHCP on the router. Maybe I need to configure something additionally? I don't administer the router. Maybe there is something I can ask the network engineers. The clients and the server are in the same subnet. Now I am testing on hyper-v virtual machines. I am attaching information from wdsutil in the attached file. Honestly, I have already checked all the options, turned on/off options, unchecked/checked boxes.
[—————————————————————————–]
Server State:
OS version: 10.0
WDS operational mode: Native
Standalone configuration: Yes
Installation State:
RemoteInstall location: C:\RemoteInstall
RemoteInstall share up-to-date: Yes
Boot files installed:
x86 – Yes
x64 – Yes
arm64 – Yes
arm – Yes
x86uefi – Yes
x64uefi – Yes
[—————————————————————————–]
CONFIGURATION INFORMATION FOR SERVER
[—————————————————————————–]
Server Authorization:
Authorization state: <Unavailable in standalone configuration>
Answer Policy:
Answer clients: Yes
Answer only known clients: No
Response delay: 0 seconds
Directory Use Policy:
Prestage devices using MAC: No
New computer naming policy: %61Username%#
New computers join domain: Yes
New Computer OU:
OU type: Custom
OU:
DHCP Configuration:
DHCP service status: Not Installed
DHCP option 60 configured: <Not Applicable>
PXE Bind Policy:
Use DHCP ports: Yes
Rogue detection: Disabled
RPC port: 5040
Interface Bind Policy:
Policy: Exclude Registered
Registered interfaces:
Boot Program Policy:
Known client PXE prompt policy: NoPrompt
New client PXE prompt policy: NoPrompt
Allow N12 for new clients: <Not Applicable>
Reset boot program: Disabled
Default boot programs:
x86 – boot\x86\pxeboot.com
x64 – boot\x64\pxeboot.com
arm64 – boot\arm64\bootmgfw.efi
arm – boot\arm\bootmgfw.efi
x86uefi – Boot\x86\bootmgfw.efi
x64uefi – Boot\x64\bootmgfw.efi
Default N12 boot programs:
x86 – boot\x86\pxeboot.n12
x64 – boot\x64\pxeboot.n12
arm64 – boot\arm64\bootmgfw.efi
arm – boot\arm\bootmgfw.efi
x86uefi – Boot\x86\bootmgfw.efi
x64uefi – Boot\x64\bootmgfw.efi
Banned GUIDs list:
Boot Image Policy:
Default image type for x64 clients: Both
Default boot images:
x86 –
x64 –
arm64 –
arm –
x86uefi –
x64uefi –
Driver Policy:
Avoid duplicate driver packages: Yes
WDS Client Policy:
Logging policy:
Enabled: Yes
Logging level: Info
Unattend policy:
Enabled: No
Command-line precedence: No
WDS unattend files:
x86 –
x64 –
arm64 –
arm –
x86uefi –
x64uefi –
Server Automatic Refresh Policy:
Refresh period: 900 seconds
BCD Refresh Policy:
Enabled: No
Refresh period: 60 minutes
Pending Device Policy:
Policy: Disabled
Poll interval: 10 seconds
Max retry count: 2160 times
Message to pending clients:
Retention period:
Approved devices: 30 days
Other devices: 1 days
Defaults for x86:
Referral server:
Boot program path:
WDS client unattend file path:
Boot image path:
User: Domain Admins
Join rights: Full
Join domain: Yes
Defaults for x64:
Referral server:
Boot program path:
WDS client unattend file path:
Boot image path:
User: Domain Admins
Join rights: Full
Join domain: Yes
Defaults for arm64:
Referral server:
Boot program path:
WDS client unattend file path:
Boot image path:
User: Domain Admins
Join rights: Full
Join domain: Yes
Defaults for arm:
Referral server:
Boot program path:
WDS client unattend file path:
Boot image path:
User: Domain Admins
Join rights: Full
Join domain: Yes
Defaults for x86uefi:
Referral server:
Boot program path:
WDS client unattend file path:
Boot image path:
User: Domain Admins
Join rights: Join Only
Join domain: Yes
Defaults for x64uefi:
Referral server:
Boot program path:
WDS client unattend file path:
Boot image path:
User: Domain Admins
Join rights: Join Only
Join domain: Yes
WDS PXE Providers:
Name: WDSDCPXE
Path: C:\Windows\system32\wdsdcpxe.dll
Order: 1
Critical: No
WDS Device Controllers:
Name: WDSADDC
CLSID: {1F05CFEA-D4E4-4049-9C76-7B4F0013ECC9}
Priority: 32768
Enabled: No
Name: WDSSDC
CLSID: {17FD4B68-06B7-48EB-97B7-1575A171AED9}
Priority: 32768
Enabled: Yes
WDS Transport Server Policy:
IPv4 source: Range
Start address: 239.192.0.2
End address: 239.192.0.254
IPv6 source: Range
Start address: FF15::1:1
End address: FF15::1:FF
UDP Port Policy: Dynamic
Start port: <Not Applicable>
End port: <Not Applicable>
Network profile: <Not Applicable>
TFTP Properties:
Maximum block size: 0
Variable window extension enabled: Yes
Multicast session policy:
Slow client handling policy: None
AutoDisconnect threshold: 256 KBps
Multistream stream count: 2
Slow client fallback: Yes
Multicast Content Providers:
Name: WDS
Description: Default Content Provider
File path: C:\Windows\system32\wdscp.dll
Initialization routine: WdsTransportProviderInit
[—————————————————————————–]
IMAGE INFORMATION FOR SERVER
[—————————————————————————–]
BOOT IMAGES
===============================================================================
——————–
Boot Images for x86
——————–
Image count: 0
——————
Image Information:
——————
There are no images that match the specified criteria.
——————–
Boot Images for x64
——————–
Image count: 1
——————
Image Information:
——————
Lite Touch Windows PE (x64)
File name: LiteTouchPE_x64.wim
Image name: Lite Touch Windows PE (x64)
Description: Lite Touch Windows PE (x64)
ID: {24FA68E0-E40F-44CF-A683-91193A26241D}
Priority: 500000 (Default)
Architecture: x64
Image type: Boot
Image format: WIM
Image group: <Not Applicable>
Size: 2456367918 bytes
Partition style: <Unknown>
HAL type:
Creation time: Monday, April 1, 2024 12:45:38 AM
Last modified: Tuesday, August 13, 2024 12:55:06 AM
Default language: English (United States)
Other languages:
Dependent files:
\\WDS\REMINST\Boot\x64\Images\LiteTouchPE_x64.wim
OS version: Microsoft® Windows® Operating System, 10.0.26100
Service pack level: 0
User filter: <Not Applicable>
Unattend file present: No
Status: Enabled
*******************************************************************************
——————–
Boot Images for arm64
——————–
Image count: 0
——————
Image Information:
——————
There are no images that match the specified criteria.
——————–
Boot Images for arm
——————–
Image count: 0
——————
Image Information:
——————
There are no images that match the specified criteria.
===============================================================================
——–
Summary:
——–
Total number of boot image stores: 4
Total number of boot images: 1
——–
INSTALL IMAGES
===============================================================================
There are no image groups that match the specified criteria.
===============================================================================
——–
Summary:
——–
Total number of install image groups: 0
Total number of install images: 0
——–
NON-NATIVE IMAGES
===============================================================================
===============================================================================
——–
Summary:
——–
Total number of non-wim image groups: 0
Total number of non-wim images: 0
——–
[—————————————————————————–]
———————-
OVERALL IMAGE SUMMARY:
———————-
Total number of boot image stores: 4
Total number of boot images: 1
Total number of install image groups: 0
Total number of install images: 0
Total number of non-wim image groups: 0
Total number of non-wim images: 0
———————-
The command completed successfully.
C:\Users\Administrator>
When using a VM in Azure, it's network must be a true site-to-site setup where you basically use Azure as your remote datacenter.
this vm hyper-v in the local subnet
Azure does not support PXE on its own networks/subnets (in Azure), but if you have site-to-site VPN setup it will work.
Oh my god I've completely broken my brain trying to solve this problem. I tested it only on UEFI, it turns out that everything worked in BIOS, I needed to add the wdsmgfw.efi file to RemoteInstall\Boot\x64\. I went through Wireshark, ipxe to understand that this file is not in WDS by default, and to boot via UEFI you need to copy it. It's just awful, it's good that I had time, and I did this on Friday evenings)
I'm glad you solved it, and thanks for sharing the info
I followed the same steps, but Start PXE over IP4 shows up and reboot, something is missing for next step, what file it looks for?
I would have to compare your setup with a working one. Please run this command, and send me the output as a textfile: wdsutil /get-server /Show:all /Detailed
Hi from Sweden
Is this the same in win2022 or have something been changed?
//marsk
Hi Martin, sorry for the late reply, but I haven't tried this with Windows Server 2022.
Followed his instructions and it worked perfectly. Thanks, Johan!