Update version number to 1.4.0; update NEWS
[wimlib] / doc / imagex.1.in
1 .TH IMAGEX 1 "May 2013" "@IMAGEX_PROGNAME@ @VERSION@" "User Commands"
2 .SH NAME
3 @IMAGEX_PROGNAME@ \- Create, modify, extract, mount, or unmount a WIM (Windows Imaging Format) archive
4 .SH SYNOPSIS
5 \fB@IMAGEX_PROGNAME@ append\fR \fIarguments...\fR
6 .br
7 \fB@IMAGEX_PROGNAME@ apply\fR \fIarguments...\fR
8 .br
9 \fB@IMAGEX_PROGNAME@ capture\fR \fIarguments...\fR
10 .br
11 \fB@IMAGEX_PROGNAME@ delete\fR \fIarguments...\fR
12 .br
13 \fB@IMAGEX_PROGNAME@ dir\fR \fIarguments...\fR
14 .br
15 \fB@IMAGEX_PROGNAME@ export\fR \fIarguments...\fR
16 .br
17 \fB@IMAGEX_PROGNAME@ extract\fR \fIarguments...\fR
18 .br
19 \fB@IMAGEX_PROGNAME@ info\fR \fIarguments...\fR
20 .br
21 \fB@IMAGEX_PROGNAME@ join\fR \fIarguments...\fR
22 .br
23 \fB@IMAGEX_PROGNAME@ mount\fR \fIarguments...\fR
24 .br
25 \fB@IMAGEX_PROGNAME@ mountrw\fR \fIarguments...\fR
26 .br
27 \fB@IMAGEX_PROGNAME@ optimize\fR \fIarguments...\fR
28 .br
29 \fB@IMAGEX_PROGNAME@ split\fR \fIarguments...\fR
30 .br
31 \fB@IMAGEX_PROGNAME@ unmount\fR \fIarguments...\fR
32 .br
33 \fB@IMAGEX_PROGNAME@ update\fR \fIarguments...\fR
34
35 .SH DESCRIPTION
36 \fB@IMAGEX_PROGNAME@\fR is able to deal with archives in the Windows Imaging Format (.wim
37 files). Its interface is meant to be similar to Microsoft's imagex.exe program.
38
39 To do its work, \fB@IMAGEX_PROGNAME@\fR uses \fBwimlib\fR, a library which
40 provides interfaces for manipulating WIM archives.  You could wimlib in your own
41 programs if you wanted to.  wimlib's public interface is documented.
42
43 .SH COMMANDS
44
45 There is a separate manual page for each \fB@IMAGEX_PROGNAME@\fR command.
46
47 .SH SUPPORTED FEATURES
48
49 The following general features are currently supported (note: this is not a
50 complete list; also, certain features, such as mounting, are supported on UNIX
51 but not Windows):
52
53 .IP \[bu] 3
54 Create a stand-alone WIM from a directory or NTFS volume (\fB@IMAGEX_PROGNAME@ capture\fR)
55 .IP \[bu]
56 Append a directory or NTFS volume onto a stand-alone WIM as a new image (\fB@IMAGEX_PROGNAME@
57 append\fR)
58 .IP \[bu]
59 Apply an image from a stand-alone or split WIM to a directory or NTFS volume
60 (\fB@IMAGEX_PROGNAME@ apply\fR)
61 .IP \[bu]
62 Mount an image from a stand-alone or split WIM read-only (\fB@IMAGEX_PROGNAME@ mount\fR)
63 .IP \[bu]
64 Mount an image from a stand-alone WIM read-write (\fB@IMAGEX_PROGNAME@ mountrw\fR)
65 .IP \[bu]
66 Extract individual files or directories from a WIM without mounting it
67 (\fB@IMAGEX_PROGNAME@ extract\fR)
68 .IP \[bu]
69 Make changes to a WIM image without mounting it (\fB@IMAGEX_PROGNAME@ update\fR)
70 .IP \[bu]
71 Delete image(s) from a stand-alone WIM (\fB@IMAGEX_PROGNAME@ delete\fR)
72 .IP \[bu]
73 Export image(s) from a stand-alone or split WIM (\fB@IMAGEX_PROGNAME@ export\fR)
74 .IP \[bu]
75 Display information about a WIM file (\fB@IMAGEX_PROGNAME@ info\fR, \fB@IMAGEX_PROGNAME@ dir\fR)
76 .IP \[bu]
77 Change the name or description of an image in the WIM (\fB@IMAGEX_PROGNAME@ info\fR)
78 .IP \[bu]
79 Change which image in a WIM is bootable (\fB@IMAGEX_PROGNAME@ info\fR)
80 .IP \[bu]
81 Combine split WIMs into one stand-alone WIM (\fB@IMAGEX_PROGNAME@ join\fR)
82 .IP \[bu]
83 Split a stand-alone WIM into multiple parts (\fB@IMAGEX_PROGNAME@ split\fR)
84 .IP \[bu]
85 Support for all WIM compression types, both compression and decompression (LZX,
86 XPRESS, and none)
87 .IP \[bu]
88 WIM integrity table is supported (\fB--check\fR option to many commands)
89 .IP \[bu]
90 WIM XML data (parsed and written using \fBlibxml\fR(3))
91
92 .SH DIFFERENCES FROM MICROSOFT IMAGEX
93
94 While similar to Microsoft's "imagex.exe" program, this program is designed for
95 UNIX-based systems and by the nature of the platform cannot be exactly the same
96 as Microsoft's version.  In addition, I have added additional useful features
97 when appropriate.
98
99 .IP \[bu] 4
100 Because Microsoft designed the WIM file format to accomodate Windows-specific
101 and NTFS-specific features, wimlib must have two separate image capture and
102 application modes (although the \fB@IMAGEX_PROGNAME@\fR subcommands for the modes are the
103 same): one for general image capture and application, and one for the capture or
104 application of an image specifically from/to an NTFS volume.
105
106 Note: the above applies to UNIX builds.  On the Windows builds of wimlib, there
107 is only one image capture and application mode, similar to Microsoft's ImageX.
108
109 .IP \[bu]
110 Microsoft's version has some weird limitations, like it won't let you extract a
111 WIM on a shared folder, and it requires some commands to be run only from
112 Windows PE and not from regular Windows.  This version does not have these
113 unusual limitations.
114
115 .IP \[bu]
116 There are bugs in Microsoft's WIM library and I obviously have not included the
117 same bugs in wimlib, although in some cases I have had to work around bugs for
118 compatibility purposes.
119
120 .IP \[bu]
121 \fB@IMAGEX_PROGNAME@\fR offers the extra command \fB@IMAGEX_PROGNAME@ optimize\fR,
122 which lets you easily remove wasted space in a WIM (which can arise after
123 a WIM image is appended or mounted read-write).
124
125 .IP \[bu]
126 \fB@IMAGEX_PROGNAME@\fR also offers the command \fB@IMAGEX_PROGNAME@ join\fR, which lets you
127 easily join the parts of a split WIM.
128
129 .IP \[bu]
130 \fB@IMAGEX_PROGNAME@\fR offers the extra commands \fB@IMAGEX_PROGNAME@
131 extract\fR and \fB@IMAGEX_PROGNAME@ update\fR, which let you quickly extract
132 files from or make changes to a WIM image without mounting it.
133
134 .IP \[bu]
135 \fB@IMAGEX_PROGNAME@ apply\fR supports keeping files hard-linked or symlinked
136 across WIM images when extracted from a WIM.  So you can, for example, extract
137 different versions of Windows from an install.wim without using much extra
138 space.  (Note: this functionality is only available in UNIX builds of wimlib.)
139
140 .IP \[bu]
141 \fB@IMAGEX_PROGNAME@ capture\fR supports combining multiple separate directories
142 and files together in a configurable way to create a WIM image.
143
144 .IP \[bu]
145 wimlib's XPRESS compressor is better than Microsoft's.
146
147 .IP \[bu]
148 wimlib supports multithreaded compression, which can make it much faster to
149 create compressed WIM files.
150
151 .IP \[bu]
152 \fB@IMAGEX_PROGNAME@ capture\fR supports a special mode where UNIX file modes,
153 owners, and groups are stored.  (Note: this functionality is only available in
154 UNIX builds.)
155
156 .IP \[bu]
157 \fB@IMAGEX_PROGNAME@ mount\fR and \fB@IMAGEX_PROGNAME@ mountrw\fR are much faster than
158 Microsoft's versions for some reason.  I don't know what they have their program
159 do that takes so long to simply set up a mountpoint.  (Note: this functionality
160 is only available in UNIX builds.)
161
162 .IP \[bu]
163 \fB@IMAGEX_PROGNAME@ mount\fR supports mounting an image from a split WIM, but
164 Microsoft's software does not.  (Note: this functionality is only available in
165 UNIX builds.)
166
167 .SH LOCALES AND CHARACTER ENCODINGS
168
169 On Windows, wimlib 1.3.2 and later works in UTF-16LE, and there should be no
170 problems with character encodings.
171
172 On UNIX, wimlib works primarily in the locale-dependent multibyte encoding,
173 which you are strongly recommended to set to UTF-8 to avoid any problems.
174
175 .SH WARNING
176
177 Note: \fBwimlib\fR and \fB@IMAGEX_PROGNAME@\fR are experimental.  Use Microsoft's
178 imagex.exe if you have to make sure your WIM files are made "correctly".  Feel
179 free to submit a bug report if you find a bug.
180
181 Some parts of the WIM file format are poorly documented or even completely
182 undocumented, so I've just had to do the best I can to read and write WIMs in a
183 way that appears to be compatible with Microsoft's software.
184
185 .SH REPORTING BUGS
186
187 Report bugs to ebiggers3@gmail.com.
188
189 .SH SEE ALSO
190 .BR @IMAGEX_PROGNAME@-append (1),
191 .BR @IMAGEX_PROGNAME@-apply (1),
192 .BR @IMAGEX_PROGNAME@-capture (1),
193 .BR @IMAGEX_PROGNAME@-delete (1),
194 .BR @IMAGEX_PROGNAME@-dir (1),
195 .BR @IMAGEX_PROGNAME@-export (1),
196 .BR @IMAGEX_PROGNAME@-extract (1),
197 .BR @IMAGEX_PROGNAME@-info (1),
198 .BR @IMAGEX_PROGNAME@-join (1),
199 .BR @IMAGEX_PROGNAME@-mount (1),
200 .BR @IMAGEX_PROGNAME@-mountrw (1),
201 .BR @IMAGEX_PROGNAME@-optimize (1),
202 .BR @IMAGEX_PROGNAME@-split (1),
203 .BR @IMAGEX_PROGNAME@-unmount (1),
204 .BR @IMAGEX_PROGNAME@-update (1),