netboot.xyz is a network-based bootable operating system installer built on iPXE that provides a unified menu interface for booting and installing multiple operating systems over the network.
The tool solves the problem of managing diverse operating system installations across heterogeneous hardware by centralizing boot images and installers in a single network-accessible location. Rather than maintaining separate bootable media for each OS or hardware configuration, netboot.xyz uses iPXE to chain-load operating system installers from a central server. Users boot their machines via PXE, DHCP, or physical media, and are presented with a menu to select and install their preferred operating system. The approach supports both legacy BIOS and UEFI firmware, with specialized bootloader variants for different hardware scenarios including virtual environments, USB keyboards, and ARM64 systems.
The tool suits organizations and individuals managing bare-metal infrastructure, homelabs, or virtualized environments where rapid OS provisioning is valuable. It works well for anyone who regularly installs multiple operating systems across different machines and wants to eliminate the friction of creating and managing individual installation media. The project provides bootloaders in multiple formats—ISO, USB image, kernel, floppy, and DHCP variants—allowing flexibility in how machines are booted, whether from physical media, virtual CD/DVD emulation, or direct network boot. This breadth of bootloader options makes it adaptable to legacy hardware, modern systems, and edge cases like machines with USB keyboard compatibility issues.
The project maintains active engagement with its community through regular updates to supported operating systems and bootloader variants. Development includes responsiveness to hardware compatibility issues, as evidenced by the provision of specialized bootloader builds for specific scenarios like USB legacy support and EFI Simple Network Protocol variants. The codebase uses Jinja templating to manage the complexity of generating bootloader configurations and menu systems across multiple architectures and firmware types.