Demo from MMS 2011 – Using WDS without Active Directory – Configuring a standalone WDS

In Windows Server 2008 R2, Microsoft added support for using the PXE listener without Active Directory. Here is a complete guide on how to configure a standalone Windows Server 2008 R2 WDS Server. In addition to WDS the machine is also running DHCP.

Note: Using a standalone PXE server is way easier in Windows Server 2012, where you have a wizard based setup, and you can use the normal WDS console to manage it. For Windows Server 2008 R2, which this guide describes, it's much more complicated, and your admin tools are regedit and wdsutil. Anyway, if you still need to use Windows Server 2008, continue reading…

Pre-Requisites

In these steps I assume you have a server the following configuration

  1. A Windows Server 2008 R2 SP1 machine named WDS01, installed into a workgroup.
  2. One network card with a fixed IPv4 address (I’m using 192.168.1.215 in my lab)
  3. Two partitions, C: for the Windows Server 2008 R2 operating System, D: for Data

High level steps:

  1. Download and install Windows AIK 2.0 (named Windows AIK for Windows 7 v3.0 on Microsoft download )
  2. Install DHCP and create a scope for the network
  3. Add the WDS transport role service
  4. Create and share the RemoteInstall folder structure
  5. Copy the x86 and x64 boot files
  6. Copy the x86 and x64 boot images
  7. Configure the WDS Providers
  8. Configure the Policies
  9. Additional DHCP and WDS provider configuration

Step 1 – Download and install Windows AIK 2.0

  1. On WDS01, logon as Administrator.
  2. Download and Install Windows AIK 2.0 (named Windows AIK for Windows 7 v3.0 on Microsoft downloads) with the default settings.

Step 2 – Install DHCP and create a scope for the network

  1. On WDS01, using Server Manager, select Roles, and the select Add Roles.
  2. On the Before You Begin page, select the Skip this page by default checkbox, and click Next.
  3. In the Select Server Roles list, select DHCP Server and click Next.
  4. On the DCHP Server page, click Next.
  5. On the Select Network Connection Bindings page, accept the default settings and click Next.
  6. On the Specify IPv4 DNS Server Settings page, in the parent domain: textbox, type in whatever DNS Suffix you want to use, I used deploy.net, and then click Next.
  7. On the Specify IPv4 WINS Server Settings page, accept the default settings and click Next.
  8. On the Add or Edit DHCP Scopes page, click Add. Use the following settings.Scope Name: 192.168.1.0/24
    Starting IP address: 192.168.1.100
    Ending IP address: 192.168.1.199
    Subnet Type: Wired (lease duration will be 8 days)
    Activate this scope: Selected
    Subnet Mask: 255.255.255.0
    Default Gateway (optional): 192.168.1.1

    Click OK, and then click Next.

  9. On the Configure DHCPv6 Stateless Mode page, accept the default settings and click Next.
  10. On the Specify IPv6 DNS Server Settings page, in the parent domain: textbox, type in whatever DNS Suffix you want to use, I used deploy.net, and click Next.
  11. On the Confirm Installation Selections page, click Install.
  12. On the Installation Results page, click Close.

Step 3 – Add the WDS Transport server role

  1. On WDS01, using Server Manager, select Roles, and the select Add Roles.
  2. In the Select Server Roles list, select Windows Deployment Services and click Next.
  3. On the Overview of Windows Deployment Services page, click Next.
  4. On the Select Role Services page, clear the Deployment Server checkbox so that only Transport Server role service is selected, and click Next.
  5. On the Confirm Installation Selections page, click Install.
  6. On the Installation Results page, click Close.

Step 4 – Create and share the RemoteInstall folder structure

  1. On WDS01, using Explorer, create the following folder structure:D:\RemoteInstall
    D:\RemoteInstall\boot

    D:\RemoteInstall\boot\x86
    D:\RemoteInstall\boot\x86\images
    D:\RemoteInstall\boot\x64
    D:\RemoteInstall\boot\x64\images 
  2. Using Explorer, and the Advanced Sharing feature, share the D:\RemoteInstall folder as REMINST.

Step 5 – Copy the x86 and x64 boot files 

  1. On WDS01, using Explorer, create the D:\Mount folder.
  2. Start a Deployment Tools Command Prompt (found on the start menu, in the All Programs / Microsoft Windows AIK folder), type the following command + press Enter.Imagex /mount x86\winpe.wim 1 D:\Mount


  3. Leave the Deployment Tools Command Prompt open.
  4. Using Explorer, navigate to the D:\Mount\Windows\Boot\PXE folder, copy all content to the D:\RemoteInstall\boot\x86 folder.
  5. Close all Explorer windows (the wim filter driver in WAIK 2.0 is really sensitive about open file handles when unmounting an image).
  6. In the Deployment Tools Command Prompt, type the following commands + press Enter after each line.

    Imagex /unmount D:\Mount

    Imagex /mount amd64\winpe.wim 1 D:\Mount
  7. Using Explorer, navigate to the D:\Mount\Windows\Boot\PXE folder, which now contains the x64 boot files, and copy all content to the D:\RemoteInstall\boot\x64 folder.
  8. Close all Explorer windows.
  9. In the Deployment Tools Command Prompt, type the following command + press 

    Enter.Imagex /unmount D:\Mount
  10. Using Explorer, copy the C:Windows\System32\reminst\boot\boot.sdi file to the D:\RemoteInstall\boot folder.

Step 6 – Copy the x86 and x64 boot images

  1. On WDS01, using Explorer, copy any x86 boot image that you want to use to the D:\RemoteInstall\boot\x86\images folder, name the boot image boot.wim.Note: If you just want a boot image to test with you can copy the default Windows PE 3.0 x86 boot image from WAIK. It is named winpe.wim and is located in the C:\Program Files\Windows AIK\Tools\PETools\x86 folder. After copying the file, change the name to boot.wim.
  2. Using Explorer, copy any x64 boot image that you want to use to the D:\RemoteInstall\boot\x64\images folder, name the boot image boot.wim.Note: Again, if you just want a boot image to test with, you can copy the default Windows PE 3.0 x64 boot image from WAIK. It is named winpe.wim and is located in the C:\Program Files\Windows AIK\Tools\PETools\amd64 folder. After copying the file, change the name to boot.wim.

Step 7 – Configure the WDS Providers

  1. On WDS01, using the Registry Editor, configure the WDS Providers order by navigating to the HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WDSServer\Providers\WDSPXE key, and create a new Multi-String Value with the following settings:Name: ProvidersOrder
    Data: WDSSIPR
  2. Using the Registry Editor, configure the TFTP root folder by navigating to the HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WDSServer\Providers\WDSTFTP key, and create a new String Value with the following settings:

    Name: RootFolder
    Data: D:\RemoteInstall

Step 8 – Configure the Policies

  1. On WDS01, using Notepad, edit the C:\Windows\System32\wdssipr.dll.conf.ini file. In the IMAGES POLICY section, configure the following values:

    X86BootImage=boot\x86\images\boot.wim
    X64BootImage=boot\x64\images\boot.wim
  2. Save the C:Windows\System32\wdssipr.dll.conf.ini file.


  3. Note: If you don't want to press F12 to start the PXE boot process you can change the KnownClientPxePromptPolicy and NewClientPxePromptPolicy properties from the default OptIn value, to NoPrompt or OptOut. NoPrompt will do exactly what you think, simply continue the PXE boot process. The OptOut value will configure the computer to continue the network boot unless the user presses the ESC key.

Step 9 – Additional DHCP and WDS provider configuration

  1. On WDS01, using a Command prompt, configure the transport server to use DHCP by typing the following command + press Enter.

    WDSUTIL /Set-TransportServer /ObtainIPv4From:DHCP
  2. Leave the Command prompt open.
  3. Using the Command prompt, configure the DHCP PXEClient option, by typing the following commands + press Enter after each line.

    Netsh
    dhcp

    server WDS01
    add optiondef 60 PXEClient String 0 comment="PXE support"
    set optionvalue 60 STRING PXEClient
    exit 
  4. Leave the Command Prompt open.
  5. Using the Registry Editor, configure the DHCP ports option by navigating to the HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ServicesWDSServer\Providers\WDSPXE key, and change the UseDhcpPorts data value from 1 to 0.
  6. Using the Command Prompt, start the WDS transport server by typing the following command + press Enter.

    WDSUTIL /Start-TransportServer

Done! You should now be able to start the boot images over the network, having configured the WDS PXE listener on a standalone server.

/ Johan

About the author

Johan Arwidmark

0 0 vote
Article Rating
Subscribe
Notify of
guest
24 Comments
Newest
Oldest Most Voted
Inline Feedbacks
View all comments
brandonaho
brandonaho
7 years ago

Getting the following error. Have doublechecked everything and still same error when starting the service. C:UsersAdministrator>WDSUTIL /Start-TransportServer Windows Deployment Services Management Utility [Version 6.0.6002.18005]Copyright (C) Microsoft Corporation. All rights reserved. An error occurred while trying to execute the command.Error Code: 0x41DError Description: The service did not respond to the start or control request in a timely fashion. C:UsersAdministrator> error from service log The Windows Deployment Services Server service terminated with service-specific error 2 (0x2). Log Name: SystemSource: Service Control ManagerDate: 7/11/2013 3:57:22 PMEvent ID: 7024Task Category: NoneLevel: ErrorKeywords: ClassicUser: N/AComputer: WDS01Description:The Windows Deployment Services Server service terminated with service-specific error… Read more »

brandonaho
brandonaho
7 years ago

Getting the following error. Have doublechecked everything and still same error when starting the service. C:UsersAdministrator>WDSUTIL /Start-TransportServer Windows Deployment Services Management Utility [Version 6.0.6002.18005]Copyright (C) Microsoft Corporation. All rights reserved. An error occurred while trying to execute the command.Error Code: 0x41DError Description: The service did not respond to the start or control request in a timely fashion. C:UsersAdministrator> error from service log The Windows Deployment Services Server service terminated with service-specific error 2 (0x2). Log Name: SystemSource: Service Control ManagerDate: 7/11/2013 3:57:22 PMEvent ID: 7024Task Category: NoneLevel: ErrorKeywords: ClassicUser: N/AComputer: WDS01Description:The Windows Deployment Services Server service terminated with service-specific error… Read more »

Admin
Admin
8 years ago

The boot.wim must be a WinPE image, and you can use the boot.wim from a Windows 7 SP1 iso.

/ Johan

Maikel_Yakob
Maikel_Yakob
8 years ago

Hi Johan i followed your guide to the point.

I dont use a DNS or AD, when i boot with PXE i get this error code: BootBCD missing status 0xc0000098

Should i use another image?

For now i use a image that is modified should, should i just download an original windows 7.iso from MSDNAA and use that instead?

When you say that any image can be used does that mean that i can use whatever windows image i have and rename it too "boot.wim" or have i misunderstood that step completely?

Admin
Admin
8 years ago

To avoid pressing F12, change ANSWER POLICIES section of the C:Windowssystem32wdssipr.dll.conf.ini file.

Change
KnownClientPxePromptPolicy=OptIn
NewClientPxePromptPolicy=OptIn
to
KnownClientPxePromptPolicy=NoPrompt
NewClientPxePromptPolicy=NoPrompt

You can also set the value to OptOut, then the computer will continue the network boot unless the user presses the ESC key.

After changing the C:Windowssystem32wdssipr.dll.conf.ini file you need to restart the transport server:
wdsutil /stop-transportserver
wdsutil /start-transportserver

I have updated the article with this info as well

/ Johan

Behemoth89
Behemoth89
8 years ago

How do I set the WDS to skip pressing F12 on PXE boot

Behemoth89
Behemoth89
8 years ago

How do I set the WDS to skip pressing F12 on PXE boot?

Behemoth89
Behemoth89
8 years ago

How do I set the WDS to skip pressing F12 on PXE boot?

moliver
moliver
8 years ago

Thanks for this write up. I had to add 'Bootx64wdsnbp.com' to DHCP option 67 to get PXE working for some reason. Other than that it works great.

Admin
Admin
8 years ago

Don't know, I haven't tried and I never will. WDS is not supposed to be used as a deployment solution on it's own.

Add your install.wim image to MDT 2012 Update 1, and add the MDT boot image to WDS. Then you have a deployment solution that is using the WDS PXE capabilites (and optional multicast), but still supports real world deployment scenarios.

/ Johan

Behemoth89
Behemoth89
8 years ago

mmh now I get an Error every time the Setup is starting: "WdsClient: There was a problem initializing WDS Mode"

Behemoth89
Behemoth89
8 years ago

realy cool! But can I insert a install.wim (so a windows installer image)?

Behemoth89
Behemoth89
8 years ago

realy cool! But can I insert a install.wim (so a windows installer image)?

Admin
Admin
8 years ago

Hi Markus,

Thanks for the note, you are of course correct, that was a typo. I have updated the article (and added a few screenshots).

/ Johan

Uncle Hildegard
Uncle Hildegard
8 years ago

Hi Johan,
thank you very much for sharing this knowledge!
However I have a question: Are the paths in step 6 (Copy the x86 and x64 boot images) correct or should they read "D:RemoteInstallboot…." according to the structure created in step 4?

Cheers — Markus

Gentzel
Gentzel
8 years ago

I know I'm not *supposed* to. I was wondering if it could be done.. 😉

Yes, I tried adding the image using WDSUTIL but it just gave an error stating that the Deployment Server part of WDS was not installed. Perhaps quite expected since only the Transport Server role had been activated.

I will try setting it up using MDT instead. Thanks!

/Marcus

Admin
Admin
8 years ago

Your not supposed to use WDS as a deployment solution, its far to limited to be useful for deployments… You should use WDS to PXE boot the MDT 2012 Update 1 boot image, which then will connect to the MDT deployment share and start the installation from there.

Anyway, I haven't tested using the install image feature in WDS together with standalone mode (and most likely never will), did you try add it via WDSUTIL?

/ Johan

Gentzel
Gentzel
8 years ago

Hi Johan, Really interesting article, thx! Set it up according to instructions and all works fine – i.e. I am able to PXE boot using the PE image from WAIK. Now to the perhaps stupid question: How do I go about to configure both a boot as well as install image to remotely install Windows 7? I was hoping to be able to use the boot.wim and install.wim from the Win7 product DVD, but cannot make it work. I do not need any unattended installation, just the possibility to boot into Windows 7 setup without using removable media. All documentation… Read more »

Admin
Admin
8 years ago

I have answered your duplicate question on the deployvista.com forum…

/ Johan

msveden
msveden
8 years ago

Hi,

I have follow the instruction and everything went smoothly until I try to boot the client. I just keep getting "PXE-E55: ProxyDHCP service did not reply to request on port 4011". The only thing I found is to run "WDSUTIL /Delete-AutoAddDevices /DeviceType:ApprovedDevices" but since the Windows Deployment Services management tools are not configure this doesn't help…

Please help!

Regards Mikael

Admin
Admin
10 years ago

Sure, you can run DHCP on another machine. / Johan

HellerMD98
HellerMD98
10 years ago

If you already have DHCP in your environment (not a role in WDS01), is it still possible to do WDS (PXE listener) without Active Directory?

Thanks (and many thanks for a helpful site and great resources!)!

HellerMD98
HellerMD98
10 years ago

If you already have DHCP in your environment (not a role in WDS01), is it still possible to do WDS (PXE listener) without Active Directory?

Thanks (and many thanks for a helpful site and great resources!)!

rlawson
rlawson
10 years ago

One of my favorite break-out sessions that I had the chance to attend! Your demo was extremely informative.


>