v1.7.1
[wimlib] / doc / man1 / imagex-mount.1.in
1 .TH WIMLIB-IMAGEX "1" "August 2014" "@IMAGEX_PROGNAME@ @VERSION@" "User Commands"
2 .SH NAME
3 @IMAGEX_PROGNAME@-mount, @IMAGEX_PROGNAME@-mountrw, @IMAGEX_PROGNAME@-unmount \- Mount and unmount an image from a WIM archive
4 .SH SYNOPSIS
5 \fB@IMAGEX_PROGNAME@ mount\fR \fIWIMFILE\fR [\fIIMAGE\fR] \fIDIRECTORY\fR [\fIOPTION\fR...]
6 .br
7 \fB@IMAGEX_PROGNAME@ mountrw\fR \fIWIMFILE\fR [\fIIMAGE\fR] \fIDIRECTORY\fR [\fIOPTION\fR...]
8 .br
9 \fB@IMAGEX_PROGNAME@ unmount\fR \fIDIRECTORY\fR [\fIOPTION\fR...]
10 .SH DESCRIPTION
11 The \fB@IMAGEX_PROGNAME@ mount\fR and \fB@IMAGEX_PROGNAME@ mountrw\fR commands
12 will mount the image in the Windows Imaging (WIM) file \fIWIMFILE\fR specified
13 by \fIIMAGE\fR on the directory \fIDIRECTORY\fR using FUSE (Filesystem in
14 Userspace).  \fB@IMAGEX_PROGNAME@ mount\fR will mount the image read-only, while
15 \fB@IMAGEX_PROGNAME@ mountrw\fR will mount the image read-write.
16 These commands are also available as simply \fBwimmount\fR, \fBwimmountrw\fR,
17 and \fBwimunmount\fR if the appropriate hard links or batch files are installed.
18 .PP
19 \fIIMAGE\fR may be a 1-based index of the image in the WIM to mount, or it may
20 be the name of an image in the WIM.  Use the \fB@IMAGEX_PROGNAME@ info\fR (1)
21 command to see the available images in the WIM.  \fIIMAGE\fR may be omitted if
22 \fIWIMFILE\fR contains only one image.
23 .PP
24 The WIM image can be unmounted using the \fB@IMAGEX_PROGNAME@ unmount\fR
25 command.  Changes made to a WIM mounted read-write will be discarded unless the
26 \fB--commit\fR flag is provided to \fB@IMAGEX_PROGNAME@ unmount\fR.
27 .SH SPLIT WIMS
28 You may use \fB@IMAGEX_PROGNAME@ mount\fR to mount an image from a split WIM
29 read-only.  However, you may not mount an image from a split WIM read-write.
30 .PP
31 The \fIWIMFILE\fR argument must specify the first part of the split WIM, while
32 the additional parts of the split WIM must be specified in one or more
33 \fB--ref\fR="\fIGLOB\fR" options.  Since globbing is built into the \fB--ref\fR
34 option, typically only one \fB--ref\fR option is necessary.  For example, the
35 names for the split WIM parts usually go something like:
36 .PP
37 .RS
38 .nf
39 mywim.swm
40 mywim2.swm
41 mywim3.swm
42 mywim4.swm
43 mywim5.swm
44 .RE
45 .PP
46 To mount the first image of this split WIM to the directory "dir", run:
47 .PP
48 .RS
49 @IMAGEX_PROGNAME@ mount mywim.swm 1 dir --ref="mywim*.swm"
50 .RE
51 .PP
52 .SH NOTES
53 If wimlib was configured using the \fB--without-fuse\fR flag, then the
54 \fB@IMAGEX_PROGNAME@ mount\fR, \fB@IMAGEX_PROGNAME@ mountrw\fR, and
55 \fB@IMAGEX_PROGNAME@ unmount\fR commands will not work.  Also, these commands
56 are not available in the Windows builds of \fB@IMAGEX_PROGNAME@\fR.
57 .PP
58 You can mount multiple images from a WIM file read-only at the same time, but
59 you can only mount one image at a time from a WIM read-write.
60 .PP
61 All files in the mounted WIM will be accessible regardless of whether there is a
62 security descriptor in the WIM associated with the file or not.  New files or
63 directories created in a read-write mounted WIM will be created with no security
64 descriptor.  Although there is support for accessing named data streams (see the
65 \fB--streams-interface\fR option), it is currently not possible to set or get
66 DOS names, file attributes, or security descriptors in a mounted WIM.
67 .PP
68 By default, changes to a read-write WIM are made in-place by appending to the
69 WIM.  This is nice for big WIM files, since the entire file doesn't have to be
70 rebuilt to make a small change.  But, if you are making many changes to a
71 read-write mounted WIM, especially deleting large files, it is suggested to
72 provide the \fB--rebuild\fR option to \fB@IMAGEX_PROGNAME@ unmount\fR to force
73 the WIM to be rebuilt, or else run \fB@IMAGEX_PROGNAME@ optimize\fR on the WIM
74 afterwards.
75 .PP
76 wimlib v1.6.0 and later can mount version 3584 WIMs, which usually contain
77 LZMS-compressed solid blocks and may carry the \fI.esd\fR file extension rather
78 than \fI.wim\fR.  However, such files are not designed for random access, so
79 reading data from them when mounted may be very slow.  In addition, \fI.esd\fR
80 files downloaded directly by the Windows 8 web downloader have encrypted
81 segments, and wimlib cannot mount such files until they are first decrypted.
82 .SH MOUNT OPTIONS
83 .TP 6
84 \fB--check\fR
85 When reading the WIM, verify its integrity if it contains an integrity table.
86 .TP
87 \fB--streams-interface\fR=\fIINTERFACE\fR
88 This option is inspired by the ntfs-3g filesystem driver (see \fBntfs-3g\fR
89 (8)).  It controls how alternate data streams, or named data streams, in WIM
90 files are made available.
91 .IP ""
92 If "none", it will be impossible to read or write the named data streams.
93 .IP ""
94 If "xattr" (default), named data streams will be accessible through extended
95 file attributes, unless this support was disabled when compiling wimlib.  The
96 named data streams may be accessed through extended attributes named "user.*",
97 where the * is the name of the named data stream.  See \fBsetfattr\fR (1) and
98 \fBgetfattr\fR (1).  Note that this is not an ideal interface, since named data
99 streams may be larger than the maximum allowed extended attribute size.
100 .IP ""
101 If "windows", the named data streams will be accessible by specifying the
102 filename, then a colon, then the name of the named data stream; for example,
103 "myfile:mystream".
104 .IP ""
105 Please note that named data streams are a somewhat obscure NTFS feature that
106 aren't actually used much, even though they complicate the WIM file format
107 considerably.  Normally, all you care about is the default or "unnamed" data
108 stream.
109 .TP
110 \fB--debug\fR
111 Turn on debugging information printed by the FUSE library, and do not fork into
112 the background.
113 .TP
114 \fB--ref\fR="\fIGLOB\fR"
115 File glob of additional WIMs or split WIM parts to reference resources from.
116 See \fBSPLIT_WIMS\fR.  This option can be specified multiple times.  Note:
117 \fIGLOB\fR is listed in quotes because it is interpreted by
118 \fB@IMAGEX_PROGNAME@\fR and may need to be quoted to protect against shell
119 expansion.
120 .TP
121 \fB--staging-dir\fR=\fIDIR\fR
122 Store temporary staging files in a subdirectory of the directory \fIDIR\fR.
123 Only valid for \fB@IMAGEX_PROGNAME@ mountrw\fR.
124 .TP
125 \fB--unix-data\fR
126 Honor UNIX-specific metadata that was captured by \fB@IMAGEX_PROGNAME@
127 capture\fR with the \fB--unix-data option\fR.  By default, \fB@IMAGEX_PROGNAME@
128 mount\fR and \fB@IMAGEX_PROGNAME@ mountrw\fR will ignore both Windows-style
129 security descriptors (which may have been set either from Windows or by
130 \fB@IMAGEX_PROGNAME@ capture\fR from an NTFS-volume) and UNIX-specific metadata.
131 In this default mode, all files will simply be owned by the user running
132 \fB@IMAGEX_PROGNAME@\fR and will have mode 0777.  (Note: they will still not be
133 accessible to other users unless you also specify \fB--allow-other\fR.)  If you
134 instead provide the \fB--unix-data\fR option, these default permissions will be
135 overridden on a per-file basis with the UNIX-specific data when available, and
136 in the case of \fB@IMAGEX_PROGNAME@ mountrw\fR it will be possible to change the
137 UNIX permissions using the standard UNIX tools and functions.  In addition, with
138 wimlib v1.7.0 and later, you can create device nodes, named pipes, and sockets
139 on the mounted filesystem and have them stored in the WIM image.
140 .TP
141 \fB--allow-other\fR
142 Pass the \fBallow_other\fR option to the FUSE mount.  See \fBmount.fuse\fR (8).
143 Note: to do this is a non-root user, \fBuser_allow_other\fR needs to be
144 specified in /etc/fuse.conf (with the FUSE implementation on Linux, at least).
145 .SH UNMOUNT OPTIONS
146 .TP
147 \fB--commit\fR
148 Update the WIM file with the changes that have been made.  Has no effect if the
149 mount is read-only.
150 .TP
151 \fB--force\fR
152 In combination with \fB--commit\fR, force the WIM image to be committed even if
153 there are open file descriptors to the WIM image.  Any such file descriptors
154 will be immediately closed, and the WIM image will be committed and unmounted.
155 .IP
156 \fB--lazy\fR is a deprecated alias for \fB--force\fR.  (Unmounts are now "lazy"
157 by default with regards to the kernel-level mountpoint, except in the case with
158 \fB--commit\fR described above.)
159 .TP
160 \fB--check\fR
161 When writing \fIWIMFILE\fR, include an integrity table.  Has no effect if the
162 mount is read-only or if \fB--commit\fR was not specified.  The default behavior
163 is to include an integrity table if and only if there was one present before.
164 .TP
165 \fB--rebuild\fR
166 Rebuild the entire WIM rather than appending any new data to the end of it.
167 Rebuilding the WIM is slower, but will save a little bit of space that would
168 otherwise be left as a hole in the WIM.  Even more space will be saved if the
169 read-write mount resulted in streams being deleted from the WIM.  Also see
170 .TP
171 \fB--new-image\fR
172 In combination with \fB--commit\fR for a read-write mounted image, causes the
173 modified image to be committed as a new, unnamed image appended to the WIM
174 archive.  The original image will be unmodified.
175 .SH IMPLEMENTATION DETAILS
176 Since a WIM is an archive and not a filesystem, \fB@IMAGEX_PROGNAME@ mountrw\fR
177 creates a temporary staging directory to contain files that are created or
178 modified.  This directory is located in the same directory as \fIWIMFILE\fR by
179 default, but the location can be set using the \fB--staging-dir\fR option.  When
180 the filesystem is unmounted with \fB--commit\fR, the WIM is modified in-place
181 (or rebuilt completely with \fB--rebuild\fR), merging in the staging files as
182 needed.  Then, the temporary staging directory is deleted.
183 .PP
184 \fB@IMAGEX_PROGNAME@ unmount\fR runs in a separate process from the process that
185 previously ran \fB@IMAGEX_PROGNAME@ mount\fR.  When unmounting a read-write
186 mounted WIM image with \fB--commit\fR, these two processes communicate using a
187 POSIX message queue so that the unmount process can track the progress of the
188 mount process.  See \fIsrc/mount_image.c\fR in the sources for details.
189 .SH SEE ALSO
190 .BR @IMAGEX_PROGNAME@ (1)