PXE install Ubuntu via Windows

The purpose of this article is to explain, step by step, how to install Ubuntu (Ubuntu is my distro of choice, but the steps should work equally well for other distros) using a Windows 2000/XP client.


PXE (Preboot Execution Environment) is not something new, but not often used by home users, as installing an operating system by CD/DVD or USB storage is generally easier, if however you have none of those, your only real option is to network boot (Assuming you have a network port and access to the internet).

The Problem

I bought my sister a cheap laptop from ebay for her birthday, shes not a power user so i picked up a Dell L400 for £100, its only got a 700MHz processor in it and 256MB of RAM, but for general web browsing it will suit her, however, its a sub notebook, and so doesnt come with a cd drive, nor can it boot from a usb cd drive (took me about half an hour to find that out), so in the end my only real option was to netboot it.

Step 1: Prerequisites

  1. Get a copy of the free TFTP server by Philippe Jounin.
  2. Get the ubuntu installer files. Download the folder netboot (ignore any symlinks, they may give you errors during the download).

That’s all we need to boot our Ubuntu installer over the network. Let’s setup the TFTP server.

Step 2: Setting up a TFTP Server.

  1. Create a directory, preferably on your C Drive. We’ll name it tftp for now.
  2. copy the tftpd32.exe to c:tftp
  3. Start the server by clicking on the exe
  4. switch to the tab “DHCP Server” and fill in your network setup. Note that the PC you want to boot must be in the same Subnet. Enter pxelinux.0 as the boot file. The Screenshot below shows my setup.

Now we need to copy the Ubuntu netboot installer over to our tftp root directory:

  1. copy the folder ubuntu-installer to c:tftp
  2. copy the folder pxelinux.cfg from ubuntu-installer/i386/ to c:tftp
  3. copy the file pxelinux.0 from ubuntu-installer/i386/ to c:tftp

Step 3: Booting Ubuntu

To boot from tftp you may need to activate booting from the network interface in the BIOS. This may be done in the boot sequence settings or directly in the onboard ethernet device settings. After that, restart, lean back and watch the activities in the log viewer tab of the tftpd.
Note: Ubuntu will let you choose a mirror and download all the files you need. The whole procedure will work with any other debian flavour almost identically. There is a nice how to on doing a PXE install via Linux instead of windows at the CCC Wiki.

Leave a Reply

Your email address will not be published. Required fields are marked *