Setting Up A PXE Install Server On Ubuntu 9.10

This tutorial shows how to set up a PXE (short for preboot execution environment) install server with Ubuntu 9.10 (Karmic Koala). A PXE install server allows your client computers to boot and install a Linux distribution over the network, without the need of burning Linux iso images onto a CD/DVD, boot floppy images, etc. This is handy if your client computers don't have CD or floppy drives, or if you want to set up multiple computers at the same time (e.g. in a large enterprise), or simply because you want to save the money for the CDs/DVDs.

I want to say first that this is not the only way of setting up such a system. There are many ways of achieving this goal but this is the way I take. I do not issue any guarantee that this will work for you!


1. Preliminary Note

It is important that you have a decent internet connection because your client computers will fetch all needed packages from the repositories in the Internet.

And the most important thing is that your client computers support booting over the network. You should check each computer's BIOS for this option.

I am going to be using a computer with two network connections, I will have two networks as well one for the internet and one for the client computers.

My server name will be pxe-server my user will be pxe and all passwords will be vadmin.

Most tasks in this guide will be carried out in terminal to access this follow:

Applications --> Accessories --> Terminal


2. Installing Ubuntu 9.10

First thing we are going to need is a Ubuntu 9.10 CD/DVD. This can be obtained though many different distributors or downloaded from

Insert your Ubuntu install CD into your system and boot from it. Select Install to the hard disk:

The installation starts, and first you have to choose your language:

Then select your location and time zone:

Then select your keyboard layout:

Next partitionor will start, and you will need to partiton the hard drive, I have selected the whole disc for ubuntu:

Now enter your user details, my password is vadmin:

Next you will be asked to confirm options and install:

Ubuntu will now install onto your system.

Now reboot.

Share this page:

11 Comment(s)

Add comment


From: Miha at: 2010-04-14 00:08:19

Excellent guide!

Had to add DNS server to dhcpd.conf:

option domain-name-servers;


From: lipilee at: 2010-10-27 09:06:35

excellent tutorial, and thanks for the dns option hint too :)

From: dbsuk at: 2010-08-01 13:27:42

This tutorial is spot on!

I had the same issue as Miha and had to add DNS servers to the DHCP config.

Apart from that absolutely flawless, I already had one Ubuntu Server installed so I used that for the PXE server.

The PXE install on my Dell PowerEdge sc1425 (with no CD drive) went perfectly.

Thanks very much for this.


From: at: 2010-11-17 18:07:23

Hi guys. Excellent tutorial.

But i have the problem.

The DHCP work when start the TFTP.....  PXE-E32 Open TFTP time out.

Can you help me Please.

My version of Ubuntu is 10.04 LTS.

I don't understand wher is the problem.



From: Meblin at: 2011-01-30 15:15:45

I had the same problem.

If I ctrl+alt+delete on error and start boot from lan again it would work.

I then looked in

sudo gedit /etc/dhcp3/dhcpd.conf

and commented out the lines about

option domain-name=""
option domain-nam-servers

This has fixed this problem for me. Hope it helps?


From: Anonymous at: 2010-10-10 04:29:54

Good tutorial. I like to emphasize the reader that.

He cant use Destop installer cd to get  needed netboot files . It is included with alternate installation cd.

enjoy it

From: furex at: 2011-02-27 18:57:53

this is a really good doc!! thanks a lot.

From: ActionParsnip at: 2011-10-11 09:57:25

Setting root pasword is not advised or supported in the ubuntu community, nor is it required

From: csg at: 2012-01-04 12:09:08

Why are you setting tftp-server as DAEMON=yes and adding the service in inetd?

Shouldn't be DAEMON=no as inetd starts tftp-server.

 Nice article!

From: Shylenol at: 2012-03-28 21:19:45

Is their a tutorial on how to do this using ubuntu as the server, but with windows xp as the boot image?

From: Anonymous at: 2014-08-23 12:16:34

I think you have a typo in the section for "dhcpd.conf" where you state "You must add" to the file.



subnet netmask {
        option subnet-mask;
        option broadcast-address;
        option routers;
        filename "pxelinux.0";



subnet netmask {
        option subnet-mask;
        option broadcast-address;
        option routers;
        filename "pxelinux.0";