💻

PXE Overview and Process

Jun 18, 2025

Overview

This lecture explains the Preboot Execution Environment (PXE), a standard network-based system for booting and deploying software on computers, especially in data centers and enterprise environments.

PXE Basics and History

  • PXE is a client-server model allowing computers to boot software from a network using standard protocols.
  • It only requires a PXE-capable network interface controller (NIC) on the client.
  • PXE uses protocols such as DHCP (for configuration) and TFTP (for file transfer).
  • PXE evolved from earlier technologies like BOOTP and TFTP and became part of the UEFI firmware standard.

PXE Boot Process

  • The client broadcasts a DHCPDISCOVER packet with PXE options to locate network boot resources.
  • DHCP provides network parameters; PXE options specify TFTP server and Network Bootstrap Program (NBP).
  • The client downloads the NBP using TFTP and executes it, usually fetching more files to load a minimal OS.
  • Once initial OS is loaded, further files are often downloaded using faster protocols like HTTP, CIFS, or NFS.

Network Infrastructure and ProxyDHCP

  • PXE environments integrate with existing DHCP and TFTP services.
  • A proxyDHCP server provides PXE-specific data (like TFTP server and NBP filename) separately from the main DHCP server.
  • ProxyDHCP commonly runs on port 4011/UDP, while standard DHCP uses port 67/UDP.

Firmware and Architectures

  • Early PXE support was via Option ROMs on NICs; now, it's in NIC firmware or UEFI firmware.
  • PXE version 2.1 defined architectural identifiers for various system types, but mostly supported IA-32.
  • Modern systems use DHCP option 93 to indicate client architecture for correct boot image selection.

Adoption and Implementations

  • PXE is widely used in data centers and nearly all network cards now have PXE firmware.
  • Major Linux distributions, Windows deployment tools (RIS, WDS, MDT, SCCM), and various open-source boot managers (PXELINUX, gPXE/iPXE) support PXE.
  • PXE is the fastest method for operating system deployment compared to CD, DVD, or USB.

Related and Descendant Technologies

  • Apple's BSDP (used by NetBoot) is a PXE-like protocol layered on DHCP, allowing Mac computers to network boot.
  • Microsoft's BINL is a proprietary server-side PXE extension used with RIS and WDS for Windows deployments.

Key Terms & Definitions

  • PXE (Preboot Execution Environment) — Standard for network booting using a client-server model.
  • DHCP (Dynamic Host Configuration Protocol) — Assigns network settings to clients.
  • TFTP (Trivial File Transfer Protocol) — Simple protocol for transferring files, used to download boot files.
  • NBP (Network Bootstrap Program) — The initial program loaded over the network by PXE clients.
  • ProxyDHCP — Separately provides PXE-specific DHCP options to clients.
  • UEFI (Unified Extensible Firmware Interface) — Modern firmware interface that includes PXE support.

Action Items / Next Steps

  • Review the DHCP and TFTP protocol basics.
  • Explore how PXE is enabled and configured in UEFI and BIOS settings.
  • Investigate deployment workflows using PXE in a virtualized lab environment.