Preboot eXecution Environment (PXE Boot) is a protocol that boots computers without using a hard drive or an operating system. PXE Boot runs over a network of computers and may or may not include internet access. It is almost exclusively used in systems that are connected to a central server and uses subsequent computers to run virtual operating systems.
The difference between Legacy boot and UEFI
Firmware is the piece of software that acts as an interface between the hardware(motherboard) and the Operating System. The difference between UEFI Boot and Legacy boot is the process that the firmware uses to find the boot target.
Legacy Boot is the boot process used by Basic Input/output System (BIOS) firmware. BIOS was the first popular firmware for desktop PC introduced in 1975 by IBM for its CP/M OS. Even though it is still widely present, computers have evolved tremendously and BIOS is unable to provide advanced features of modern hardware. The firmware maintains a list of installed storage devices that may be bootable (Floppy Disk Drives, Hard Disk Drives, Optical Disk Drives, Tape Drives, etc…) and enumerates them in a configurable order of priority. One the POST procedure has completed; the firmware loads the first sector of each of the storage targets into memory and scans it for a valid Master Boot Record (MBR). If a valid MBR is found, the firmware passes execution to the boot loader code found in the MBR which allows the user to select a partition to boot from. If one is not found, it proceeds to the next device in the boot order. If no MBR is found at all, the user is presented with the famous “Please insert system disk yadda yadda yadda”
Unified Extensible Firmware Interface(UEFI) Boot is the successor to BIOS. UEFI uses the GUID Partition Table (GPT) whereas BIOS uses the Master Boot Record(MBR) partitioning scheme. GPT and MBR are both formats specifying physical partitioning information on the hard disk. The firmware maintains a list of valid boot volumes called EFI Service Partitions. During the POST procedure, UEFI firmware scans all of the bootable storage devices that are connected to the system for a valid GUID Partition Table (GPT). Unlike an MBR, a GPT does not contain a boot loader. The firmware itself scans the GPTs to find an EFI Service Partition to boot from. If no EFI bootable partition is found, the firmware can fall back on the Legacy Boot method. If both UEFI boot and Legacy boot fail, the famous “Please insert system disk yadda yadda yadda” will be presented.
Below is the primary difference between both boot processes:
- Max partition size in MBR is ~2TB whereas in UEFI it is ~9 ZetaBytes
- MBR can have at max 4 primary partition whereas GPT can have 128.
- MBR can store only one bootloader whereas GPT has a separate dedicated EFI System Partition(ESP) for storing multiple bootloaders. This is very helpful if you have two or more operating systems which require different bootloaders.
- UEFI offers secure boot which can prevent boot-time viruses from loading.
Why Legacy PXE?
In modern data centers, PXE is one of the most frequent choices for operating system booting, installation, and deployment. Some of the advantages of legacy PXE are:
- PXE Boot can be run over a network and does not require local hard drives or an operating system. However, if a hard drive is attached to the client computer, PXE Boot will have access to it as long as computer boots from the network first.
- Likewise, an operating system may be accessed through PXE Boot if the operating system exists on the client computer and the server commands PXE Boot to do so.
- PXE Boot can be deployed without Internet access if the client computer is connected to a central server through a LAN (Local Area Network).
- It is a flexible, modular and efficient Boot process.
- The client machine or workstation does not require a storage device or operating system.
- Network extension and the addition of new client computers is made easier because PXE is vendor-independent.
- Maintenance is simplified because most tasks are performed remotely.
- Centralized data storage provides information security.
- PXE is very fast and very useful. We installed thousands of machines here with a PXE boot, using Debian’s FAI, Kickstart, and a modified BSD installer. It’s definitely one of the easiest ways to install machines, especially when you need automated installations.
A Success Story – Using a Legacy PXE
For similar such case, VOLANSYS helped one of its clients by adding support for a new Network Interface Controller (NIC) to PXE SDK. It enabled a client to support network booting of BIOS based PC using target NIC.
With the Legacy PXE implementation we could deploy all sorts of Operating Systems as listed below:
- Ubuntu 10.04 32-bit
- Ubuntu 14.04 32/64-bit
- Windows Server 2003 SP2, Server 2012 and Server 2016
- Windows 7, 8.1, 10 64-bit Operating systems
We also tested booting off, a very basic OS like FreeDOS (a derivative of MS-DOS) using Legacy PXE firmware.
We deployed Ubuntu 14.04 64-bit image on around 5 different computers having PXE SDK with help of same PXE server setup.
Author: Kewal Agola
Engineer, VOLANSYS Technologies