How Does PXE Boot Work? | From Power-On To Boot File

PXE lets a PC start over the network by getting an IP address, finding a boot file, loading it into memory, and launching it.

PXE boot sounds mysterious until you watch the sequence once. A machine powers on, its firmware brings up the network card, it asks the local network for an address, gets told where a boot file lives, pulls that file down, and runs it. No local SSD is needed for that first step. That’s why PXE turns up in data centers, school labs, repair benches, and fresh OS rollouts.

The appeal is simple. You can start many systems from one central image, keep install media in one place, and swap local storage without losing your deployment flow. When it works, it feels clean. When it fails, it usually fails at one of a few predictable points, which makes the process easier to troubleshoot than it first appears.

PXE stands for Preboot Execution Environment. The word “preboot” tells you what it is doing: the machine has not loaded the operating system yet. It is still in firmware territory, where BIOS or UEFI has just enough network ability to fetch a small starter program. That starter program is often called the network boot program, boot loader, or NBP.

What PXE Boot Is Actually Doing

At a high level, PXE replaces the usual “read the bootloader from local disk” step with “read the bootloader from the network.” The client machine still needs a CPU, RAM, firmware, and a network adapter that can boot from the network. What it does not need is a ready local install.

That makes PXE handy in a few common cases:

  • Installing Windows or Linux across many machines at once
  • Starting diskless workstations
  • Launching rescue, imaging, or inventory tools
  • Rebuilding systems after a drive swap or wipe
  • Testing hardware before the full OS lands on disk

Most PXE setups lean on a small group of services. DHCP gives the client an IP address and points it toward the next boot step. A boot server then hands over the first file, often by TFTP. After that, the boot program may grab a kernel, an initramfs, a Windows PE image, or another payload through TFTP, HTTP, SMB, NFS, or a mix of those, depending on the setup.

How Does PXE Boot Work? Step By Step

The easiest way to grasp PXE is to follow the traffic in order. Each stage has one narrow job, and each one leaves clues behind when something breaks.

Power On And Firmware Starts The NIC

The client powers on and BIOS or UEFI starts the network adapter’s boot code. In a legacy BIOS setup, that often comes from a PXE option ROM. In a UEFI setup, the firmware uses its own network stack and protocols. The UEFI network protocol spec lays out the firmware pieces that make DHCP, TFTP, and related network boot tasks possible.

At this point, the client has no IP address and no boot file. It only knows that network boot is allowed and that it should ask the network for help.

DHCP Or ProxyDHCP Answers

The client sends a broadcast request. This is the familiar DHCP phase, with a PXE twist. The machine is not only asking for an IP address. It is also trying to learn where the first boot file lives and, in many setups, which server should provide it.

Some environments put everything in one DHCP reply. Others split duties so a normal DHCP server hands out the IP address while a PXE-aware service, often called ProxyDHCP, supplies the boot details. Either way, the client needs a valid address, subnet data, and the location of the next file.

The Client Learns The Boot File Name

Once the client has enough network data, it learns the name of the network boot program. That file name can vary by platform. A BIOS client might get one file, while a UEFI x64 client gets another. Good PXE setups sort clients by firmware type and architecture so the machine does not try to load the wrong loader.

This is one reason mixed fleets can get messy. One room full of old BIOS desktops and new UEFI laptops may need separate boot files, different menu logic, and clean DHCP rules.

TFTP Delivers The First Boot File

Next comes the file transfer. Classic PXE leans on TFTP because it is light and easy for firmware to implement. The client contacts the boot server and downloads the first file into RAM. That file is small compared with the full operating system image. Its job is to get the machine into a smarter pre-OS state.

On Windows deployment setups, this often leads into Windows PE. Microsoft’s deployment notes describe the usual pattern: a DHCP server responds to PXE requests, a TFTP service hosts the boot files, and the client downloads those files before the install flow starts. You can see that sequence in Microsoft’s PXE boot process overview.

The Boot Program Pulls Down More Files

After the first file starts, the client has more room to work. It may show a menu, ask the deployment server what task to run, or pull in a kernel and ramdisk. In a Linux path, that may mean loading vmlinuz and initrd. In a Windows path, it often means loading boot manager data and a WinPE image.

This stage is where the process shifts from “firmware with bare-bones networking” to “bootloader with a lot more logic.” That shift matters. Slow TFTP at the first stage can delay boot, yet the later stages may use faster methods and feel much smoother.

The Temporary OS Takes Over

Once the right image is in memory, the client boots into that temporary environment. From there, it can partition disks, apply an operating system image, join a domain, pull drivers, run scripts, or launch a live session. PXE itself does not install the OS. It only gets the machine to the place where installation or recovery tools can run.

That distinction clears up a lot of confusion. PXE is the entry ramp, not the full highway.

PXE Stage What Happens What Can Go Wrong
Firmware init BIOS or UEFI starts the NIC and enables network boot code PXE disabled in firmware, wrong boot order, bad NIC firmware
DHCP discovery Client asks for an IP address and boot details No DHCP reply, VLAN issue, helper address missing
PXE options received Client learns the boot server and boot file name Wrong boot file, BIOS/UEFI mismatch, stale DHCP scope data
TFTP contact Client connects to the boot server and starts the transfer Firewall block, TFTP service down, packet loss
NBP launch Network boot program runs from memory Corrupt file, unsupported architecture, secure boot conflict
Payload download Bootloader grabs kernel, ramdisk, WinPE, or menu files Slow transfer, missing files, path errors
Pre-OS handoff Temporary OS starts and deployment or recovery begins Driver gaps, storage controller not seen, script failure
OS deployment Installer or imaging tool writes the local system Image mismatch, disk rules wrong, credentials or share errors

PXE Boot Components You Need On The Network

A working PXE setup is not one magic box. It is a chain. Break one link and the boot stalls. The parts below show up in most designs, even when one server handles several jobs.

DHCP Service

DHCP hands out IP settings. In many shops it also points the client to the next-server address and boot file. In larger networks, DHCP and PXE details may come from separate services. Relay agents, sometimes called IP helpers on switches or routers, are often needed so a client on one VLAN can reach the boot services on another.

Boot Server

This server holds the first boot files. With classic PXE, that usually means TFTP. Some modern flows still start with TFTP and then switch to HTTP or SMB for larger files so boot times do not drag.

Deployment Or Imaging Server

Once the temporary environment starts, another server may hand out the operating system image, task sequence, scripts, or package data. In small labs, the boot server and deployment server are often the same system. In busy environments, teams split those roles to keep traffic tidy.

Boot Images And Loaders

The actual files matter as much as the services. Legacy BIOS loaders, UEFI loaders, signed files for Secure Boot, Windows PE images, Linux kernels, menu files, and driver packs all need to match the hardware you are trying to boot.

Why PXE Boot Feels Fast Sometimes And Slow Other Times

PXE itself is not always the bottleneck. The early TFTP stage can be sluggish, mainly on high-latency links or crowded subnets. Yet once a smarter bootloader or preinstall environment takes over, download speed may jump if the setup switches to a better transfer method.

Three things shape speed more than most people expect. First is file size. A lean starter image boots far faster than a bloated one packed with drivers and tools. Second is server placement. A boot server across a routed link will feel slower than one close to the clients. Third is the handoff design. A setup that uses TFTP only for the first small file and HTTP for the heavy lifting often feels much snappier.

Firmware type also matters. UEFI network boot is common on newer hardware, while legacy BIOS PXE still lingers on older fleets. Mixed fleets are where admins lose time, since each class of machine may need a different boot path.

Common PXE Boot Problems And What They Usually Mean

PXE errors look cryptic, yet they usually point to one layer of the chain. Once you map the message to the stage, the fix gets narrower.

No DHCP Offer

If the client never gets an address, start with the local switch, VLAN, relay rules, and DHCP scope. A dead boot server does not cause this stage to fail. The client has not reached that point yet.

TFTP Timeout

This often means the client got enough DHCP data to continue but could not fetch the first file. Look for firewall rules, wrong server addresses, wrong file names, or a TFTP service that is down.

Wrong Architecture File

A UEFI x64 system will not be happy with a legacy BIOS loader, and ARM devices need their own files. If some machines boot and others do not, architecture mapping is a prime suspect.

Secure Boot Blocks The Loader

On modern hardware, unsigned or mismatched boot files can stop the process cold. If PXE worked on old machines and fails on new ones, Secure Boot policy is worth checking early.

WinPE Or Linux Starts But Cannot See Storage Or Network

That points past raw PXE and into the temporary OS. The firmware stage did its job. Now you likely need storage or NIC drivers in the boot image, or the deployment scripts are looking in the wrong place.

Symptom Likely Layer First Place To Check
No IP address DHCP or relay Scope, VLAN, helper settings
Boot file not found PXE options Boot file name and server path
TFTP timeout Boot server reachability Firewall, service status, packet capture
Loader starts, then stops Architecture or Secure Boot Signed files and BIOS versus UEFI mapping
Preinstall OS loads, no disk seen Boot image driver set Storage controller drivers
Preinstall OS loads, no network Boot image driver set NIC drivers and VLAN tagging

BIOS PXE Versus UEFI Network Boot

People often use “PXE boot” for both, though there is a real difference. Legacy BIOS PXE grew up around option ROMs and older bootloader formats. UEFI network boot uses firmware protocols built into the UEFI model. The goal is the same: start over the network. The mechanics and file choices are not always the same.

That’s why a setup that worked for an old desktop image may need cleanup before it works on a current laptop fleet. File names differ. Secure Boot may enter the picture. The firmware menu labels differ. Some shops keep both paths alive for years while old hardware phases out.

When PXE Boot Is The Right Tool

PXE shines when you need repeatable starts from a central location. Fresh deployments are the classic use, though repair work is just as common. If a machine has a blank drive, a damaged OS, or a bad local bootloader, PXE can still get it into a working preinstall image. That lets you wipe, image, test, or recover without hunting for USB media.

It is also a good fit when you want one boot menu for many tasks. A single PXE entry point can launch a hardware test suite, a Linux live image, a Windows recovery environment, or a full operating system deployment task. That sort of central control is why PXE keeps hanging around even as cloud-managed setups get more attention.

What To Remember About How PXE Boot Works

PXE boot is a relay race. Firmware wakes the NIC. DHCP gives the client an address and the next clue. TFTP or another boot service hands over the first file. That file loads a smarter pre-OS environment, which then fetches the rest of what it needs. Once you see those stages as separate handoffs, PXE stops feeling like black magic.

That also gives you a clean mental model for troubleshooting. Ask one question at a time. Did the client get an IP? Did it learn the right boot file? Did it reach the boot server? Did the temporary OS start? Each answer cuts the search area down fast. For a process that starts before the OS even exists, PXE is surprisingly orderly once you know where each step begins and ends.

References & Sources

Please use a real email you check. If it's fake or mistyped, your message won't reach us and we can't reply — wrong addresses are rejected automatically.