Implementing a PXE Server to Install Windows OS

Preboot Execution Environment (PXE) is a protocol that allows computers to boot and install operating systems over a network. In this guide, we will focus on setting up a PXE server to install Windows operating systems on multiple client machines.

Table of Contents

  1. Introduction to PXE
  2. Requirements
  3. Setting Up the PXE Server
    • Installing and Configuring DHCP
    • Installing and Configuring TFTP
  4. Preparing Windows Installation Files for PXE
  5. Configuring the Windows Deployment Services
  6. Booting a Client via PXE
  7. Troubleshooting Common Issues
windows-pxe-server

1. Introduction to PXE

PXE allows network booting of computers to deploy operating systems. For Windows installations, PXE typically uses Windows Deployment Services (WDS) on a Windows Server, which combines DHCP, TFTP, and network booting functionalities.

2. Requirements

  • A Windows Server (2012, 2016, or 2019) with Windows Deployment Services (WDS) role installed.
  • Windows installation media (ISO or DVD).
  • A properly configured DHCP server.

3. Setting Up the PXE Server

Installing and Configuring DHCP

Ensure your DHCP server is running and configured correctly. If you’re using Windows Server, you might already have DHCP configured.

  1. Open Server Manager and add the DHCP role if not already added.
  2. Configure a DHCP scope that includes the IP address range, subnet mask, and other options.

Installing and Configuring TFTP

Windows Deployment Services (WDS) includes a TFTP server, so you do not need a separate TFTP server. Ensure WDS is installed:

  1. Open Server Manager and click on “Add roles and features”.
  2. Select the Windows Deployment Services role and complete the wizard.

4. Preparing Windows Installation Files for PXE

  1. Copy the contents of the Windows installation media to a folder on your server (e.g., C:\WindowsInstall).

5. Configuring Windows Deployment Services

  1. Open the Windows Deployment Services console from Server Manager.
  2. Right-click on the WDS server node and select “Configure Server”.
  3. Follow the wizard:
    • Select “Integrated with Active Directory” if your environment has AD, or “Standalone” otherwise.
    • Specify the folder where the WDS server will store its files (e.g., C:\RemoteInstall).
    • Choose “Respond to all client computers (known and unknown)” if you want to allow all clients to PXE boot.
  4. Add the boot and install images:
    • Right-click on “Boot Images” and select “Add Boot Image”. Navigate to the boot.wim file from the Windows installation media (usually found in the sources folder).
    • Follow the prompts to add the boot image.
    • Repeat the process for the install image by right-clicking on “Install Images” and selecting “Add Install Image”. Use the install.wim file from the Windows installation media.

6. Booting a Client via PXE

  1. Ensure the client machine’s BIOS is configured to boot from the network.
  2. Start the client machine and it should receive an IP address from the DHCP server.
  3. The client will download the boot files via TFTP and present the boot menu.
  4. Select the Windows installation option and follow the on-screen instructions.

7. Troubleshooting Common Issues

  • DHCP Issues: Ensure the DHCP server is correctly configured and running. Check the IP address ranges and options.
  • WDS Issues: Verify the WDS server is running and accessible. Check the server logs for any errors.
  • Boot File Issues: Ensure the boot and install images are correctly added to WDS.

Additional Tips

  • Driver Packages: If your client machines require specific drivers, you can add driver packages to WDS to ensure they are available during installation.
  • Unattended Installations: To automate the Windows installation process, you can create and use unattended installation files (answer files).

By following these steps, you can set up a PXE server to deploy Windows operating systems efficiently across multiple client machines. PXE booting with WDS is a powerful tool for network administrators, making the deployment process streamlined and automated.

Leave a Comment

Your email address will not be published. Required fields are marked *