Update NEWS and add imagex-optimize
[wimlib] / doc / imagex.1.in
1 .TH IMAGEX 1 "November 2012" "imagex (wimlib @VERSION@)" "User Commands"
2 .SH NAME
3 imagex \- Create, modify, extract, mount, or unmount a WIM (Windows Imaging Format) archive
4 .SH SYNOPSIS
5 \fBimagex append\fR \fIarguments...\fR
6 .br
7 \fBimagex apply\fR \fIarguments...\fR
8 .br
9 \fBimagex capture\fR \fIarguments...\fR
10 .br
11 \fBimagex delete\fR \fIarguments...\fR
12 .br
13 \fBimagex dir\fR \fIarguments...\fR
14 .br
15 \fBimagex export\fR \fIarguments...\fR
16 .br
17 \fBimagex info\fR \fIarguments...\fR
18 .br
19 \fBimagex join\fR \fIarguments...\fR
20 .br
21 \fBimagex mount\fR \fIarguments...\fR
22 .br
23 \fBimagex mountrw\fR \fIarguments...\fR
24 .br
25 \fBimagex optimize\fR \fIarguments...\fR
26 .br
27 \fBimagex split\fR \fIarguments...\fR
28 .br
29 \fBimagex unmount\fR \fIarguments...\fR
30
31 .SH DESCRIPTION
32 \fBimagex\fR is able to deal with archives in the Windows Imaging Format (.wim
33 files). Its interface is meant to be similar to Microsoft's imagex.exe program.
34
35 To do its work, \fBimagex\fR uses \fBwimlib\fR, a library which provides
36 interfaces for manipulating WIM archives.  You could wimlib in your own programs
37 if you wanted to.  wimlib's public interface is documented.
38
39 See \fBWARNING\fR.
40
41 .SH COMMANDS
42
43 There is a separate manual page for each \fBimagex\fR command.
44
45 .SH SUPPORTED FEATURES
46
47 The following features are currently supported:
48
49 .IP \[bu] 3
50 Create a stand-alone WIM from a directory or NTFS volume (\fBimagex capture\fR)
51 .IP \[bu]
52 Append a directory or NTFS volume onto a stand-alone WIM as a new image (\fBimagex
53 append\fR)
54 .IP \[bu]
55 Apply an image from a stand-alone or split WIM to a directory or NTFS volume
56 (\fBimagex apply\fR)
57 .IP \[bu]
58 Mount an image from a stand-alone or split WIM read-only (\fBimagex mount\fR)
59 .IP \[bu]
60 Mount an image from a stand-alone WIM read-write (\fBimagex mountrw\fR)
61 .IP \[bu]
62 Delete image(s) from a stand-alone WIM (\fBimagex delete\fR)
63 .IP \[bu]
64 Export image(s) from a stand-alone or split WIM (\fBimagex export\fR)
65 .IP \[bu]
66 Display information about a WIM file (\fBimagex info\fR, \fBimagex dir\fR)
67 .IP \[bu]
68 Change the name or description of an image in the WIM (\fBimagex info\fR)
69 .IP \[bu]
70 Change which image in a WIM is bootable (\fBimagex info\fR)
71 .IP \[bu]
72 Combine split WIMs into one stand-alone WIM (\fBimage join\fR)
73 .IP \[bu]
74 Split a stand-alone WIM into multiple parts (\fBimage split\fR)
75 .IP \[bu]
76 Support for all WIM compression types, both compression and decompression (LZX,
77 XPRESS, and none)
78 .IP \[bu]
79 WIM integrity table is supported (\fB--check\fR option to many commands)
80 .IP \[bu]
81 WIM XML data (parsed and written using \fBlibxml\fR(3))
82
83 .SH UNSUPPORTED FEATURES
84
85 As of version 1.0.0, wimlib supports capturing and applying WIMs directly from
86 NTFS and has much improved support for hard links and symbolic links.  In
87 addition, you may now apply split WIMs and mount them read-only.  I don't think
88 there are many other features that would be worth it to implement.  Besides
89 porting the library to Windows (which I'm not really interested in), the main
90 thing that could use improvement (in my opinion) is that the LZX compression
91 ratio still isn't quite as good as Microsoft's version.  Furthermore, if
92 Microsoft updates the WIM format, I'd need to support it, but it looks like the
93 format for Windows 8 is the same as that of Windows 7.
94
95 .SH DIFFERENCES FROM MICROSOFT IMAGEX
96
97 While similar to Microsoft's "imagex.exe" program, this program is designed for
98 UNIX-based systems and by the nature of the platform cannot be exactly the same
99 as Microsoft's version.
100
101 In particular, because Microsoft designed the WIM file format to accomodate
102 Windows-specific and NTFS-specific features, we must have two separate image
103 capture and application modes (although the \fBimagex\fR subcommands for the
104 modes are the same): one for general image capture and application, and one for
105 the capture or application of an image specifically from/to an NTFS volume.
106
107 Some features, such as the ability to keep files hard-linked across WIM images
108 when they are extracted from a WIM, are not available in Microsoft's version of
109 imagex.  Also, this version of \fBimagex\fR lets you mount an image from a split
110 WIM read-only, while Microsoft's version does not.
111
112 Microsoft's version has some weird limitations, like it won't let you extract a
113 WIM on a shared folder, and it requires some commands to be run only from
114 Windows PE and not from regular Windows.  This version does not have these
115 unusual limitations, although it won't actually run on Windows anyway.
116
117 There are bugs in Microsoft's WIM library and I obviously have not included
118 these bugs in my version; however it's to be expected that despite that fact, my
119 version has more bugs because it's been less widely tested and used.
120
121 Obviously, this version of imagex is free software but Microsoft's version is
122 not.
123
124 .SH WARNING
125
126 Note: \fBwimlib\fR and \fBimagex\fR are experimental.  Use Microsoft's
127 imagex.exe if you have to make sure your WIM files are made "correctly".  Not
128 all features listed under \fBSUPPORTED FEATURES\fR have been thoroughly tested.
129 Feel free to submit a bug report if you find a bug.
130
131 Some parts of the WIM file format are poorly documented or even completely
132 undocumented, so I've just had to do the best I can to read and write WIMs in a
133 way that appears to be compatible with Microsoft's software.
134
135 .SH REPORTING BUGS
136
137 Report bugs to ebiggers3@gmail.com.
138
139 .SH SEE ALSO
140 .BR imagex-append (1),
141 .BR imagex-apply (1),
142 .BR imagex-capture (1),
143 .BR imagex-delete (1),
144 .BR imagex-dir (1),
145 .BR imagex-export (1),
146 .BR imagex-info (1),
147 .BR imagex-join (1),
148 .BR imagex-mount (1),
149 .BR imagex-mountrw (1),
150 .BR imagex-optimize (1),
151 .BR imagex-split (1),
152 .BR imagex-unmount (1),
153