]> wimlib.net Git - wimlib/blobdiff - doc/imagex.1.in
Support for making DLL correctly on Cygwin
[wimlib] / doc / imagex.1.in
index 7fee130d3228208c741c7f03177b2f29e9c22884..bff551789e793dbe9e342663c40f0939dcf3c359 100644 (file)
@@ -1,4 +1,4 @@
-.TH IMAGEX 1 "May 2012" "imagex (wimlib @VERSION@)" "User Commands"
+.TH IMAGEX 1 "March 2013" "imagex (wimlib @VERSION@)" "User Commands"
 .SH NAME
 imagex \- Create, modify, extract, mount, or unmount a WIM (Windows Imaging Format) archive
 .SH SYNOPSIS
@@ -22,6 +22,8 @@ imagex \- Create, modify, extract, mount, or unmount a WIM (Windows Imaging Form
 .br
 \fBimagex mountrw\fR \fIarguments...\fR
 .br
+\fBimagex optimize\fR \fIarguments...\fR
+.br
 \fBimagex split\fR \fIarguments...\fR
 .br
 \fBimagex unmount\fR \fIarguments...\fR
@@ -32,9 +34,7 @@ files). Its interface is meant to be similar to Microsoft's imagex.exe program.
 
 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.
-
-See \fBWARNING\fR.
+if you wanted to.  wimlib's public interface is documented.
 
 .SH COMMANDS
 
@@ -42,106 +42,111 @@ There is a separate manual page for each \fBimagex\fR command.
 
 .SH SUPPORTED FEATURES
 
-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
-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
+The following general features are currently supported (note: this is not a
+complete list):
+
+.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] 2
-Combining split WIMs into one WIM (\fBimage join\fR)
-.IP \[bu] 2
-Splitting a WIM into multiple parts (\fBimage split\fR)
-.IP \[bu] 2
+.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] 2
-Integrity table
-.IP \[bu] 2
-XML data (parsed and written using \fBlibxml\fR(3))
-
-.SH UNSUPPORTED FEATURES
-The following features are currently unsupported:
-.IP \[bu] 2
-Wimlib cannot add security data when it captures a WIM file, although it will
-preserve security data for existing WIM files.  New files added to a mounted
-WIM will be added without security data.  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
-Alternate file streams are unsupported and will be lost when wimlib writes a WIM
-file.  Note that you shouldn't really have these on your Windows system anyway
-because they are unneeded and a security risk.
-.IP \[bu] 2
-Directly applying or mounting split WIMs is unsupported.  You have to combine
-them together with \fBimagex join\fR first.
-.IP \[bu] 2
-The \fB--verify\fR option, for all commands that use it is unsupported.  Without
-this option, there theoretically could be a SHA1 hash collision between two
-files, although it's very unlikely.  You can still verify a WIM manually by
-capturing it, then applying it to a different location, then running a recursive
-diff on the two directory trees.
-.IP \[bu] 2
-The \fB--config\fR option, for all commands that use it.
-.IP \[bu] 2
-Different versions of the WIM file format (if different versions even exist).
-
-Also see the Doxygen documentation for Wimlib.
+.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
 
-See \fBUNSUPPORTED FEATURES\fR.
-
-The most important difference is that this version of \fBimagex\fR cannot
-capture and restore Windows images losslessly because file permissions and
-alternate file streams cannot be captured.  This is because Microsoft designed
-the WIM format to be specific to their NTFS filesystem and the Windows security
-model/API, which is difficult to support in a non-Windows program.  However, you
-can still create images of Windows PE, even from a directory tree on a non-NTFS
-filesystem.
-
-See the documentation for each subcommand of \fBimagex\fR; in some cases they do
-not do exactly the same thing as imagex.exe.
+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 addition, I have added additional useful features
+when appropriate.
 
-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.
-Also, doesn't seem to be an equivalent of \fBimagex join\fR in Microsoft's
-version; you would have to use \fBimagex.exe /export\fR, but that doesn't let
-you export all images at once.
+.IP \[bu] 4
+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 \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.
 
+.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.  This version does not have these
 unusual limitations, although it won't actually run on Windows anyway.
 
-The \fB/scroll\fR and \fB/log\fR switches from Microsoft's version of imagex
-will not be implemented.  Note that to scroll the output in the UNIX shell you
-can just pipe the output into \fBless\fR(1).
+.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]
+wimlib's \fBimagex\fR offers the extra command \fBimagex 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]
+wimlib's \fBimagex\fR also offers the command \fBimagex join\fR, which lets you
+easily join the parts of a split WIM.
+
+.IP \[bu]
+wimlib's \fBimagex 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.
 
-Obviously, this version of imagex is free software but Microsoft's version is
-not.
+.IP \[bu]
+wimlib's \fBimagex 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 supports multithreaded compression, which can make it much faster to
+create compressed WIM files.
+
+.IP \[bu]
+wimlib's \fBimagex capture\fR supports a special mode where UNIX file modes,
+owners, and groups are stored.
+
+.IP \[bu]
+wimlib's \fBimagex mount\fR and \fBimagex 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.
+
+.IP \[bu]
+wimlib's \fBimagex mount\fR supports mounting an image from a split WIM, but
+Microsoft's software does 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.
-Feel free to submit a bug report if you find a bug.
+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.
 
 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
@@ -162,6 +167,6 @@ Report bugs to ebiggers3@gmail.com.
 .BR imagex-join (1),
 .BR imagex-mount (1),
 .BR imagex-mountrw (1),
+.BR imagex-optimize (1),
 .BR imagex-split (1),
 .BR imagex-unmount (1),
-