This is the first in a three part series on “The Ultimate PXE Server Configuration.” PXE is the protocol that your network card can use to boot from the network. Having a good PXE server is a major need on every decently sized network or home lab. It’s really nice to never have to scrounge for a USB thumb drive or accumulate piles of burnt CDs that are only used once. All of those headaches can be avoided with a properly configured PXE server.
Microsoft Windows Server 2008 and 2012 both include what’s called WDS. This stands for Windows Deployment Services. This is a network boot (PXE) environment that allows you to install all sorts of different Windows versions, all over the network. A network install of Windows 7 or 8 over a gigabit network takes just a few minutes. It’s insanely fast.
In the Linux world, the defacto standard for PXE is the SysLinux package. It’s excellent for installing various Linux distributions, hypervisors (like vmware and xen), and tools (such as gparted, AV software, and disc cloning utilities). It even supports Windows installations, sort of. But, it’s quite a hassle.
In a perfect world, we would just combine both of these so that we can use WDS to take care of the Windows installations, and use SysLinux to handle linux installations, tools, and everything else. Well, guess what? You can, and that’s exactly what were going to to do in this series. The first post, the one you’re reading, covers installing WDS on Microsoft Windows Server 2012 R2. The second post will cover adding SysLinux to WDS. The third and final part will cover adding a ton of useful tools and installation sources. So, let’s get it started.
Installing WDS on Server 2012 R2
There are a few requirements for a WDS installation.
- Active Directory – You need to run dcpromo on your WDS server to make it a domain controller if you don’t already have one already.
- DHCP – It’s best to use Microsoft’s DHCP server, and like AD, I will be installing this service right along side WDS on a single server.
- DNS – WDS needs DNS, which you will obviously have if you have a domain controller.
- (Optional) Web Server – IIS will work well. Some packages install via http. This isn’t needed for Windows installation.
- (Optional) NFS Server – The NFS Server role under file and storage services works well. This isn’t needed for Windows installation.
So, the requirements aren’t too extravagant. You might also want a web server (IIS) and an NFS server (NFS server role) to allow some advanced options like booting full blown operating systems and xenserver hypervisor installation. These are optional. They are all useful services to have on a home lab or any business network. In this scenario, I’m installing Active Directory (domain controller), DCHP, DNS, IIS, NFS Server, and WDS all on a single server. Before continuing, make sure you have at least AD DS, DHCP and DNS installed or available on your network.
Adding the WDS Role
Open Server Manager and click on Manage > Add Roles and Features. Go through the wizard until you get to the Server Roles page. Scroll down to the bottom and select “Windows Deployment Services.”
Once the installation has completed its status will be “Installation succeeded.”
Now, click on Tools > Windows Deployment Services.
As you can see, WDS is installed, but it’s not configured. Go ahead and expand the Servers group, then right-click on your server and select Configure Server.
The first page reiterates the requirements we talked about earlier. The second page asks you if you want WDS Integrated with Active Directory, which you do. So, select Integrated with Active Directory and select Next.
The next page is important. The remote installation path is where all images and boot related files will be stored. Make sure this is located somewhere with a good bit of free space. I suggest, at minimum, 40GB of free space.
Now WDS needs to know a little about your DHCP setup. In my case, it detected Microsoft DHCP server was installed on this server, so it checked both checkboxes for me. Be sure to make appropriate adjustments for your configuration.
The next page deals with which computers the WDS / PXE boot server will respond to. You have three options, two of which are actually viable. Respond only to known client computers requires you to put in a computer’s mac address into WDS before it will offer it the option of booting over network. I think this is a pain, but it might be necessary for security on a business network. I am setting this server up for convenience and ease, so I’m going to select the bottom option, Respond to all client computers (known and unknown). This will allow any computer with network boot option rom enabled in the BIOS to boot from the network.
Once you get to the last and final page, WDS attempts to start. Don’t be alarmed if you get a message saying “The service did not respond to the start or control request in a timely manner.” I get this every time. It’s not a big deal. Go ahead and click Finish.
If you got the warning about the service not starting, right click on the WDS server again, then go to All Tasks > Start. This will start the service for you.
That’s it! Microsoft Windows Deployment Services is now installed and working. To boot a computer from the network to install Windows, simply enable the lan option rom (sometimes the name varies) and make sure you put the network card as the first option in the boot order. You will have to hit F12 once it sees the server, otherwise it will skip past and continue trying the boot order.
You will need to add at least one image to the WDS server before you can do a network installation, so be sure to check out my post on Adding Images to WDS server to install Windows 7 and Server 2012 via PXE boot!