Network booting, shortened netboot, is the process of booting a computer from a network rather than a local drive. This method of booting can be used by routers, diskless workstations and centrally managed computers (thin clients) such as public computers at libraries and schools.
Network booting can be used to centralize management of disk storage, which supporters claim can result in reduced capital and maintenance costs. It can also be used in cluster computing, in which nodes may not have local disks.
In the late 1980s/early 1990s, network boot was used to save the expense of a disk drive, because a decently sized harddisk would still cost thousands of dollars, often equaling the price of the CPU.
Contemporary desktop personal computers generally provide an option to boot from the network in their BIOS/UEFI via the Preboot Execution Environment (PXE). Post-1998 PowerPC (G3 – G5) Mac systems can also boot from their New World ROM firmware to a network disk via NetBoot. Old personal computers without network boot firmware support can utilize a floppy disk or flash drive containing software to boot from the network.
The initial software to be run is loaded from a server on the network; for IP networks this is usually done using the Trivial File Transfer Protocol (TFTP). The server from which to load the initial software is usually found by broadcasting a Bootstrap Protocol or Dynamic Host Configuration Protocol (DHCP) request. Typically, this initial software is not a full image of the operating system to be loaded, but a small network boot manager program such as PXELINUX which can deploy a boot option menu and then load the full image by invoking the corresponding second-stage bootloader.
Netbooting is also used for unattended operating system installations. In this case, a network-booted helper operating system is used as a platform to execute the script-driven, unattended installation of the intended operating system on the target machine. Implementations of this for Mac OS X and Windows exist as NetInstall and Windows Deployment Services, respectively.
Before IP became the primary Layer 3 protocol, Novell's NetWare Core Protocol (NCP) and IBM's Remote Initial Program Load (RIPL) were widely used for network booting. Their client implementations also fit into smaller ROM than PXE. Technically network booting can be implemented over any of file transfer or resource sharing protocols, for example, NFS is preferred by BSD variants.