Most people take Operating Systems and computers for granted. We got used to pressing one button and the computer catches life in a matter of seconds.
In reality, things are a bit more complex, hidden behind the ever-important process of booting. In ancient times, loading an operating system could only be done using physical media, like hard disks, CDs, or floppy disks.
Now, networks can do this job as well. IP addresses allow computers to start up faster than traditional methods, but they can also complicate things a bit. Enter PXE (Preboot execution environment), a method that allows systems to boot over an IPv4 network.
While it has its own advantages, PXE can also be part of a common issue, where “Start PXE over IPv4” pops on the screen as the system fails to start.
It’s not a serious issue, and it is usually fixed in simple ways. Before discussing the most popular solutions, it’s important to give PXE, booting, and BIOS some context. In this way, we will better understand the relationships between them and how they relate to the inner workings of a computer.
What is BIOS?
BIOS is short for basic input/output system. It was first introduced in 1975 by American computer scientist Gary Kildall and made its way to IBM’s first personal computer in 1981. BIOS acts as a middleman between Operating Systems (OS) and the hardware they run on. Throughout the years, BIOS has become an integral part of computers and instrumental in the configuration of how an OS loads and behaves.
BIOS comes included in motherboards in the form of firmware installed in the motherboard’s chip. Its role is to make sure everything works correctly so the computer can start normally.
More specifically, BIOS has 4 core functions:
- Power On Self Test (POST) – Checks the hardware before loading the OS;
- Bootstrap loader – Locating the OS;
- Software/drivers – Locating the drivers or software that might prevent the correct loading of the OS;
- CMOS (Complementary metal-oxide-semiconductor) setup – CMOS is both the motherboard’s volatile memory and battery. The setup option enables users to change hardware and system settings.
The basic steps of the booting process
From powering on a system to being actually able to use it and navigate through its OS, there’s a matter of seconds in which multiple things happen.
1. You turn on your computer.
2. The CPU (processor) starts up, but it cannot stay idle, so it needs instructions to execute. Because in the beginning, the main memory is empty, the CPU will read the basic instructions stored in the firmware chip of the motherboard.
3. The firmware does a Power On Self Test (POST). It activates the remaining hardware, detects the connected peripherals (like the keyboard and mouse), and checks if everything works. You might remember the ‘beep’ sound the computers do when you turn them on. That’s the sign of a healthy POST.
4. The firmware verifies all storage devices (HDD, SSD, etc.) for a boot-loader. This is a program that loads the OS when the computer is powered on. The boot-loader will proceed to load the rest of the OS.
What is PXE?
PXE is short for Preboot execution environment. It was created by Intel and refers to a set of standards (or instructions) that enable a computer to download network boot programs.
In the simplest terms, PXE is used to start the computer ahead of the Operating System image (the entire datafiles). PXE allows a computer to load an Operating System (OS) over a network connection, hence the link between PXE and IP addresses.
The most common use case for PXE is installing the OS quickly over the network for both servers and clients. In this way, installing, let’s say, Windows, is easier and quicker than using CDs or flash drives in the ”old school way’.
How does PXE work?
Usually, the BIOS automatically initiates PXE boot. For PXE to boot successfully, both the client and server must meet a couple of requirements:
The client has to support PXE in the UEFI interface or NIC firmware. What’s that supposed to mean?
UEFI is short for Unified Extensible Firmware Interface, a BIOS (basic input/output system) alternative. It is a method used by Operating Systems and platform firmware to communicate with each other.
UEFI does the same job as BIOS, but it’s more efficient and has several upgrades.
NIC is short for Network Interface Card. This is a hardware component, like a chip or a circuit board installed in your computer. NIC ensures computers have a dedicated internet connection via Wi-Fi or Ethernet.
Starting PXE over IPv4 requires the network to have a configured DHCP (Dynamic Host Control Protocol) server or a TFTP (Trivial File Transfer Protocol) server.
From there, the DHCP server advertises (broadcasts or announces) the PXE boot server IPv4 address.
Next, the client contacts the boot server, downloads, and boots NBP (Network Bootstrap Program) with the help of TFTP.
NBP is a small OS made up of its kernel (its core), basic drivers, and programs. These will eventually download the remaining components of the Operating System.
TFTP is a simple, multi-purpose protocol typically used for transferring data. TFTP helps servers boot (or start) diskless computers, different terminals, and routers.
Why do we talk about computer hardware when starting PXE over IPv4?
While we learned that PXE usually boots over IPv4-based networks, it is also important to understand the co-dependency between hardware and network booting itself.
In the client-server relationship, network boot is a client feature. This means the instructions for PXE are stored in the motherboard’s UEFI BIOS or in the ROM (read-only memory) of the NIC firmware.
Compared to its optional presence on consumer hardware, network boot, PXE implicitly, is a standard feature on enterprise computers. It might or might not be automatically turned on in the BIOS configuration, and it is usually implemented when using Intel drivers.
PXE use cases
PXE is a versatile tool designed to make things easier in different scenarios. It is useful for clients, servers, VMs (Virtual Machines), as well as IoT (Internet of Things) devices.
PXE is primarily used when you want a clean OS install for new or malfunctioning computers. PXE works both for client-based OS (like Windows or Ubuntu) and server-based OS (like Windows Server or Arch Linux).
This also spares us the hassle of installing the OS via CDs, DVDs, USB drives, and any such media.
This is important because PXE brings advantages over physical media:
- Network access is usually more available than a dedicated boot device;
- Modern networks can be way faster than traditional disks and flash drives;
- You don’t have to deal with outdated or cumbersome OS images.
PXE may be used by diskless or thin client computers as well. Diskless computers do not have fixed storage on HDDs or SSDs. Thin clients can be configured to load a small OS at each power-on.
This is a popular method in corporate, IT, and public environments because it’s more secure, more scalable, and better manageable.
“Start PXE over IPv4” – What does it mean?
As we saw earlier, PXE booting happens when a system boots over a network. In this case, we’re talking about an IPv4-based network. When you are attempting to start your computer and “Start PXE over IPv4” pops on the screen, it means other boot devices, like the hard disk, were not available to boot from.
In other words, the storage partition the computer normally uses to boot the OS is probably malfunctioning or it’s not properly configured. Chances are it likely has to do with a wrong or reset boot priority order.
How to fix the boot issue – Start PXE over IPv4
Encountering this issue is not necessarily a big deal. If you can tinker a bit with BIOS settings*, you already solved a part of the problem. The most common solutions revolve around changing the boot priority order, a couple of further configurations, or updating BIOS. Let’s take them step by step.
*To enter BIOS on your computer, you usually need to repeatedly press a certain key (common keys can be F1, F2, Del, Esc, and F10)
Change the boot priority order
Sometimes, BIOS settings might be accidentally reset, resulting in the primary boot devices not responding. An HDD or SSD that would normally be used to load the OS could have been disabled or their places shifted in the priority order. This leaves the system with no drive or source from which to load the OS. Here comes PXE booting as a sort of emergency method.
- Open BIOS before the OS is attempting to boot. You might need to press the BIOS key repeatedly since it can be difficult to enter the menu on the first try;
- Study the BIOS menu and look for the tab labeled Boot;
- To be able to change the boot priority order, you need to enter the Boot submenu and search for an option usually called Boot Priority Setup. Once you’ve found it, press enter to enter the submenu;
- The section should display a list of devices used for booting, such as HDD, SSD, USB, DVD, etc;
- Make sure that either HDD or SSD is at the top of the list. If not, use the Up and Down arrow keys as well as Enter keys to move them to the top. BIOS is a rudimentary software, so you’ll have to do without a mouse;
- Save the settings and exit BIOS. This is usually done with F10. You will be asked if you want to save the setting before exiting. Do so by hitting Enter.
From there the computer will restart and the system should be able to boot correctly.
Disable Secure Boot and/or Legacy Support
Legacy mode is typically used for supporting older drives, data, and software. This booting process is slower than UEFI and it can sometimes get in your way. Secure Boot is a security measure that prevents potentially harmful software from loading as your system starts (boots). Sometimes, Secure Boot can prevent important files and software components from loading properly, and the system won’t start.
It doesn’t hurt to check these settings and see if they are already on or off, so you’ll have to enter BIOS again.
- Enter BIOS, and go to the Security tab;
- Look for a section called Secure Boot Configuration or something similar, and press Enter;
- In the Secure Boot Configuration menu, locate the Secure Boot option. Use the arrow keys to Disable the option if it’s enabled;
- After Disabling Secure Boot, navigate to the Boot tab. There, look for UEFI/BIOS Boot Mode or something similar;
- In this section, locate the Legacy option and disable it;
- Save the settings and exit BIOS. The computer should restart.
Disable Wake-On-LAN
This is a networking standard that allows a computer to be powered on or awakened by another device on the network. The option is typically located in the Power tab of the BIOS menu. It might also be located in the advanced options, depending on the motherboard your computer uses.
- Enter BIOS, and go to Power;
- If Wake-On-LAN is not already Disabled, Use the Arrow and Enter keys to disable it;
- Save your settings before exiting BIOS and allowing the computer to restart.
Reset BIOS to factory settings
Sometimes, a simple reset can work wonders. If the “Start PXE over IPv4” issue still persists, you can try switching BIOS back to its factory settings. The location of the option varies from one motherboard to another, but it’s commonly found near the Exit/Save and Exit options.
The common name of the default reset option is Load Setup Defaults, but it can be also known as Factory Default, Clear BIOS, Reset to Default, etc.
Manually update BIOS
If everything else failed, you might need to do it the hard way. Updating BIOS can be difficult, and the process depends on what motherboard you have. It requires you to know the current firmware version of your motherboard and see if it’s up to date.
If not, you might need to see if your manufacturer’s website has the new version available for download and configuration.
Assuming you can start the OS (Windows for example) if ‘’Start PXE over IPv4” does not constantly pop out, you can:
- Open the Search bar and type msinfo;
- Click on System Information;
- In the new tab, find your BIOS Version;
- Head on to your manufacturer’s website and check if you are running the latest version;
- If not, download the latest firmware version from the manufacturer’s website (typically in the Support section) and place it onto a USB flash drive.
If you are not able to start the OS, just download the latest firmware version using another device and put the files onto the flash drive.
Here it gets a bit tricky. You need to insert the flash drive in the USB port of your computer and manually install it. Chances are most motherboards have their BIOS ready for that, so you can enter it and hit the installation process.
If not, there are some instances when you have to keep the computer powered off, and, once you inserted the flash drive, hit the CMOS reset button on your motherboard. The CMOS acts as the motherboard’s battery and volatile memory. The battery’s logs can be wiped clean, during which the new firmware version can be installed. Typically, you can keep an eye on the button’s LED to check on the installation process.
Eventually, it all depends on the motherboard’s manufacturer. You should carefully follow its instructions to avoid complications or critical errors.
Conclusion
It seems the good old BIOS interface we grew up with is here to stay. Even if IPv4 and IPv6 networks allow computers to load faster and offer notable advantages in this way, PXE can be an issue for some computers that are not able to boot from physical media.
Starting PXE over IPv4 is usually seen as a last resort when every other booting method fails. If not configured properly, the computer won’t be able to start and you will be endlessly stuck in the retro BIOS menu. Fortunately, it’s quite easy to solve this problem.
And even if you have to do it the hard way (manually updating the firmware version) the motherboard manufacturers offer step-by-step instructions on how to do this.