I've been demonstrating the benefits of ImageX—Microsoft's free disk-imaging tool—in my past couple columns. I've shown you how to use the ImageX /capture command to image a system and how to use ImageX /deploy to deploy that image to a new system. Those two ImageX commands are quite useful, but if they're all you know about ImageX, you're probably burning up a lot of disk space creating and working with your disk images. Any sort of file purporting to encapsulate an entire C drive is probably huge! But ImageX has a neat trick that lets you put two, three, four, or any number of images in a single Windows image (.wim) file—while increasing the size of that .wim file by only small percentage. That trick is the /append option.
If deployment is your job, you probably haven't created just one image for the systems in your office. More likely, you've got unique images for employees with varying job functions. Sure, the engineers and the sales folks both run Windows 7, Microsoft Office, and Adobe Acrobat, but the engineers don't need your contact-management software and the sales guys don't need your circuit-emulation application. So, like most deployment experts, you create different images to address different group's needs. (IT pros who use Microsoft Development Toolkit—MDT—can utilize another approach by creating separate task sequences for certain job classifications, but that's a story for another day.)
Suppose the engineer's image turns out to be 30GB, and the sales image turns out to be 31GB. If you're using a typical imaging tool (e.g., ImageX, employing only the /capture command), that would mean you'll need to find 61GB of space in which to store the two of them. To save a bunch of that space, though, you could use ImageX's /append command.
Here's how it works. First, you would create one of the images (it doesn't matter which), then use ImageX's /capture command to capture the image file, as I've shown you in previous articles, using a command such as
imagex /capture c: s:\images\salesimage.wim "Sales force image" /verify
That command would create the file S:\images\salesimage.wim, a 31MB file—again, nothing new here. But then you create a prototypic workstation for the engineers, prepare it with Sysprep, boot it with Windows Preinstallation Environment (WinPE), and type the command
imagex /append c: s:\images\salesimage.wim "Engineering image" /verify
In both commands, you're telling ImageX to write image information to a file called salesimage.wim, but the effect is different in each case. In the first command, the /capture command instructs ImageX to create salesimage.wim, and in the process overwrite any existing file by that name. Thus, if you had imaged the salesperson's image as salesimage.wim, then used /capture to image the engineer's image onto salesimage.wim, you would have deleted the salesperson's image.
The /append option works differently, adding extra images to an existing .wim file. You might recall that when we used ImageX to apply an image to an empty hard disk, we specified not only the name of the file containing the image but also the number 1. That number was the index of the image that we wanted to apply, and even though we had created a .wim file that contained only one image, ImageX still needed to know which image to use. (The /append option will refuse to work if the target .wim file doesn't already exist.)
To save space, ImageX examines each file destined for the new, second image, looking for identical files in the first image, and—if it finds a matching pair—ImageX leaves the duplicated file out of the second image, essentially putting an IOU in its place. That's where /append earns its keep. The second image's files for Windows, Office, and Acrobat are identical to the first's, so adding the engineering image to salesimage.wim doesn't double its size but instead increases it only by the size of the circuit-emulation software.
Now, understand that you'd never see what I've called an IOU; if you were to apply the second image to an empty machine, nothing would be lacking. The savings comes solely from a space-stingy algorithm. The /append option takes all the options you've already learned for /capture, so it's easy to use.
Suppose you've forgotten what images are in a .wim file. In that case, you can use the ImageX /info command, as in
imagex /info salesimage.wim
ImageX will then tell you how many images the .wim contains, as well as a bit about each image. (The output is a bit ugly, but it serves.) More on handling multiple-image .wim files next time!