Note: This is an archived Article, the latest version is available at:
/ Johan
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
Pre-Requisites
In these steps I assume you have a server the following configuration
- A Windows Server 2008 R2 named WDS01, installed into a workgroup.
- One network card with a fixed IPv4 address (I’m using 192.168.2.215 in my lab)
- Two partitions, C: for the Windows Server 2008 R2 operating System, D: for Data
I also assume you have a DNS Server somewhere in the environment, maybe your local router if it’s a smaller network. In my lab my DNS server / Router has IP address 192.168.2.1. The router has DHCP server disabled.
High level steps:
- Download and install Windows AIK 2.0
- Install DHCP and create a scope for the network
- Add the WDS transport role service
- Create and share the RemoteInstall folder structure
- Copy the x86 and x64 boot files
- Copy the x86 and x64 boot images
- Configure the WDS Providers
- Configure the Policies
- Additional DHCP and WDS provider configuration
Download and install Windows AIK 2.0
- On WDS01, logon as Administrator.
- Download and Install Windows AIK 2.0 (named Windows AIK for Windows 7 on Microsoft downloads) with the default settings.
Install DHCP and create a scope for the network
- On WDS01, using Server Manager, select Roles, and the select Add Roles.
- On the Before You Begin page, select the Skip this page by default checkbox, and click Next.
- In the Select Server Roles list, select DHCP Server and click Next.
- On the DCHP Server page, click Next.
- On the Select Network Connection Bindings page, accept the default settings and click Next.
- On the Specify IPv4 DNS Server Settings page, in the parent domain: textbox, type in whatever DNS Suffix you want to use, I used tslab.net, and click Next.
- On the Specify IPv4 WINS Server Settings page, accept the default settings and click Next.
- On the Add or Edit DHCP Scopes page, click Add. Use the following settings.
Scope Name: 192.168.2.0/24
Starting IP address: 192.168.2.100
Ending IP address: 192.168.2.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.2.1
Click OK, and then click Next.
- On the Configure DHCPv6 Stateless Mode page, accept the default settings and click Next.
- On the Specify IPv6 DNS Server Settings page, in the parent domain: textbox, type in whatever DNS Suffix you want to use, I used tslab.net, and click Next.
- On the Confirm Installation Selections page, click Install.
- On the Installation Results page, click Close.
Add the WDS Transport server role
- On WDS01, using Server Manager, select Roles, and the select Add Roles.
- In the Select Server Roles list, select Windows Deployment Services and click Next.
- On the Overview of Windows Deployment Services page, click Next.
- On the Select Role Services page, clear the Windows Deployment Service checkbox so that only Transport Server role service is selected, and click Next.
- On the Confirm Installation Selections page, click Install.
- On the Installation Results page, click Close.
Create and share the RemoteInstall folder structure
- 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
- Using Explorer, and the Advanced Sharing feature, share the D:\RemoteInstall folder as REMINST.
Copy the x86 and x64 boot files
- On WDS01, using Explorer, create the D:\Mount folder.
- 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
- Leave the Deployment Tools Command Prompt open.
- Using Explorer, navigate to the D:\Mount\Windows\boot\PXE folder, copy all content to the D:\RemoteInstall\boot\x86 folder.
- Close all Explorer windows (the wim filter driver in WAIK 2.0 is really sensitive about open file handles when unmounting an image).
- 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
- 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.
- Close all Explorer windows.
- In the Deployment Tools Command Prompt, type the following command + press Enter.
Imagex /unmount D:\Mount
- Using Explorer, copy the C:\Windows\system32\reminst\boot\boot.sdi file to the D:\RemoteInstall\boot folder.
Copy the x86 and x64 boot images
- On WDS01, using Explorer, copy any x86 boot image that you want to use to the D:\RemoteInstall\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 locate in the C:\Program Files\Windows AIK\Tools\PETools\x86 folder
- Using Explorer, copy any x64 boot image that you want to use to the D:\RemoteInstall\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 locate in the C:\Program Files\Windows AIK\Tools\PETools\amd64 folder
Configure the WDS Providers
- 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
- 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
Configure the Policies
- 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
- Save the C:\Windows\system32\wdssipr.dll.conf.ini file.
Additional DHCP and WDS provider configuration
- 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
- Leave the Command Prompt open.
- 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
- Leave the Command Prompt open.
- Using the Registry Editor, configure the DHCP ports option by navigating to the HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WDSServer\Providers\ WDSPXE key, and change the UseDhcpPorts data value from 1 to 0.
- 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.
Good luck / Johan Arwidmark