Jump to content

Windows Imaging Format

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Skisby (talk | contribs) at 17:51, 21 February 2015 (Design). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
Windows Imaging Format
Filename extension
.wim .swm
Internet media typeapplication/x-ms-wim
Magic numberMSWIM
Developed byMicrosoft
Type of formatDisk image

The Windows Imaging Format (WIM) is a file-based disk image format. It was developed by Microsoft to help deploy Windows Vista and subsequent versions of Windows operating system family, as well as Windows Fundamentals for Legacy PCs.[1]

Design

Like other disk image formats, a WIM file contains a set of files and associated filesystem metadata. However, unlike sector-based formats (such as ISO or VHD), WIM is file-based: The fundamental unit of information in a WIM is a file.

The primary advantages of being file-based is hardware independence and single-instance storage of a file referenced multiple times in the filesystem tree. Since the files are stored inside a single WIM file, the overhead of opening and closing many individual files is reduced. The cost of reading or writing many thousands of individual files on the local disk is negated by hardware and software-based disk caching as well as sequential reading and writing of the data.

WIM files can contain multiple disk images, which are referenced either by their numerical index or by their unique name. Due to the use of single-instance storage, the more each successive disk image has in common with previous images added to the WIM file, the less new data will be added. A WIM can also be split (spanned) into multiple parts, which have the .swm extension. Otherwise, a WIM file will have the .wim extension.

WIM images can be made bootable and, starting with Windows Vista, the Windows boot loader supports booting Windows from within a WIM file. The Windows Setup DVD in Windows Vista and later use such WIM files. In these cases, a WIM image file contains a bootable version of Windows PE from which an installation is performed or a recovery is initiated. In another WIM file are other setup files or an original state recovery image.

New with Windows 8.1 is WIMBoot whereby Windows itself can run from a WIM image file which can also serve as the original state recovery image.[2][3]

Tools

ImageX

ImageX is the command-line tool used to create, edit and deploy Windows disk images in the Windows Imaging Format. It is distributed as part of the free Windows Automated Installation Kit (WAIK). Starting with Windows Vista, Windows Setup uses the WAIK API to install Windows.

The first distributed prototype of ImageX was build 6.0.4007.0 (main.030212-2037). It allowed Microsoft OEM partners to experiment with the imaging technology and was developed in parallel with Longhorn alpha prototypes. It was first introduced in Milestone 4 into the Longhorn project, and used in later builds of Longhorn. Build 6.0.5384.4 added significant advantages over previous versions, like read-only and read/write folder mounting capabilities, splitting to multiple image files (SWM), a WIM filter driver and the latest LZX compression algorithms. It has been used since pre-RC (release candidates) of Windows Vista.

DISM

As of Windows 8, ImageX is replaced by another tool called DISM (Deployment Image Service and Management Tool).[4] DISM is used to retrieve or modify information within an image.[5] Its features include mounting and unmounting images, querying installed device drivers in an offline image, and adding a device driver to an offline image.

Just like ImageX, DISM can mount a WIM image as a new volume and assign a drive letter to it, so that its contents can be read or modified on the fly.[6] A set of public APIs for manipulating WIMs allows developers to write their own tools for WIM.

Support in other operating systems

Since April 30, 2012, an open source library dedicated in handling the WIM format, has been made available. This library can be used on UNIX-like systems as well as on Windows. Thanks to this project, GNU/Linux distributions have now their own imagex clone called wimlib-imagex which allows to mount WIM images and manage them (read/write) like any other file systems.[7]

As WIM images are basically using the LZX compression algorithm, they can be accessed by using file archivers like 7-Zip.

See also

References

  1. ^ "Windows Imaging File Format (WIM)". Microsoft. Retrieved 24 Feb 2014.
  2. ^ "What is Windows Image Boot (WIMBoot)?". Microsoft. Retrieved 10 April 2014.
  3. ^ "WIMBoot Explained: How Windows Can Now Fit on a Tiny 16 GB Drive". How-To Geek. Retrieved 15 September 2014.
  4. ^ "Deployment Image Servicing and Management (DISM) Technical Reference". Microsoft. 29 February 2012. Retrieved 6 Oct 2012.
  5. ^ "What Is Deployment Image Servicing and Management?". Microsoft TechNet. Microsoft. 22 October 2009. Retrieved 14 Dec 2012.
  6. ^ "DISM Image Management Command-Line Options". Microsoft. Retrieved 25 Feb 2014.
  7. ^ "wimlib, a library to create, extract, and modify Windows Imaging (WIM) files". Retrieved 4 May 2014.