Setup a Workgroup Server with PXE (WDS) for MDT Lite Touch

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

About the author

Johan Arwidmark

5 2 votes
Article Rating
Subscribe
Notify of
guest
13 Comments
Newest
Oldest Most Voted
manjunath
manjunath
3 months ago

i attached the logs. did all after press F12 it shows no bootable devices found.

Antonio
Antonio
2 years ago

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.

WDSUtil Report
SETUP INFORMATION FOR SERVER
[—————————————————————————–]

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>

Antonio
Antonio
2 years ago

this vm hyper-v in the local subnet

Antonio
Antonio
2 years ago

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)

Venky
3 years ago

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?

Martin Skorvald
3 years ago

Hi from Sweden
Is this the same in win2022 or have something been changed?

//marsk

George Gates
George Gates
4 years ago

Followed his instructions and it worked perfectly. Thanks, Johan!


>