Description of Windows Deployment Services (WDS)

Before you start

Objectives: Learn what is Windows Deployment Services, when do we use it, and what are the specifics about it.

Prerequisites: you should know about automated Windows installation.

Key terms: wds, image, server, boot, windows, client, install, file, capture, deployment, network


Imaging

Imaging is a process of taking a snapshot of the whole hard disk of any computer or server, and storing it to the file. So, a single image file contains the whole operating system installation. We can take that image and then deploy it to multiple computers at the same time. The benefit of this is that we only have to spend our time to configure one system, which we can use to create system images. Those images can then be deployed to other machines. The image which we deploy to other machines is called the base or source image.

WDS

The Windows Deployment Services (WDS) server role enables us to deploy Windows operating systems to client and server computers. Before we go any further in describing what a Windows Deployment Services are, we have to be aware that it is not available in all editions of Windows Server. Starting from Windows Server 2008, the WDS role is available in all Windows Server editions. The WDS can be used deploy Windows Server editions, Windows 8, Windows 7, and even earlier versions of Windows. By using WDS, client computers without the OS can boot from the network, contact the WDS server, download and install the operating system. WDS uses images for the installation.

WDS Images

We can have several types of images on our WDS server. We can extract those images from our DVD installation media or from downloadable media.

The first type of the WDS image is install image. Install image stores the operating system that will be installed on the client computers. When it comes to the image-based technology that is used for Windows Server 2008 and Windows 7 OS, a single Windows image can store all the different editions within a single WIM file. A WIM file is a Windows image file, so an image  has a .wim extension.Install.wim can be located on the DVD installation media in the “sources” folder at the root of the DVD media. Each image is architecture specific (64 bit Itanium, 64 bit and 32 bit installations). When we add the install image in WDS, we can identify the editions that will be available for clients to install. When a client connects to the WDS server, a menu will be shown allowing us to select the edition to install. Each install image is architectural specific, which means that it can hold a 32-bit version or 64-bit version, along with different editions inside of it.

Another type of WDS image is the boot image. Boot images are used to boot computers before the install image is loaded. It holds the minimal operating system (Windows PE) that is sent to the client when it first connect to the WDS server. The default boot image file is called boot.wim, and this file is available on the operating system DVD in the \Sources folder. During the boot process our client computer will first contact the WDS server, after which the server will send a boot image file to the client. The boot image file contains the WDS client software which is installed and started. Users will see a boot menu in which they will see the available operatings systems to install from the WDS server. So, the boot image will list all of the available install images. We can also have multiple boot images on our WDS server. In that case, clients will see a menu of boot images and be able to select the proper one.

In addition to the basic boot image, we also have two additional types of boot images. One of them is the capture image which is created by WDS to capture an existing image and store it onto the WDS server for later deployment. With capture boot image we can create custom install images. To do that first we have to create the capture boot image from a regular boot image. This image will include Windows PE and WDS Image Capture Wizard. We have to have a reference computer (which we have set up and customized earlier). On the reference computer we run the Sysprep utility to prepare it for the image capture. Then we boot the reference computer to the network and connect it to the WDS server. On the WDS server we select the capture image that we created earlier. Then we can use the Capture Wizard to select the disk partition containing the installation we want to capture, and a location to save the resulting image.

WDS uses a PXE method for client booting. PXE enables clients to boot of the network, to find WDS services and to load boot image. So, for client to be able to contact WDS server, the client network card must be PXE compliant, and most of todays NICs are. For cards that don’t support PXE, we have another type of boot image which is the discover boot image. Discover image can be used for computers that are not PXE compliant. That means that those computer cannot boot of the network. Discover image first has to be manually created on the WDS server, after which we can transfer it to external media such as CD, DVD or USB drive. Then we can use that media to boot up the computer into the discover image, which will then allow us to connect to the WDS server over the network. So, remember that clients have to have a PXE compliant NIC in order to contact the WDS server. If the NIC is not PXE compliant, then we must use another means of network boot such as a Windows PE trough the discover image of the WDS server. We can use WAIK tools to create an ISO image that contains the discover boot image. ISO can then be burned to CD or DVD using some tool that is capable of creating a disc from ISO.

Deployment Steps

When we boot our computer, we will use the PXE technology on our NIC to locate the WDS server. The WDS server then sends the boot image to the client. After the client chooses the proper install image, the image will be copied from the install image on the WDS server to the client computer. The installation process will appear as if we’re running it from a local media, but it is really being streamed from the WDS server. We can also configure an unattended installation on the WDS server using the answer files. With WDS we use two separate unattend (answer) files. The first file is Windows Deployment Services client unattend file and we use it to automate the WDS client screens. This includes configuration of authentication, selecting the install image, disk configuration, etc. This file is stored in \WDSClientUnattend and it uses the Unattend.xml format. The other file is the “Image unattend” file which automates the remaining setup process. Depending on the operating system version, it will use either the Unattend.xml format or the Sysprep.ini format. This file is stored in $OEM$ structure or \Unattend subfolder.

WDS Requirements

WDS server has some requirements. WDS requires that we have an Active Directory environment with the DNS server. We also need a DHCP server which will handle IP addressing. In addition, images have to be stored on NTFS partition. WDS is not available on the Windows Server 2008 Core installations. If we don’t have an active directory environment, we can take advantage of MDT or Microsoft Deployment Toolkit. We can also use ImageX and DISM to manage our images. All those tools are free, but if we are in an environment where we have many computers, we can take advantage of the WDS to maintain images.

WDS Features

WDS supports unicast and also multicast transmissions. Unicast transmits a separate image to each individual client, while multicast transmits a single image which is received by all clients configured to receive it. So, by using multicast we can send one image over the network to the multiple computers. This way we save some bandwidth on our network. WDS also supports scheduled casting. By using a schedule we can transfer images at a certain time or after a certain number of computers have contacted the WDS server, or both. This way we can deploy our images off peak times. Answer files must be used for unattended installations.

We can configure our WDS server to respond to clients in three different ways:

  • Not Respond – we can enable this if we don’t want our WDS to respond to any client requests.
  • Respond to Known – for this we have to have Active Directory (AD) available. All computers in AD (members of the domain) will be able to contact WDS. This way we can prevent unknown computers from accessing WDS. For computers that are not members of AD, and on which we want to install our image, we can use Pre-staging. By pre-staging our computer, we pre-create the computer account in AD with the proper names. When the pre-staged computer contacts WDS, it will supply it its existing computer name and in that way the WDS server will allow the imaging process.
  • Respond to All – any computer that requests image from WDS will receive the image.

WDS is an update to Remote Installation Services (RIS) that was available in Windows 2003. We can also manage our WDS server by using WDSUTIL command line utility.

Remember

WDS server role enables the deployment of Windows operating systems over the network, like Server 2008, Windows 7 and earlier versions. An install image contains operating system that will be installed on client computers. A boot image is a Windows PE that is sent to the client when it first connects to the WDS. A capture boot image is used to create custom install images. A discover boot image is used when we don’t have PXE enabled NIC (we place it on removable media such as CD, DVD or USB). For WDS we have to have an Active Directory, DNS server, DHCP server, and we have to use NTFS for the WDS store. We can automate the installation process on WDS by using Windows Deployment Services client unattend file and Image unattend file. WDS supports unicast and multicast transmission methods.

1 thought on “Description of Windows Deployment Services (WDS)

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Giveaway: EaseUS Data Recovery Pro licence ($89.95 worth). Read more
+
%d bloggers like this: