To put this confusion to an end once and for all, today we are going to be discussing Network Stack; what it is, how it works, and when one should enable or disable it.
What is Network Stack
Network Stack, also referred to as Network Boot, is a feature that allows the computer to boot from the network, instead of the local hard drive or a bootable USB drive. This feature is used by devices that usually do not have a local hard drive installed and want to boot from a device at a remote location over the network. It can also be used by IT professionals for mass operating system deployments in a corporate environment. The Network Stack option allows booting from a Preboot Execution Environment (PXE) server. This is the server that hosts the operating system or contains the OS deployment images, depending on what it is being used for. By default, Network Stack is enabled on most client computers. However, it has recently come to our attention that some machines now have it disabled, according to a Reddit post. Different OEMs provide different Network Stack settings in the UEFI/BIOS settings. Normally, you see the settings given in the table below. This table lists the Network Stack settings, their values, and what each of them is used for. Note: The highlighted value is the default value for the network setting. Now, let us take a look at how this technology works before determining whether it should be enabled or disabled.
How PXE Boot Works
The Preboot Execution Environment (PXE) is a client-server network interface that allows a device to boot from a remote device. If you are running an operating system over the local network, it would seem like it is running locally. However, the process is not so simple, since the client and the server first need to discover one another. For the PXE boot to work, there are some protocols the network much support, which include Dynamic Host Configuration Protocol (DHCP) and Trivial File Transfer Protocol (TFTP). When the computer boots up, an IP address is assigned to it from the DHCP server. For that, the client computer broadcasts a “discover” packet over the network, to which the DHCP server responds with an “offer” packet. After accepting the offer, an IP address is assigned. Now, the client PC will notify the DHCP server that it is using the PXE boot server, to which the DHCP server will reply by sending the IP address of the boot server and the boot file name to the client. Now, the client PC will make direct communication with the boot server and request the boot files. The PXE boot server will now send over the boot files using TFTP, using which the client PC will boot the operating system. This concludes the brief process of how PXE boot works in a closed network.
Should Network Stack be Enabled or Disabled
The purpose of explaining how PXE boot works were to give insight into the decision on whether Network Stack should be enabled or disabled in your UEFI/BIOS settings. As you already know now, the process of booting from a PXE server requires some packets going back and forth, and some broadcasting. This makes the devices vulnerable to outside threats as an attacker can pose as a potential PXE server and feed false information to the client device. Therefore, it is advised that Network Stack should be disabled, provided that you are not using it. However, if your computer does not have a local hard drive and requires you to boot your operating system over the network from the PXE server, then you have no choice but to keep Network Stack enabled. Also, if you are an IT administrator performing a mass OS deployment, then enabling the Network Stack would allow you to connect to the Windows Deployment Server (WDS) and perform the OS installations quickly. Let us now show you how to make changes to Network Stack from system UEFI/BIOS settings.
How to Enable or Disable Network Stack
Follow these steps to enable/disable the network stack from UEFI/BIOS settings: As you can see in the image above, the NIC can be “Disabled,” “Enabled,” or “Enabled with PXE.” When you select “Enabled with PXE,” it means that the computer can now boot from a PXE server over the network. However, for that to work, you must also enable Network Stack. When done, save the changes by clicking Apply and then exit the UEFI/BIOS settings.
Closing Words
As we mentioned earlier, many client PCs have Network Stack enabled by default. Moreover, sometimes with the Network Stack enabled, the computer tries to boot from the network, even when the locally-installed hard drive has a perfectly running operating system on it. This happens when the network card is on top of the other bootable devices in the boot order. You can also change the boot order from the system BIOS and still keep Network Stack enabled when needed.