wimlib-imagex - Man Page

Extract, create, modify, or mount a WIM archive


wimlib-imagex append arguments... (or wimappend arguments...)
wimlib-imagex apply arguments... (or wimapply arguments...)
wimlib-imagex capture arguments... (or wimcapture arguments...)
wimlib-imagex delete arguments... (or wimdelete arguments...)
wimlib-imagex dir arguments... (or wimdir arguments...)
wimlib-imagex export arguments... (or wimexport arguments...)
wimlib-imagex extract arguments... (or wimextract arguments...)
wimlib-imagex info arguments... (or wiminfo arguments...)
wimlib-imagex join arguments... (or wimjoin arguments...)
wimlib-imagex mount arguments... (or wimmount arguments...)
wimlib-imagex mountrw arguments... (or wimmountrw arguments...)
wimlib-imagex optimize arguments... (or wimoptimize arguments...)
wimlib-imagex split arguments... (or wimsplit arguments...)
wimlib-imagex unmount arguments... (or wimunmount arguments...)
wimlib-imagex update arguments... (or wimupdate arguments...)
wimlib-imagex verify arguments... (or wimverify arguments...)


wimlib-imagex deals with archive files in the Windows Imaging (WIM) format.  Its interface is similar to Microsoft's ImageX, but wimlib-imagex is cross-platform and has useful improvements and extensions.

To do its work, wimlib-imagex uses wimlib, an open source C library that provides interfaces for manipulating WIM archives.  wimlib is completely independent from the equivalent Microsoft implementation (WIMGAPI, or wimgapi.dll).  You can use wimlib in your own programs, although for command-line use wimlib-imagex already provides access to most of wimlib's functionality.

Background Information

The Windows Imaging (WIM) format was designed by Microsoft primarily for archiving Windows filesystems, such as NTFS.  However, it can be used on other platforms as well, with some limitations.  A WIM archive contains one or more images, each of which is a logically independent directory tree.  Images are indexed starting from 1, and each may also have a name.  File data is stored as content-addressable "blobs" that are deduplicated across the entire archive. Data may be compressed using one of several compression algorithms.

An update of the WIM format which Microsoft released with Windows 8 uses solid-mode LZMS compression to achieve a better compression ratio.  Such files are also called "ESD files" and may have the .esd extension instead of .wim. wimlib fully supports these files except when they are encrypted.


wimlib-imagex accepts one of a number of commands (listed above in SYNOPSYS), and additional arguments depending on the specific command. Although wimlib-imagex will print usage information with --help or if you invoke it incorrectly, the full documentation for each wimlib-imagex command can be found in the appropriate manual page.

Note: if appropriate hard links or batch files have been installed, a command wimlib-imagex COMMAND can also be accessed as simply wimCOMMAND; for example, wimapply for wimlib-imagex apply. For brevity the documentation uses the shorter names.

General Features

The following are some of the general features, or use cases, currently supported by wimlib-imagex, and pointers to the relevant commands:

Detailed Features

This section presents some of the interesting features of wimlib-imagex in more detail.

Common Options

The following options work for all wimlib-imagex commands:


Display the help, then exit.


Display the version and legal information, then exit.


Suppress informational and progress messages.

Case Sensitivity

By default, the case sensitivity of wimlib-imagex differs somewhat between UNIX-like systems and Windows.  WIM images may (but usually do not) have multiple files with the same case-insensitive name.  Internally, wimlib stores filenames as case-sensitive, but on Windows paths actually provided by the user for use in a WIM image (e.g. for extracting, adding, renaming, or deleting files) will by default be treated as case-insensitive in order to get the "expected" behavior. This differs from the default behavior on UNIX-like systems, where such paths will be treated as case-sensitive.

Note that with case insensitivity, a path component may in general be ambiguous due to multiple files or directories having the same case-insensitive name.  In such cases, if there is a file or directory with an exactly matching name, it is chosen; otherwise, one of the case-insensitively matching file or directories is chosen arbitrarily.

The default case sensitivity of wimlib-imagex can be overridden by explicitly setting the environmental variable WIMLIB_IMAGEX_IGNORE_CASE to 1, in which case such paths will be treated case insensitively, or 0, in which such paths will be treated case sensitively.

Regardless of these settings, options and non-path arguments must be specified in lower case.


wimlib-imagex may be redistributed and/or modified under the terms of the GNU General Public License; either version 3 of the License, or (at your option) any later version.  There is NO WARRANTY, to the extent permitted by law.

Reporting Bugs

Report bugs to https://wimlib.net/forums/. Feedback and suggestions are also welcome.

See Also

wimappend(1), wimapply(1), wimcapture(1), wimdelete(1), wimdir(1), wimexport(1), wimextract(1), wiminfo(1), wimjoin(1), wimmount(1), wimmountrw(1), wimoptimize(1), wimsplit(1), wimunmount(1), wimupdate(1), wimverify(1),

Referenced By

mkwinpeimg(1), wimapply(1), wimcapture(1), wimdelete(1), wimdir(1), wimexport(1), wimextract(1), wiminfo(1), wimjoin(1), wimmount(1), wimoptimize(1), wimsplit(1), wimupdate(1), wimverify(1).

October 2020 wimlib 1.13.3