ImageX and WIM Image Format

File-based disk imaging is a core capability of Windows Vista

By Jerry Honeycutt

I'm a BDD (business desktop deployment) kind of guy, so Microsoft doesn't often give me cool new presents to unwrap. The company has certainly provided me with the tools necessary to do my job, but I haven't had that rip-open-a-wrapped-box feeling in a while. Windows Vista promises to give me that buzz, though. Windows Vista deployment is based on disk imaging, and the operating system will come with a built-in disk-imaging tool: ImageX.

On This Page

File-based Image Format
ImageX Features
Windows Vista Installation
Conclusion

File-based Image Format

Before I tell you about ImageX, I should describe the image format it uses: the Microsoft Windows Imaging Format (WIM) image format. Instead of the sector-based image formats, which are rather common these days, the WIM image format is file-based. Using a file-based image format, WIM provides several benefits over other formats:

  • This WIM image format is hardware-agnostic, meaning that you need only one image to address many different hardware configurations.
  • The WIM image format also lets you store multiple images within one actual file. For example, Microsoft can ship multiple SKUs in one WIM image file. You store images with and without core applications in a single image file. Also, you can mark one of the images as bootable, allowing you to start a computer from a disk image contained in a WIM file.
  • The WIM image format enables compression and single instancing, thus reducing the size of image files significantly. Single instancing is a technique that allows you to store two or more copies of a file for the space cost of one copy. For example, if images 1, 2, and 3 all contain file A, single-instancing stores a single copy of the file A and points images 1, 2, and 3 to that copy.
  • The WIM image format allows you to service an image offline. You can add or delete certain operating system components, patches, and drivers without creating a new image. Rather than spending a few hours updating an image, which you do now with Microsoft Windows XP, for example, you can update an image in minutes. For example, to add a patch to a Windows XP image, you must boot the master image, add the patch, and then prepare the image again. With Windows Vista, you can simply service the image offline.
  • The WIM image format lets you install a disk image on partitions of any size, unlike sector-based image formats that require you to deploy a disk image to a partition that's the same size or larger than the source disk.
  • Windows Vista provides an API for the WIM image format called WIMGAPI that developers can use to work with WIM image files.
  • The WIM image format allows for non-destructive deployment. This means that you can leave data on the volume to which you apply the image because the application of the image does not erase the disk's existing contents.

ImageX Features

ImageX itself is a rather straightforward program, which is one of the reasons I like it so much. It's a simple, command-line drive utility that you run from the command prompt or from Microsoft Windows Preinstallation Environment (Windows PE). In other words, you interact with ImageX the same way you interact with Xcopy. I hope the fact that it's a command-line utility doesn't discourage you. I prefer that my disk-imaging tools have command-line interfaces because they make it incredibly simple to script a tool's use. And the batch-scripting features in Windows Vista are so capable that there isn't much I can't script ImageX to do.

ImageX's core features let you capture a volume to a WIM file and apply a WIM file to a volume. For example, the command to capture an image is nothing more than imagex /capture C: image.wim "Name". The command to apply an image to a volume is simply imagex /apply image.wim 1, where 1 tells ImageX to apply the image from the file image.wim that has the index number 1.

Of course, ImageX includes numerous commands for maintaining images and using them in creative ways. Table 1 provides an overview of these commands.

Table 1. Overview of ImageX Command-Line Options

/append

Appends a volume image into an existing WIM file

/apply

Applies a volume image to the specified drive

/capture

Captures a volume image into a new WIM file

/commit

Commits the changes made to a mounted WIM

/compress

Sets compression type to none, fast, or maximum

/config

Uses the specified file to set advanced options

/delete

Deletes an image from a WIM file with multiple images

/dir

Displays a list of files and folders within a volume image

/export

Transfers an image from one WIM file to another WIM file

/info

Returns the store's XML descriptions for the specified WIM

/ref

Sets WIM references for an apply operation

/scroll

Scrolls output for redirection

/split

Splits an existing WIM file into multiple read-only WIM parts

/verify

Verifies duplicate and extracted files

/mount

Mounts an image, with read-only access, to the specified directory

/mountrw

Mounts an image, with read-write access, to the specified directory

/unmount

Unmounts the image mounted to the specified directory

/?

Returns valid command-line parameters for ImageX

One capability deserves a bit more discussion, just because I think it's very cool-the capability to mount an image to a directory. You can mount an image, modify the image just like you would any file or folder on the file system, and then unmount the image. For example, you can mount an operating-system image, add device drivers, and then unmount it. This certainly beats rebuilding the disk image from scratch.

Windows Vista Installation

Now that you know a bit about ImageX and the WIM image format, I bet you're wondering what the disk-image deployment process looks like. Installing Windows Vista, whether doing an in-place upgrade or a complete wipe-and-load, is a new, completely image-based process. In fact, Windows Vista ships exclusively in the WIM image format.

In fact, the in-place upgrade process works better than it did in Windows XP. The reason is that upgrading to Windows Vista is really a clean installation with the migration of user settings, documents, and applications from an older version of Windows. The in-place upgrade process is better named wipe-and-reload.

The following steps describe how you use these tools to deploy a Windows Vista disk image:

  1. You can enhance a Windows Vista image by using the desktop-engineering tools that Microsoft provides for selection of device drivers and optional components such as languages.
  2. You install the image on a test computer, add applications (e.g., Microsoft Office or a Line of Business Application), and then save the image to the network.
  3. You deploy the image to the user by using tools that Microsoft provides. You can completely automate the installation by using the new scripting and answer file capabilities that Windows Vista provides. If you are upgrading a computer from an earlier version of Windows to Windows Vista, then the setup program will migrate users' documents, settings, and applications without prompting the user for input.

Conclusion

ImageX and the new WIM image format is a significant enhancement for Windows Vista. These technologies offer you a faster and more cost-effective way to deploy the new operating system.

You have far fewer disk images to maintain, and maintaining those images are much easier and require less time. And due to the new image-based setup process, desktop deployment takes less than an hour to not only install the computer but also migrate users' state data.

Note Features discussed on this site are subject to change. Some may not be included in the final product due to marketing, technical, or other reasons.

For More Information

Contact ME
Jerry Honeycutt is a writer, speaker, and technologist. He has written more than 25 books, including Microsoft Windows Desktop Deployment Resource Kit (Microsoft Press, 2004). Jerry's consulting practice is in the Dallas area, but he travels frequently. For more information about Jerry, see his complete bio at http://www.honeycutt.com, or contact him at jerry@honeycutt.com.