In an big IT environment when there are more then 100 of machines and you have to install Ubuntu on them. If you will think of using CD/DVD for that task, that may take a couple of days to complete. But if  you know the magic trick of PXE, then you already have win the battle. PXE or Preboot execution environment is the service that enable clients to boot from server over the network. We have to prepare a PXE enabled server. DHCP, tftp and few other services are running of the server.

configure PXE boot server with Ubuntu 16.04

We will configure PXE boot server with Ubuntu 16.04 operating system in this tutorial, let us configure the server step by step.


A server with minimum 4 GB RAM, 10 GB free disk space and Corei3 processor will be sufficient to boot 25-30 client machine with a single instance.

Server IP address:

Install and configure required services

install  packages

Inetd or internet daemon is service that listen all ports and awake the concerned server when get a call. Edit the intent file and amend following lines

Sample output

Configure DHCP server

Define ip address range you wants to include

#  vim /etc/dhcp/dhcpd.conf


Add these lines at the end of file

Start dhcp service

Configure host directory for boot server

Mound Ubuntu ISO image to /mnt or /tmp

Create a directory in /var/www/html where you will copy DVD content.

Copy all of the content of  mounted Ubuntu DVD to /var/www/html/pxe

Configure TFTPD file

# vim /etc/default/tftpd-hpa

Aped file to look like below

Save and exit.

Important: This is important to note that a directory named as “netboot” is supposed to be present in iso image of installation dvd, but I could not find that directory in my case, so download netboot.tar.gz package from this link.

Extract that downloaded package

Copy content of that extracted package to /var/lib/tftpboot directory

Edit /var/lib/tftpboot/pxelinux.cfg/default file, append file to look like below.

Save and exit.

PXE boot server is ready at this stage, Let us have a test.

Boot Client desktop from network

Make sure that CPU support Ethernet based  boot, and the boot from network option is enabled in BIOS setting; make appropriate setting and boot the client.Choose network boot as first option and press enter.


Your installation process should start now.


I have tested few images of Ubuntu 16.04, but netboot directory is missing from all of them, you have to download that package separately from mentioned link. I personally have used pxe based installation, it is a must have server for mass desktop installation or when you are migration from some another OS platform, it work perfectly for Ubuntu I am sure same steps will be working for Debian operating system as well.



Please enter your comment!
Please enter your name here