Windows Deployment Services
Windows Deployment Services is a server technology from Microsoft for network-based installation of Windows operating systems. It is the successor to Remote Installation Services. WDS is intended to be used for remotely deploying Windows Vista, Windows 7, Windows 8, Windows 10, Windows Server 2008, Windows Server 2012 and Windows Server 2016, but also supports other operating systems because unlike its predecessor RIS, which was a method of automating the installation process, WDS uses disk imaging, in particular the Windows Imaging Format (WIM). WDS is included as a Server Role in all 32-bit and 64-bit versions of Windows Server 2008, and is included as an optionally installable component with Windows Server 2003 Service Pack 2.
Automated image capture and apply
WDS functions in conjunction with the Preboot Execution Environment (PXE) to load a miniature edition of Windows known as Windows PE for installation and maintenance tasks. WDS functions as both a storage repository for the PXE network boot images as well as a repository for the actual operating system images to be installed on the target computer.
When multiple boot images are available, PXE booting via WDS will present the end-user with a boot menu to select the image to load.
Windows PE automation using Windows Assessment and Deployment Kit
To simplify the tasks of capturing and applying images, two special scripted Windows PE boot images can be created which automate these tasks. These scripted Windows PE boot images are created using the Windows Assessment and Deployment Kit (Windows ADK; previously named Windows Automated Installation Kit, WAIK), in combination with Windows 7 installation media containing the source WIM images, and then added to the WDS server's boot image repository. The Windows PE boot images may be either 32- or 64-bit, but 32-bit tends to be more universally compatible across all potential hardware types.
A difficulty of Windows PE booting is that it needs to include network drivers and disk controller drivers intended to work with the target hardware to be imaged. The process of adding drivers to the Windows PE boot image can be automated using the WDS server console:
- Select the source WIM image, which may be either a new one created from original Windows 7 installation DVDs (32- or 64-bit), or a previously configured WIM.
- Select the drivers to install into the WIM
- WDS mounts the WIM to a virtual path, adds drivers to the virtual path, and generates a new WIM
- The updated WIM image is added to the boot image section of the WDS repository
This process can be repeated at a later time when a new system type needs to be captured but the current Windows PE Capture boot image does not include network drivers for it. The boot image is updated with the additional drivers using the WDS interface and automatically re-added to the WDS boot image collection to replace the original.
For specialty one-off systems this WIM driver update process is not necessary if the hard drive of the target system to be captured is removed from the source system after sysprepping, and is either installed in a computer with supported network drivers, or attached to the supported system using an external "USB to hard drive" adapter.
Automated apply process
Applying a captured image involves running a second Windows PE "Apply" boot image on the target system to receive the image. This boot image also needs the appropriate network and disk controller drivers as with the Windows PE Capture boot image.
- The system is booted using PXE network booting and the Windows PE Apply image is loaded.
- The operator logs on to the domain, and selects the boot image to apply.
- A disk partitioning screen appears and the location for the target image is selected. If the target storage is unformatted, a default partition set is created. For Vista and Windows 7, a small 100 megabyte boot partition is created for storing bootloader data separate from the rest of the system partition. This boot partition is normally hidden from the Windows Vista/7 user.
- The image data is applied to the selected partition, and the system reboots, either running the Sysprep manual mini-setup process or following the script created during the initial Sysprepping.
The WDS image creator may optionally select a separate WAIK / Sysprep installation script to be applied to the image during the first boot. This alternate script is selected within WDS by viewing the properties of each uploaded system image.
Manual image capture and deploy
It is technically possible to create scripts that manually perform the imaging, capture, and apply processes, using command line tools provided by Microsoft. However, the methods for doing this are complex and difficult.
In general, the tools involved are:
- dism - Deployment Image Service and Management Tool, used to add drivers to Windows PE boot images.
- imagex - used to capture and apply images. Creates either a single WIM structure, or can deduplicate data using a second shared resource WIM. Does not require a Windows Deployment Server to capture or apply images, and can work solely with a logged-on network share or mapped drive letter.
- wdsutil - used to manage the WDS server without the graphical user interface, and to add captured images to the repository.
Using imagex to manually create a WIM does not require the source operating system to be sysprepped or for the source partition to contain a Windows operating system. Any type of Windows-accessible file system can be imaged, including MSDOS, but the source system either needs to be able to run Windows PE or the source system's hard drive is moved into a newer system that supports Windows PE.
Microsoft generally requires Windows 2000, XP, Vista, and Windows 7 to be sysprepped before imaging, due to certain security-related disk data that Microsoft requires to be unique across duplicated system images. Sysprep randomizes this data when the image is applied to a new system.
Imagex does not have any disk formatting and partitioning capabilities. Separate Windows command line tools such as diskpart are needed to define partitions on the target system for imagex to use.
- "Windows Deployment Services". Retrieved 2015-08-28.