-.TH IMAGEX 1 "May 2012" "imagex (wimlib @VERSION@)" "User Commands"
+.TH IMAGEX 1 "November 2012" "imagex (wimlib @VERSION@)" "User Commands"
.SH NAME
imagex \- Create, modify, extract, mount, or unmount a WIM (Windows Imaging Format) archive
.SH SYNOPSIS
.br
\fBimagex info\fR \fIarguments...\fR
.br
+\fBimagex join\fR \fIarguments...\fR
+.br
\fBimagex mount\fR \fIarguments...\fR
.br
\fBimagex mountrw\fR \fIarguments...\fR
.br
+\fBimagex optimize\fR \fIarguments...\fR
+.br
+\fBimagex split\fR \fIarguments...\fR
+.br
\fBimagex unmount\fR \fIarguments...\fR
.SH DESCRIPTION
To do its work, \fBimagex\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.
+if you wanted to. wimlib's public interface is documented.
See \fBWARNING\fR.
The following features are currently supported:
-.IP \[bu] 2
-Mount an image in a WIM read-only (\fBimagex mount\fR)
-.IP \[bu] 2
-Mount an image in a WIM read-write (\fBimagex mountrw\fR)
-.IP \[bu] 2
-LZX decompression and compression
-.IP \[bu] 2
-XPRESS decompression and compression
-.IP \[bu] 2
-Integrity table
-.IP \[bu] 2
-XML data (parsed and written using \fBlibxml\fR(3))
-.IP \[bu] 2
-Create a WIM from a directory (\fBimagex capture\fR)
-.IP \[bu] 2
-Append a directory onto a WIM as a new image (\fBimagex append\fR)
-.IP \[bu] 2
-Delete image(s) from a WIM (\fBimagex delete\fR)
-.IP \[bu] 2
-Export image(s) from a WIM (\fBimagex export\fR)
-.IP \[bu] 2
+.IP \[bu] 3
+Create a stand-alone WIM from a directory or NTFS volume (\fBimagex capture\fR)
+.IP \[bu]
+Append a directory or NTFS volume onto a stand-alone WIM as a new image (\fBimagex
+append\fR)
+.IP \[bu]
+Apply an image from a stand-alone or split WIM to a directory or NTFS volume
+(\fBimagex apply\fR)
+.IP \[bu]
+Mount an image from a stand-alone or split WIM read-only (\fBimagex mount\fR)
+.IP \[bu]
+Mount an image from a stand-alone WIM read-write (\fBimagex mountrw\fR)
+.IP \[bu]
+Delete image(s) from a stand-alone WIM (\fBimagex delete\fR)
+.IP \[bu]
+Export image(s) from a stand-alone or split WIM (\fBimagex export\fR)
+.IP \[bu]
Display information about a WIM file (\fBimagex info\fR, \fBimagex dir\fR)
-.IP \[bu] 2
+.IP \[bu]
Change the name or description of an image in the WIM (\fBimagex info\fR)
-.IP \[bu] 2
+.IP \[bu]
Change which image in a WIM is bootable (\fBimagex info\fR)
+.IP \[bu]
+Combine split WIMs into one stand-alone WIM (\fBimage join\fR)
+.IP \[bu]
+Split a stand-alone WIM into multiple parts (\fBimage 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 UNSUPPORTED FEATURES
-The following features are currently unsupported:
-.IP \[bu] 2
-File permissions and security descriptors are ignored. The information
-contained in them in an existing WIM will be lost when wimlib writes a WIM file.
-This does not seem to matter for Windows PE, but this means that you should not
-use this program to image a drive containing Windows Vista/7/8 and expect it to
-be applied with the correct file permissions.
-.IP \[bu] 2
-Split WIMs. These can be used to split up a WIM to fit on multiple CDs, if you
-can't use a DVD for some reason.
-.IP \[bu] 2
-The \fB--verify\fR option, for all commands that use it. Without this option,
-there theoretically could be a SHA1 hash collision between two files, although
-it's very unlikely.
-.IP \[bu] 2
-The \fB--config\fR option, for all commands that use it.
-.IP \[bu] 2
-Alternate stream entries
-.IP \[bu] 2
-Different versions of the WIM file format (if different versions even exist)
-
-Also see the Doxygen documentation for Wimlib.
+
+As of version 1.0.0, wimlib supports capturing and applying WIMs directly from
+NTFS and has much improved support for hard links and symbolic links. In
+addition, you may now apply split WIMs and mount them read-only. I don't think
+there are many other features that would be worth it to implement. Besides
+porting the library to Windows (which I'm not really interested in), the main
+thing that could use improvement (in my opinion) is that the LZX compression
+ratio still isn't quite as good as Microsoft's version. Furthermore, if
+Microsoft updates the WIM format, I'd need to support it, but it looks like the
+format for Windows 8 is the same as that of Windows 7.
.SH DIFFERENCES FROM MICROSOFT IMAGEX
-See \fBUNSUPPORTED FEATURES\fR.
+While similar to Microsoft's "imagex.exe" program, this program is designed for
+UNIX-based systems and by the nature of the platform cannot be exactly the same
+as Microsoft's version.
+
+In particular, because Microsoft designed the WIM file format to accomodate
+Windows-specific and NTFS-specific features, we must have two separate image
+capture and application modes (although the \fBimagex\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.
-The \fB/scroll\fR and \fB/log\fR switches from Microsoft's version imagex are
-not planned to be implemented. Note that to scroll the output in the UNIX shell
-you can just pipe the output into \fBless\fR(1).
+Some features, such as the ability to keep files hard-linked across WIM images
+when they are extracted from a WIM, are not available in Microsoft's version of
+imagex. Also, this version of \fBimagex\fR lets you mount an image from a split
+WIM read-only, while Microsoft's version does not.
-Some features, such as the ability to keep files hard-linked when they are
-extracted from a WIM, are not available in Microsoft's version of imagex.
+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. This version does not have these
+unusual limitations, although it won't actually run on Windows anyway.
-See the documentation for each command; in some cases they do not do exactly the
-same thing as imagex.exe.
+There are bugs in Microsoft's WIM library and I obviously have not included
+these bugs in my version; however it's to be expected that despite that fact, my
+version has more bugs because it's been less widely tested and used.
Obviously, this version of imagex is free software but Microsoft's version is
not.
.SH WARNING
Note: \fBwimlib\fR and \fBimagex\fR are experimental. Use Microsoft's
-imagex.exe if you have to make sure your WIM files are made correctly. Not all
-features listed under \fBSUPPORTED FEATURES\fR have been thoroughly tested.
+imagex.exe if you have to make sure your WIM files are made "correctly". Not
+all features listed under \fBSUPPORTED FEATURES\fR have been thoroughly tested.
Feel free to submit a bug report if you find a bug.
Some parts of the WIM file format are poorly documented or even completely
-undocumented, so these parts had to be reverse engineered for compatibility
-purposes.
+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
.BR imagex-dir (1),
.BR imagex-export (1),
.BR imagex-info (1),
+.BR imagex-join (1),
.BR imagex-mount (1),
.BR imagex-mountrw (1),
+.BR imagex-optimize (1),
+.BR imagex-split (1),
.BR imagex-unmount (1),