.TH IMAGEX 1 "May 2013" "@IMAGEX_PROGNAME@ @VERSION@" "User Commands" .SH NAME @IMAGEX_PROGNAME@ \- Create, modify, extract, mount, or unmount a WIM (Windows Imaging Format) archive .SH SYNOPSIS \fB@IMAGEX_PROGNAME@ append\fR \fIarguments...\fR .br \fB@IMAGEX_PROGNAME@ apply\fR \fIarguments...\fR .br \fB@IMAGEX_PROGNAME@ capture\fR \fIarguments...\fR .br \fB@IMAGEX_PROGNAME@ delete\fR \fIarguments...\fR .br \fB@IMAGEX_PROGNAME@ dir\fR \fIarguments...\fR .br \fB@IMAGEX_PROGNAME@ export\fR \fIarguments...\fR .br \fB@IMAGEX_PROGNAME@ extract\fR \fIarguments...\fR .br \fB@IMAGEX_PROGNAME@ info\fR \fIarguments...\fR .br \fB@IMAGEX_PROGNAME@ join\fR \fIarguments...\fR .br \fB@IMAGEX_PROGNAME@ mount\fR \fIarguments...\fR .br \fB@IMAGEX_PROGNAME@ mountrw\fR \fIarguments...\fR .br \fB@IMAGEX_PROGNAME@ optimize\fR \fIarguments...\fR .br \fB@IMAGEX_PROGNAME@ split\fR \fIarguments...\fR .br \fB@IMAGEX_PROGNAME@ unmount\fR \fIarguments...\fR .br \fB@IMAGEX_PROGNAME@ update\fR \fIarguments...\fR .SH DESCRIPTION \fB@IMAGEX_PROGNAME@\fR is able to deal with archives in the Windows Imaging Format (.wim files). Its interface is meant to be similar to Microsoft's imagex.exe program. .PP To do its work, \fB@IMAGEX_PROGNAME@\fR uses \fBwimlib\fR, a library which provides interfaces for manipulating WIM archives. You could wimlib in your own programs if you wanted to. wimlib's public interface is documented. .SH COMMANDS There is a separate manual page for each \fB@IMAGEX_PROGNAME@\fR command. .SH SUPPORTED FEATURES The following general features are currently supported (note: this is not a complete list; also, certain features, such as mounting, are supported on UNIX but not Windows): .IP \[bu] 4 Create a stand-alone WIM from a directory or NTFS volume (\fB@IMAGEX_PROGNAME@ capture\fR) .IP \[bu] Append a directory or NTFS volume onto a stand-alone WIM as a new image (\fB@IMAGEX_PROGNAME@ append\fR) .IP \[bu] Apply an image from a stand-alone or split WIM to a directory or NTFS volume (\fB@IMAGEX_PROGNAME@ apply\fR) .IP \[bu] Mount an image from a stand-alone or split WIM read-only (\fB@IMAGEX_PROGNAME@ mount\fR) .IP \[bu] Mount an image from a stand-alone WIM read-write (\fB@IMAGEX_PROGNAME@ mountrw\fR) .IP \[bu] Extract individual files or directories from a WIM without mounting it (\fB@IMAGEX_PROGNAME@ extract\fR) .IP \[bu] Make changes to a WIM image without mounting it (\fB@IMAGEX_PROGNAME@ update\fR) .IP \[bu] Delete image(s) from a stand-alone WIM (\fB@IMAGEX_PROGNAME@ delete\fR) .IP \[bu] Export image(s) from a stand-alone or split WIM (\fB@IMAGEX_PROGNAME@ export\fR) .IP \[bu] Display information about a WIM file (\fB@IMAGEX_PROGNAME@ info\fR, \fB@IMAGEX_PROGNAME@ dir\fR) .IP \[bu] Change the name or description of an image in the WIM (\fB@IMAGEX_PROGNAME@ info\fR) .IP \[bu] Change which image in a WIM is bootable (\fB@IMAGEX_PROGNAME@ info\fR) .IP \[bu] Combine split WIMs into one stand-alone WIM (\fB@IMAGEX_PROGNAME@ join\fR) .IP \[bu] Split a stand-alone WIM into multiple parts (\fB@IMAGEX_PROGNAME@ split\fR) .IP \[bu] Support for all WIM compression types, both compression and decompression (LZX, XPRESS, and none) .IP \[bu] WIM integrity table is supported (\fB--check\fR option to many commands) .IP \[bu] WIM XML data (parsed and written using \fBlibxml\fR(3)) .SH DIFFERENCES FROM MICROSOFT IMAGEX Although \fB@IMAGEX_PROGNAME@\fR is similar to Microsoft's implementation of ImageX, there are a number of key differences between the two programs: .IP \[bu] 6 \fB@IMAGEX_PROGNAME@\fR is supported on both UNIX-based systems and Windows; thus, much functionality was designed around this. .IP \[bu] The command-line syntax of the two programs is similar but not exactly the same. .IP \[bu] On UNIX, because Microsoft designed the WIM file format to accomodate Windows-specific and NTFS-specific features, wimlib must have two separate image capture and application modes (although the \fB@IMAGEX_PROGNAME@\fR subcommands for the modes are the same): one for general image capture and application, and one for the capture or application of an image specifically from/to an NTFS volume. .IP "" Note: the above applies to UNIX builds of \fB@IMAGEX_PROGNAME@\fR. On the Windows build, there is only one image capture and application mode, similar to Microsoft's ImageX. .IP \[bu] Microsoft's version has some weird limitations, like it won't let you extract a WIM on a shared folder, and it requires some commands to be run only from Windows PE and not from regular Windows. \fB@IMAGEX_PROGNAME@\fR does not have these unusual limitations. .IP \[bu] There are bugs in Microsoft's WIM library and I obviously have not included the same bugs in wimlib, although in some cases I have had to work around bugs for compatibility purposes. .IP \[bu] \fB@IMAGEX_PROGNAME@\fR offers the extra command \fB@IMAGEX_PROGNAME@ optimize\fR, which lets you easily remove wasted space in a WIM (which can arise after a WIM image is appended or mounted read-write). .IP \[bu] \fB@IMAGEX_PROGNAME@\fR also offers the command \fB@IMAGEX_PROGNAME@ join\fR, which lets you easily join the parts of a split WIM. .IP \[bu] \fB@IMAGEX_PROGNAME@\fR offers the extra commands \fB@IMAGEX_PROGNAME@ extract\fR and \fB@IMAGEX_PROGNAME@ update\fR, which let you quickly extract files from or make changes to a WIM image without mounting it. .IP \[bu] \fB@IMAGEX_PROGNAME@ apply\fR supports keeping files hard-linked or symlinked across WIM images when extracted from a WIM. So you can, for example, extract different versions of Windows from an install.wim without using much extra space. (Note: this functionality is only available in UNIX builds of wimlib.) .IP \[bu] \fB@IMAGEX_PROGNAME@ capture\fR supports combining multiple separate directories and files together in a configurable way to create a WIM image. .IP \[bu] wimlib's XPRESS compressor is better than Microsoft's. .IP \[bu] wimlib's LZX compressor is worse than Microsoft's. .IP \[bu] wimlib supports multithreaded compression, which can make it much faster to create compressed WIM files. .IP \[bu] \fB@IMAGEX_PROGNAME@ capture\fR supports a special mode where UNIX file modes, owners, and groups are stored. (Note: this functionality is only available in UNIX builds.) .IP \[bu] \fB@IMAGEX_PROGNAME@ mount\fR and \fB@IMAGEX_PROGNAME@ mountrw\fR are much faster than Microsoft's versions for some reason. I don't know what they have their program do that takes so long to simply set up a mountpoint. (Note: this functionality is only available in UNIX builds.) .IP \[bu] \fB@IMAGEX_PROGNAME@ mount\fR supports mounting an image from a split WIM, but Microsoft's software does not. (Note: this functionality is only available in UNIX builds.) .SH LOCALES AND CHARACTER ENCODINGS On Windows, wimlib works in UTF-16LE, and there should be no problems with character encodings. .PP On UNIX, wimlib works primarily in the locale-dependent multibyte encoding, which you are strongly recommended to set to UTF-8 to avoid any problems. .SH WARNING Note: \fBwimlib\fR and \fB@IMAGEX_PROGNAME@\fR are experimental. Use Microsoft's imagex.exe if you have to make sure your WIM files are made "correctly". Feel free to submit a bug report if you find a bug. .PP Some parts of the WIM file format are poorly documented or even completely undocumented, so I've just had to do the best I can to read and write WIMs in a way that appears to be compatible with Microsoft's software. .SH REPORTING BUGS Report bugs to ebiggers3@gmail.com. .SH SEE ALSO .BR @IMAGEX_PROGNAME@-append (1), .BR @IMAGEX_PROGNAME@-apply (1), .BR @IMAGEX_PROGNAME@-capture (1), .BR @IMAGEX_PROGNAME@-delete (1), .BR @IMAGEX_PROGNAME@-dir (1), .BR @IMAGEX_PROGNAME@-export (1), .BR @IMAGEX_PROGNAME@-extract (1), .BR @IMAGEX_PROGNAME@-info (1), .BR @IMAGEX_PROGNAME@-join (1), .BR @IMAGEX_PROGNAME@-mount (1), .BR @IMAGEX_PROGNAME@-mountrw (1), .BR @IMAGEX_PROGNAME@-optimize (1), .BR @IMAGEX_PROGNAME@-split (1), .BR @IMAGEX_PROGNAME@-unmount (1), .BR @IMAGEX_PROGNAME@-update (1),