Skip to content

PXE Boot & Network Installation Guide

Purpose: Network boot Proxmox VE installer for px1, px2, px3, px5 installations
PXE Server: REDACTED_IP (Gemtek TFTP server on UK LAN)
Date Created: 2026-01-16
Status: Production


Overview

PXE (Preboot Execution Environment) allows network booting of Proxmox installer from a central TFTP server, eliminating the need for USB media on each node. This guide covers:

  • What: Network boot Proxmox VE installer
  • Where: REDACTED_IP (Gemtek device, UK network)
  • When: Node reinstalls, fresh deployments
  • Why: Cleaner, faster, no USB media required

Network Architecture

LAN: REDACTED_SUBNET (UK Homelab)
     ├─ DHCP Server: REDACTED_IP (gateway/router)
     ├─ PXE/TFTP Server: REDACTED_IP (Gemtek)
     ├─ px1-silverstone: REDACTED_IP (primary cluster)
     ├─ px2-monza: REDACTED_IP (secondary cluster)
     ├─ px3-suzuka: REDACTED_IP (NAS/backup)
     └─ px5-lemans: REDACTED_IP (DR site - France, different network)

Note: px5 is on REDACTED_SUBNET (France DR network), requires separate PXE setup or USB install.


PXE Server Details

Hardware

  • Device: Gemtek TFTP server
  • IP Address: REDACTED_IP
  • MAC Address: 80:02:9C:61:B5:22
  • Status: ✅ Online & responding
  • TFTP Port: 69/UDP (open|filtered - operational)

Verification

# Test TFTP connectivity from any UK node
tftp -r proxmox-ve_9.1.pxelinux.0 -g REDACTED_IP /tmp/

# Or use nmap to verify ports
nmap -p 69 -sU REDACTED_IP  # Should show open|filtered

Supported Proxmox Versions

Current PXE images available on REDACTED_IP: - Proxmox VE 9.1 (Current in production) - Image name: proxmox-ve_9.1-1.iso - Boot file: proxmox-ve_9.1.pxelinux.0 - Kernel: proxmox-9.1.vmlinuz - Initrd: proxmox-9.1.initrd.img


PXE Boot Procedure

Step 1: Prepare Node for PXE Boot

# Option A: Graceful shutdown via SSH
ssh root@REDACTED_IP 'shutdown -h now'

# Wait for power-off confirmation (10-15 seconds)

# Option B: IPMI/Console power off (if SSH unavailable)
# Use IPMI interface or physical power button

Step 2: Enable PXE Boot in BIOS/UEFI

For Dell PowerEdge / OptiPlex nodes:

1. Power on node
2. Watch for POST screen (Dell splash)
3. Press F2 (or F12 during POST for boot menu)
4. Navigate to:
   - Boot Settings / Boot Options
   - Network Devices / Integrated NIC (Ethernet)
   - Enable PXE boot
   - Set PXE as first boot device

5. Save & Exit (F10)
6. System will reboot and query DHCP/PXE server

For BIOS (older systems):

POST → F2/Del → Integrated Peripherals/Onboard Network
→ Enable PXE → Boot Order → Network/PXE first
→ Save & Exit

Step 3: Boot from Network

System boots:
1. "Booting from PXE on Ethernet..."
2. DHCP negotiation: Gets IP 10.44.1.x
3. TFTP download: Fetches pxelinux.0 from REDACTED_IP
4. PXE menu appears with boot options
5. Select: "Install Proxmox VE"
6. Kernel + initrd load from TFTP
7. Proxmox installer GUI loads

Expected timing: - DHCP lease: 1-2 seconds - TFTP download: 3-5 seconds - Installer boot: 10-15 seconds - Total: ~20-30 seconds to installer menu

Step 4: Follow Proxmox Installer

Once in Proxmox installer: 1. Target Disk: Select correct NVMe (e.g., nvme0n1) 2. Partitioning: See "Installation Parameters" below 3. Network: Ensure IP/hostname match node requirements 4. Install: Proceed with installation


Installation Parameters by Node

px1-silverstone

Hostname:        px1-silverstone.pve
IP Address:      REDACTED_IP/16
Gateway:         REDACTED_IP
DNS:             REDACTED_IP

Target Disk:     nvme0n1 (Samsung 990 PRO 2TB)

Partitioning:
  hdsize: 100        (GB for /pve-root)
  swapsize: 16       (GB)
  maxroot: 100       (GB limit)
  minfree: 0
  maxvz: auto        (remaining ~1.7TB for LVM/Ceph)

px2-monza

Hostname:        px2-monza.pve
IP Address:      REDACTED_IP/16
Gateway:         REDACTED_IP
DNS:             REDACTED_IP

Target Disk:     nvme0n1 (Crucial P2 2TB)

Partitioning:
  hdsize: 100        (GB for /pve-root)
  swapsize: 16       (GB)
  maxroot: 100       (GB limit)
  minfree: 0
  maxvz: auto        (remaining ~1.8TB for LVM/Ceph)

px3-suzuka

Hostname:        px3-suzuka.pve
IP Address:      REDACTED_IP/16
Gateway:         REDACTED_IP
DNS:             REDACTED_IP

Target Disk:     sda (120GB SATA or largest available)

Partitioning:
  hdsize: 100        (GB for /pve-root)
  swapsize: 8        (GB)
  maxroot: 100       (GB limit)
  minfree: 0
  maxvz: auto        (remaining for LVM)

px5-lemans (France - Special Case)

Hostname:        px5-lemans.pve
IP Address:      REDACTED_IP/16        ← Different network!
Gateway:         REDACTED_IP
DNS:             REDACTED_IP

Target Disk:     [appropriate for hardware]

NOTE: px5 is on separate 10.35.x network (France)
      May need separate PXE setup or USB install
      Consult France infrastructure documentation

Troubleshooting

Node doesn't boot from network

Problem: "PXE-E61: Media test failure, check cable"

Solutions: 1. Verify BIOS/UEFI has PXE enabled as first boot device 2. Check network cable connected to correct NIC 3. Verify DHCP is responding: Press Ctrl+Alt+F2 → dhclient -v 4. Fall back to USB installer if PXE unavailable

Installer doesn't download from PXE server

Problem: Hangs at "TFTP transfer..."

Solutions: 1. Verify REDACTED_IP is reachable: ping REDACTED_IP 2. Verify TFTP port 69: nmap -sU -p 69 REDACTED_IP 3. Check network MTU (should be 1500): ip link show 4. Try USB installer as fallback

Wrong hostname/IP set during install

Problem: Node boots but cluster doesn't recognize it

Solutions: 1. Verify hostname: hostname (should match exactly, case-sensitive) 2. Verify IP: ip addr show (should match node requirements) 3. Update if needed: Edit /etc/hostname and /etc/network/interfaces 4. Restart networking: systemctl restart networking 5. Rejoin cluster: pvecm add REDACTED_IP

After install: Node can't reach network

Problem: Network unreachable after Proxmox install

Solutions: 1. Check interface: ip link show (should show ethX/ens0 as UP) 2. Check DHCP: ip addr show (should have 10.44.1.x address) 3. Restart networking: systemctl restart networking 4. Check DNS: cat /etc/resolv.conf (should list REDACTED_IP)


USB Fallback (If PXE unavailable)

If PXE boot fails:

# On separate machine with USB drive
wget https://www.proxmox.com/en/downloads/item/proxmox-ve-9-1-iso
sudo dd if=proxmox-ve_9.1.iso of=/dev/sdX bs=1M status=progress
sudo sync

# Insert USB into target node and boot

See Proxmox USB Installation Guide for detailed USB installation steps.


Post-Installation: Cluster Rejoin

After fresh install (PXE or USB):

# SSH to new node
ssh root@REDACTED_IP

# Verify network
ip addr show | grep REDACTED_IP
ip route show

# Rejoin Proxmox cluster (via existing node)
pvecm add REDACTED_IP      # Join via px2
# Enter cluster password when prompted

# Verify
pvecm status
pvecm nodes

PXE Server Administration

Who manages REDACTED_IP?

  • Hardware: Network/Infrastructure team
  • TFTP Images: [Contact responsible team]
  • Maintenance: [Provide escalation procedure]

Adding new Proxmox versions to PXE

Contact PXE server administrator with: 1. Proxmox ISO filename 2. Version number 3. Desired PXE label 4. Boot parameters (kernel/initrd)

Typical PXE Menu Structure

PXE Boot Menu @ REDACTED_IP

1. Proxmox VE 9.1 (Current Production)
2. Proxmox VE 8.4 (Legacy - EOL)
3. Debian 12 (System rescue)
4. Ubuntu 24.04 (Minimal)
5. Boot from local disk

Performance Notes

PXE vs USB Comparison:

Aspect PXE USB
Speed 20-30s boot 30-45s boot
Setup Network enabled Physical USB needed
Reusability Shared on network Single device
Reliability DHCP dependent Standalone
Cost One-time server One per node

Best Practice: Use PXE for UK nodes (10.44.x network), USB for isolated deployments or px5 (France).



Last Updated: 2026-01-16
Author: Automation / Infrastructure Team
Status: Production
Next Review: 2026-06-16