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.