PXE (Preboot Execution Environment) is a client-server interface that enables computers to boot over a network connection rather than from a local drive. This allows for centralized and automated operating system deployment across multiple machines.
Table of Contents
Overview of the PXE Boot Process
Here are the key steps in the PXE boot process:
- The client computer broadcasts a DHCP request to get an IP address and PXE configuration details.
- The DHCP server provides the client an IP address and the location of the PXE boot server.
- The client contacts the PXE boot server and downloads the boot image using TFTP (Trivial File Transfer Protocol).
- The client boots into the image downloaded over the network rather than booting from its local drive.
Key Components:
- PXE-enabled client – Client computer with PXE-capable NIC
- DHCP server – Assigns client an IP address and provides PXE configuration
- TFTP server – Hosts the boot image files
- Boot image – Mini OS image that is loaded over network
Advantages of PXE Boot
Some key advantages of using PXE boot:
- Centralized OS deployment – Easy to deploy OS images to multiple client machines over the network.
- Headless systems – Enables OS deployment on systems without local drives.
- Rapid provisioning – Machines can be quickly provisioned with an OS over the network.
- Consistent configurations – Same OS image can be deployed to all clients.
PXE Boot Process Explained
Here is a more detailed look at what happens during a PXE boot:
- The client’s PXE-enabled NIC sends out a DHCP broadcast request.
- The DHCP server sees the PXE request and responds with an IP address, next server address (TFTP server), and the boot image filename.
- The client contacts the TFTP server and downloads the boot image file.
- The client executes the boot image, which loads a minimal OS used to retrieve the rest of the OS.
- The full OS image is loaded from the OS deployment server via TFTP/HTTP/NFS.
- The OS deployment server uses automation tools like Kickstart or WDS to deploy the OS unattended.
Configuring Infrastructure for PXE Boot
Here is how to configure the key infrastructure components:
DHCP Server:
- Configure DHCP options 66 and 67 to provide PXE boot server details.
- Create reservations and scope options for PXE clients.
TFTP Server:
- Place boot image files in the TFTP server’s folder.
- Ensure the files have proper permissions.
OS Deployment Server:
- Host OS install images and automation tools like WDS.
- Configure services like TFTP, HTTP for image hosting.
Client BIOS:
- Enable PXE support and boot option in NIC.
- Prioritize PXE boot over local drives.
Troubleshooting Common PXE Issues
Some common PXE boot issues and fixes:
- PXE-E53 error – TFTP server is unreachable. Check network, server settings.
- Boot failure – Client gets IP but fails to boot. Verify boot image is compatible with client hardware.
- Timeout issues – Increase DHCP lease time and enable retries.
- Boot order problems – Prioritize PXE boot over local drives in BIOS.
Conclusion
PXE boot enables easy and centralized OS deployment on multiple client machines over the network. With key infrastructure services like DHCP, TFTP properly configured, entire OS installations can be automated without user intervention. PXE works over both IPv4 and IPv6 networks, making it a versatile deployment solution.
References
[1] https://www.pubconcierge.com/blog/start-pxe-over-ipv4-how-to-fix-it/
[2] https://techcommunity.microsoft.com/t5/itops-talk-blog/how-does-the-pxe-boot-process-work/ba-p/888557[3] https://kinsta.com/blog/ipv4-vs-ipv6/