PXELINUX for booting of ISO images


In the previous post we've gone through the network booting via iPXE and PXELINUX in details (from the iPXE perspective). The idea of the current post is to expand the knowledge base, by explaining how we could network boot an ISO image with the PXELINUX network boot loader. This method could be useful in performing for example Windows network installations, without depending on the Microsoft tool set. In the below example we will show how to load a WinPE image, which could be configured to deploy Windows 7 or Windows Server 2008.


The main idea for this solution came from the requirement to boot a WinPE image (needed for Windows network deployment) from a HTTP server rather than from the TFTP server as required from PXE by default. This requirement was introduced by the fact that TFTP server was not able to provide the corresponding speed to a HTTP server, and also because of the relatively high load, which TFTP server was having when multiple computers try to network boot the WinPE image simultaneously.

By default WinPE WIM image could be network booted by PXELINUX from TFTP server relatively easy. The drawback is that in order to complete this we have to use the Microsoft boot loader, loaded by PXELINUX, which unfortunately supports only TFTP server as a source for the WinPE WIM image. How to perform this will be a topic of a separate article.


The environment used for this solution is the same like in the network booting via iPXE and PXELINUX post, so we will not cover here the same details. The main difference will be in the PXELINUX configuration file, because we have to explain to PXELINUX how to load the ISO image. Below is an example of the modified configuration file.


DEFAULT menu.c32
MENU TITLE  Installer
 KERNEL memdisk
 INITRD winpe.iso
 APPEND iso raw


The main part of this solution is the usage of the MEMDISK auxiliary module (for more information read here). What basically will happen is explained below in more details:

Step 1: After pxelinux.0 network boot loader is loaded, the menu is displayed based on the configuration file above.

Step 2: After the timeout defined in the configuration expires OR a selection in the menu is done, the MEMDISK module is loaded and it loads in the memory the ISO image specified as INITRD. In order to successfully boot the WinPE ISO we need to pass to MEMDISK via APPEND the following parameters: iso and raw. The first one instructs MEMDISK that an ISO image will be loaded, and the second one instructs it to enter protected mode directly.

From this point on the WinPE is loaded and it takes control. It is important to mention here that the memory on the system, which is being network booted, has to be enough to support this method. What we mean by enough is that it should have at least 2x the size of the WinPE image, because during the booting, MEMDISK first copies the ISO image to memory, and then boots the WinPE from that ISO in the memory, which results in double memory requirement. This for the WinPE is not a problem, because the size is around 180MB, which means that any system with at least 512MB memory should have no problem. This in combination with the Windows system requirements makes it not a problem, if we would like to deploy Windows OS, because the system requirements anyway exceed this 512MB.

!!! Important point is that during WinPE ISO creation we have to make sure that the bootfix.bin file from the \ISO\boot folder is deleted. This is important, because otherwise if a partition is detected on the HDD the WinPE will ask us to press any key to boot the ISO, which we do not want in unattended installation. See this link for more details, plus this link for a tutorial on how to create a custom WinPE ISO.


  1. MEMDISK page
  2. Network booting via iPXE
  3. Walkthrough: Create a Custom Windows PE Image
Comments (11) Trackbacks (0)
  1. It’s now possible to load WinPE directly via HTTP: see http://ipxe.org/howto/winpe

  2. Buenas. Tengo 21 años y me hayo hablando inglés hará unos 9 años.
    El post me ha parecido épico para la memorización del idioma inglés.
    Me ha sido muy favorable. Lo voy a aumentar a mis favoritos.
    Te agradezco por el texto.

  3. Excuse me, how to setting boot UEFI ISO from PXE derver ?

  4. I am now not certain where you’re getting your info, however great topic.
    I needs to spend some time finding out much more or working out more.
    Thanks for fantastic info I was looking for this information for my mission.

  5. I have noticed you don’t monetize your site, don’t waste your traffic, you
    can earn extra bucks every month because you’ve got hi quality content.
    If you want to know how to make extra $$$, search for: best adsense alternative Dracko’s tricks

  6. I see you don’t monetize your page, don’t waste
    your traffic, you can earn additional bucks every month
    because you’ve got hi quality content. If you want to know how to make extra
    money, search for: Mrdalekjd methods for $$$

  7. Amazing things here. I’m very satisfied to look your post.
    Thank you so much and I am having a look ahead to contact you.

    Will you please drop me a e-mail?

  8. This piece of writing is in fact a nice one it assists new internet viewers,
    who are wishing for blogging.

  9. I know this site offers quality dependent content and other
    information, is there any other web page which offers these kinds of information in quality?

  10. Real excellent information can be found on web blog.

  11. My brother recommended I would possibly like this website.
    He was once totally right. This put up actually made my day.

    You cann’t believe simply how so much time I had spent
    for this info! Thanks!

Leave a comment


No trackbacks yet.