I currently work in a technology help desk for my college, where we fix the personal computers of all the students. We have hundreds of DVD's and CD's that we use to boot into all kinds of different things to troubleshoot. Among them are:

  • Various Linux distros
  • Windows PE environments
  • hard drive Regen
  • Windows recovery consoles (all versions)
  • Windows installation disks (all versions)

This means that we spend a ton of money on CD's and DVD's as they get lost, scratched, etc. It is becoming quite a hassle to manage them! I have been considering toying with a PXE server that could allow us to boot to these things over the network and reduce the clutter.

Some of these disks have special boot information such that you can't simply copy the files to a blank disc. And some of them are incompatible with each other on multi-boot CD's I've made. For example, I haven't been able to make a multi-boot CD with Ubuntu 11.04 and Hiren's boot CD.

  1. Is it possible to have one PXE server that can allow devices to "boot to" many different environments?

  2. Is it possible for the PXE server to have bootable disk images (ISO's) that it simply 'emulates' for the connected computers to boot to?

  3. If the answer to #2 is 'no', how can one set up a PXE server to boot to multiple things?

  4. Ultimately, I would like to boot to a PXE server that just gives a numbered menu of items that we can boot to. Like 1) Ubuntu, 2) hard drive Regen, 3) Windows 7 Home, etc. Is this possible?

    Where can I start?


Yep. I've managed many a PXE server. I'd recommend NeoPXE. There's tons of documentation on it and it's very powerful. You can do things like create a menu that will chainload to other PXE servers and install targets.

You should also know that a PXE server is simply a DHCP server paired with a TFTP server. To do more advanced things like what I explain below, you'll be setting up a proxy DHCP server.

For example, we have it set up so that when you first PXE boot you have a list of options to go to several different departments' PXE servers or go to Linux, Solaris, or BSD. From there you can go to Stable/Devel then pick your architecture and version. Finally you'd be given an option to do a kickstart/autoyast/jumpstart or an attended install.

The menus can be created programmatically and/or by hand. You edit configuration files then run make. I think this answers 1, 2, and 4. For number 3, if I understand you correctly... you can't simply serve an ISO to a client from a PXE server. For Linux distros, generally, you'll have to pull out the initrd and vmlinuz and then make the rest of the packages accessible via NFS, FTP, HTTP, or smb.

I think this is exactly what you're looking for.


Let me know if you want more specific instructions for a given distro or if you need help setting up NeoPXE.


I had a PXE server that doubled as a local Ubuntu mirror, and as new versions came out, I would add new images to boot with. I believe many OSes are capable of this, but Linux is the easiest. If the link in Amartel's post isn't enough to get you there, I can write a detailed post on my blog and shoot you a link in the comments, but here is the basic outline of what you need:

  1. A DHCP server that supports the NEXT-SERVER directive, which tells clients what server and which file to boot. If you are operating in a large network, this can be an issue. It is often best to have an isolated network for the purpose.
  2. The NeXT-SERVER needs to be a tftp server with syslinux. The syslinux menu is what will actually allow you to select and boot the images over the network. Adding new options to the menu is as simple as editing a text file after adding the iso. This setup is completely agnostic as to what the images are -- the computer boots it as if it were in the CD drive.
  3. A server with accessible storage for the images (can be the same as the tftp server, but could also use NFS from elsewhere).

By chance are these computers new enough to support booting to a USB hard drive? If so, there is another option that you can explore. You can consolidate your multiple PEs onto a single flash drive and create a custom boot menu that will boot the PE of your choice (or run other tools). I do this and am able to carry essentially what you are carrying on a single flash drive (128gb). As long as the PC can boot to it, its great.

As far as the PXE server, Here is a link about creating a linux (ubuntu) PXE server for multiple distros, including DOS images. It should be a good starting point: https://help.ubuntu.com/community/PXEInstallMultiDistro

  • If they are too old to boot from USB natively, there are bootable CD bootloaders that can hand off control to a bootable USB drive; I believe you can even find these things in floppy disk form, if your computers are that old. Unfortunately, 15 seconds of Googling didn't turn up a link, but I know they're out there. – Kromey May 13 '11 at 21:49
  • We are aware of USB booting options. Unfortunately, this does not really address the issue. We would like to remove portable media from the equation entirely. You'd probably be surprised how often USB drives break when they are used constantly. – Adam S May 14 '11 at 0:18
  • I have been in IT for 15 years, nothing surprises me anymore :-) Did the link I provided contain any helpful information? – Amartel May 15 '11 at 15:45

If you have any money to spend, Altiris is a good system for deployment - http://www.symantec.com/business/deployment-solution

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.