Save WIM file space with WIMBoot in Windows 8.1 update

With Windows 8.1 Update 1, it's possible to boot desktops directly from a WIM file. Follow these steps to create WIMBoot images and save disk space.

WIMBoot is a new feature, currently available only on the desktop side of Windows 8.1 Update1, that lets computers boot directly off a Windows image file, or WIM file.

Why would you want this?

WIM files are tremendously compressed. The past few releases of Windows used them for operating system distribution. The DVDs and ISO files included boot.wim and install.wim, two files that contained essentially the entire Windows system, highly compressed.

During the first phase of OS installation, the installer was simply extracting the full set of files from these compressed WIM files and then moving on to registering DLLs and doing the housekeeping necessary to get from bare metal to a working Windows machine.

Interestingly, the compressed WIM file stays on the Windows 8 device to allow for system file recovery, so you're paying the disk space price twice: once to store the compressed version of all of the files and a second time to store the fully expanded version of the files for normal daily use.

WIMBoot turns this on its head, at least on PCs with solid-state drives and UEFI firmware -- in other words, no BIOS chips or legacy machines with rotating platters for disk drives you boot from. It lays down a copy of the compressed WIM file on a special imaging partition; and then during installation, Windows just creates pointers on the operating partition to the compressed files in the partition where the WIM file is stored. The imaging partition is also used as the recovery partition, so it does double duty.

By enabling a scenario where a device can boot into Windows directly off of a WIM file, users can do the following:

  • Have PCs that can use push-button restore while maintaining much more free disk space across the entire device.
  • Install Windows on devices with very small, fast drives like tablets, hybrid PCs and repurposed machines to use as thin clients.
  • Install Windows much more quickly by eliminating a time-consuming phase of the setup process.

How do you create WIMBoot files?

Windows admins can use the Deployment Image Servicing and Management (DISM) tool to create WIMBoot images. Here is a procedure to get started.

  1. Install Windows 8.1 Update 1 on a PC.
  2. If you have Windows 8.1 images and Windows RE (Recovery Environment) images, stream in the Windows 8.1 update to those source files, too, so that you are working from the latest version of the operating system.
  3. Install the Windows Assessment and Deployment Kit Windows 8.1 Update version.
  4. Create a boot drive in the Windows Preinstallation Environment (WinPE) by following Microsoft's TechNet instructions.
  5. Copy the existing install.wim file into a new temporary file that you will use to create the WIMBoot image.
    copy c:\images\install.wim c:\images\install_wimboot.wim
  6. Mount the image.
    md c:\mnt\win dism /mount-image /imagefile:"C:\images\install_wimboot.wim /Index:1 /MountDir:c:\mnt\win
  7. Grab the hidden Windows RE image and unhide it so you can separate it out to save even more space.
    attrib –s –h c:\mnt\win\windows\system32\recovery\winre.wim move c:\mnt\win\windows\system32\recovery\winre.wim c:\images\winre.wim
  8. Unmount the image, and save your changes with the Commit command.
    dism /unmount-image /mountdir:c:\mnt\win /commit
  9. Boot into WinPE (the boot drive you created in step 4), apply the Windows image you just created, and then reboot. When Windows starts the out-of-box experience upon that next boot, hit Control, Shift and F3 at the same time to get into audit mode.
  10. Clean up the image to save even more disk space.
    Dism /cleanup-image /online /startcomponentcleanup
  11. Sysprep the PC as you normally would to scrub security identifiers and make the PC ready for imaging.
    c:\windows\system32\sysprep\sysprep /generalize /shutdown /oobe
  12. When the PC reboots, boot into WinPE again and then recapture the image, which will include the applied updates and remove superseded files to save space. Note the new WIMBoot switch, which instructs DISM to save the image in a format compatible with WIMBoot.
    DISM /Capture-Image /WIMBoot /ImageFile:"X:\Images\install_wimboot.wim" /CaptureDir:C: /Name:"WIMBoot Enterprise_x64 8.1 Update"

How do I deploy WIMBoot into production?

To use the WIMBoot image you created above, you need to boot your target PCs into Windows PE and then create a partition layout that includes a system partition, a Windows partition and the image partition. Here is a sample Diskpart script to create the required layout.

select disk 0
convert gpt
create partition efi size=100
format quick fs=fat32 label="System"
create partition msr size=128
create partition primary
shrink minimum=10000
format quick fs=ntfs label="Windows"
assign letter=c
create partition primary
format quick fs=ntfs label="Images"
assign letter=m
set id="de94bba4-06d1-4d40-a16a-bfd50179d6ac"
gpt attributes=0x8000000000000001
list volume

In addition, Microsoft provides very detailed guidance for deploying WIMBoot images to different devices based on whether or not you know how big the images will be in advance.

Next Steps

Saving time with Windows 8.1 boot to desktop

Cleaning up after installing the Windows 8.1 update

Even after Windows 8.1 Update 1, watch app compatibility

Windows 8 desktop startup: UEFI vs. BIOS

IT struggles to keep up with Microsoft's rapid Windows 8 updates

The Windows 8.1 update includes new enterprise features

Does Windows 8.1 fix the OS's enterprise shortcomings?

Dig Deeper on Windows OS and management

Virtual Desktop