Even if your computer cannot boot from a CD or USB drive, there’s no need to worry. Using this method, you can easily install an OS via PXE technology.
What is PXE?
PXE (Preboot Execution Environment) is, simply put, a system that allows you to boot a computer over a network. Normally, you would need a USB drive or CD to install an OS, but with PXE, you can install an OS from another PC or server through a LAN cable. This is especially useful when you can’t use a USB drive or CD or when you want to install an OS on multiple PCs simultaneously.
In this guide, we’ll set up a PXE server using Windows. It’s easier than setting it up on Linux, making it a recommended method for beginners. You just need to download some software and make a few minor settings to get started.
Required Tools
First, prepare the tools you’ll need for this method. The main tools we will use are:
- Tiny PXE Server: Software that functions as the PXE server.
- netboot.xyz.kpxe: A DHCP bootloader.
Step 1: Get the DHCP Bootloader
First, download the DHCP bootloader file, “netboot.xyz.kpxe,” from the following link. This file is crucial when installing an OS over PXE.
Step 2: Download Tiny PXE Server
Next, download the software “Tiny PXE Server,” which will act as the core PXE server. Download the ZIP file from the link below.
👉 [Tiny PXE Server GitHub page]
After downloading, you’ll need to extract the ZIP file. Once extracted, you’ll see multiple folders and files.
Simple ASCII Art for PXE Network Boot (Windows)
[PC (Client)] ---(LAN)--- [Windows PC (PXE Server)]
| |
BIOS Settings Tiny PXE Server
| |
Select Network Boot DHCP Bootloader
| |
Obtain IP Address Send OS Image
| |
Start OS Installation |
This diagram shows the concept of a client PC booting over the network from a PXE server running on a Windows PC.
ASCII Art for PXE and DHCP Servers on Linux
[PC (Client)] ---(LAN)--- [Linux Server]
| |
BIOS Settings DHCP Server
| |
Select Network Boot Obtain IP Address
| |
Start PXE Boot PXE Server
| |
Receive OS Image Send OS Image
| |
Start OS Installation |
Key Differences
- Operating System: Setting up a PXE server on Windows is much simpler, using Tiny PXE Server. On Linux, you need to manually install and configure the DHCP server and TFTP server (PXE server).
- Tools: On Windows, you use an all-in-one tool called Tiny PXE Server, whereas on Linux, DHCP and PXE (such as TFTP) are separate, requiring more detailed configuration.
- File Management: Linux offers more flexibility with manual file placement and configuration file editing, but this can be more challenging for beginners.
Please also refer to network settings and PXE server setup on Linux.
Server Setup Instructions (For Beginners)
- Extract the ZIP File
Tiny PXE Server is provided as a ZIP file. First, follow these steps to extract the files:
Right-click on the downloaded ZIP file and select “Extract All.”
Once the extraction is complete, you will see multiple folders and files.
- Move the Bootloader to the “files” Folder
Within the extracted folder, there is a folder named “files.” This is where the server stores the files it will use. Follow these steps to move the bootloader “netboot.xyz.kpxe” into this folder:
Locate the “netboot.xyz.kpxe” file that you downloaded earlier.
Drag and drop this file into the “files” folder.
- Configure Tiny PXE Server
Next, we will configure Tiny PXE Server. The configuration is very simple and involves editing just one file.
Find the file named “config.ini” in the Tiny PXE Server folder.
Right-click on the “config.ini” file and select “Open with” → “Notepad.”
In the file, locate the “[dhcp]” section. In this section, find the “filename” field and enter the name of the bootloader file that you moved earlier.
Example of Editing the Configuration File
Below is a sample of the part you need to edit. Be sure to correctly enter the line filename=netboot.xyz.kpxe
.
[dhcp]
; Information needed for DHCP settings
filename=netboot.xyz.kpxe ; Specify the bootloader file name here
root=files ; The "files" folder is designated as the TFTP server's root directory
httpd=1 ; Enable the HTTP server
Explanation of the Settings
filename=netboot.xyz.kpxe
: This specifies the bootloader file used for network booting. It ensures that the correct file is loaded during the PXE boot process.root=files
: Specifies the root folder for the TFTP server. In this case, the “files” folder where the bootloader was moved earlier is designated.httpd=1
: This enables the HTTP server function, which is used during the PXE boot process.
4. Starting the Server
Once the configuration is complete, follow these steps to start Tiny PXE Server:
- Double-click on “pxesrv.exe” located in the Tiny PXE Server folder.
- If a Windows Firewall warning appears, click “Allow access” (you can manually add this exception later).
- When the program launches, click the “Online” button to start the server.
5. Start the Server and Test PXE Boot
- Starting the Server
Once the configuration is complete, the next step is to start Tiny PXE Server and verify that it’s working. Follow these steps:
Double-click on “pxesrv.exe” in the Tiny PXE Server folder. This will start the server program.
If a Windows Firewall warning appears, click “Allow access.” You can change this setting later if needed, and you can manually add the firewall exception later as well. Refer to the following screenshot for instructions on how to configure the firewall settings.
2. Bring the Server Online
Once the program has started successfully, click the “Online” button to bring the server online. This will prepare the server to accept PXE boot requests.
3. Configure Network Boot
Next, connect the PC where you want to install the OS to a LAN cable, ensuring it is on the same network. At this point, you need to check the PC’s BIOS settings and prioritize network boot.
As an example of BIOS configuration, follow these steps to change the network boot priority:
Turn on the PC and press the designated key (e.g., F2, Del, Esc, etc.) during startup to enter the BIOS settings screen.
Select the “Boot” tab and move the network boot option to the top of the list.
Save the settings and restart the PC.
Now, even without a CD or USB drive, you will be able to install the OS over the network from the PXE server within the same LAN.
4. Installing Supported OS
Using Tiny PXE Server, you can install the following operating systems via network boot:
- Windows: You can install Windows over the network instead of using a traditional Windows installation disc.
- FreeDOS: It also supports installation of DOS-based systems.
- Linux: It supports over 30 different Linux distributions, all of which can be installed via the network.