wimboot

wimboot is a boot loader for Windows Imaging Format (.wim) files. It enables you to boot a Windows PE (WinPE) environment from a RAM disk, without wasting the memory used for the RAM disk image.

You can use wimboot with iPXE to boot Windows PE via HTTP. With a Gigabit Ethernet network, a typical 200MB WinPE image should download in less than two seconds.

Advantages

A light bulb

Speed

wimboot can download images at the full speed supported by your network, since it can use HTTP rather than TFTP.

Efficiency

wimboot allows Windows to reuse the memory that was used to hold the RAM disk image; there is no wasted memory.

Ease of use

wimboot works directly with .wim image files; there is no need to wrap your .wim into an ISO or FAT filesystem image.

Download

You can download the latest version from http://git.ipxe.org/releases/wimboot/wimboot-latest.zip.

Older versions are available from http://git.ipxe.org/releases/wimboot. The source code is maintained in a git repository at http://git.ipxe.org/wimboot.git.

Getting started

If you have a Windows installation DVD-ROM (Vista, Server 2008, or more recent), and a web server (such as Apache or IIS), then you have everything you need to start using wimboot.

Extract the Windows boot files

A CD-ROM

Copy the contents of the Windows installation DVD-ROM to a directory on your web server (e.g. /var/www/win7 for Apache, or C:\inetpub\wwwroot\win7 for IIS).

If you do not have enough disk space to copy the entire contents of the DVD-ROM, then you may copy only the following files:

  /bootmgr
  /boot/bcd
  /boot/boot.sdi
  /sources/boot.wim

Download wimboot

Download the latest version of wimboot and extract the file wimboot to the same directory on your web server.

Create the iPXE script

Create a text file boot.ipxe in the same directory on your web server, containing:

  #!ipxe
  
  kernel wimboot
  initrd bootmgr          bootmgr
  initrd boot/bcd         BCD
  initrd boot/boot.sdi    boot.sdi
  initrd sources/boot.wim boot.wim
  imgstat
  boot

Boot

Boot using iPXE from the URL of your iPXE script, e.g. http://my.web.server/win7/boot.ipxe. You should see iPXE download your Windows boot files via HTTP and boot into the Windows installer:

wimboot booting Windows 7

Windows 7 installer booted via wimboot

Next steps

You can use wimboot to boot any bootable .wim image. See the Windows PE tutorial for information on how to create and customise your own .wim images.

Licence

wimboot is free, open-source software licensed under the GNU GPL.

Troubleshooting

If you are using Windows 8 or Windows Server 2012 (or newer), then bootmgr will not be able to display some error messages unless you provide it with the necessary font files.1) You can provide the fonts by adding them to your iPXE script file. For example:

  #!ipxe
  
  kernel wimboot
  initrd bootmgr                      bootmgr
  initrd boot/bcd                     BCD
  initrd boot/fonts/segmono_boot.ttf  segmono_boot.ttf
  initrd boot/fonts/segoe_slboot.ttf  segoe_slboot.ttf
  initrd boot/fonts/segoen_slboot.ttf segoen_slboot.ttf
  initrd boot/fonts/wgl4_boot.ttf     wgl4_boot.ttf
  initrd boot/boot.sdi                boot.sdi
  initrd sources/boot.wim             boot.wim
  imgstat
  boot

If you are unable to resolve your problem, then you can contact the iPXE developers and other iPXE users.

1) This is due to a bug in the Windows 8 and Windows Server 2012 versions of bootmgr: it does not correctly fall back to using a text-mode display if the graphical fonts are not available.
 
wimboot.txt · Last modified: 2013/11/11 14:11 by mcb30
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki
All uses of this content must include an attribution to the iPXE project and the URL http://ipxe.org
References to "iPXE" may not be altered or removed.