1WIMMOUNT(1) User Commands WIMMOUNT(1)
2
3
4
6 wimmount, wimmountrw, wimunmount - Mount or unmount a WIM image
7
9 wimmount WIMFILE [IMAGE] DIRECTORY [OPTION...]
10 wimmountrw WIMFILE [IMAGE] DIRECTORY [OPTION...]
11 wimunmount DIRECTORY [OPTION...]
12
14 On Linux, the wimmount (equivalently: wimlib-imagex mount) and wimmoun‐
15 trw (equivalently: wimlib-imagex mountrw) commands mount the specified
16 IMAGE in the Windows Imaging (WIM) archive WIMFILE on the directory DI‐
17 RECTORY using FUSE (Filesystem in Userspace). wimmount will mount the
18 image read-only, while wimmountrw will mount the image read-write.
19
20 IMAGE specifies the image in WIMFILE to mount. It may be the 1-based
21 index of an image or the name of an image. It may be omitted if WIM‐
22 FILE contains only one image. You can use wiminfo(1) to list the im‐
23 ages contained in WIMFILE.
24
25 The WIM image can be unmounted using wimunmount (equivalently: wimlib-
26 imagex unmount). Changes made to an image mounted read-write will be
27 discarded unless the --commit flag is provided to wimunmount.
28
30 WIM images can contain a variety of types of files and file metadata,
31 some of which is Windows-specific. Currently, the mount feature can
32 translate some, but not all, Windows concepts to Linux equivalents.
33 Briefly, the following features are supported (read/write):
34
35 • Hard links
36
37 • Symbolic links. Native Windows symbolic links and junctions in a
38 mounted WIM image will automatically be translated into UNIX sym‐
39 bolic links, potentially with their targets fixed to be valid given
40 the actual mountpoint directory. UNIX symbolic links created in a
41 read-write mounted WIM image will automatically be translated into
42 native Windows symbolic links.
43
44 • Named data streams (mostly). See the --streams-interface option.
45
46 In addition, standard UNIX file permissions (owner, group, and mode)
47 and special files are supported if the --unix-data option is used.
48
49 However, the following features are unsupported and not exposed in
50 mounted images:
51
52 • Windows security descriptors. New files are not given security de‐
53 scriptors.
54
55 • DOS names (8.3 names) (short names). New files are not given DOS
56 names.
57
58 • Windows file attributes. New files are assigned default attributes
59 based on the UNIX file mode bits.
60
61 • Object IDs. New files are not given object IDs.
62
63 • EFS-encrypted files. The files themselves will be visible in
64 mounted WIM images but their data will not be available.
65
66 • Extended attributes. Although wimlib supports WIM images contain‐
67 ing extended attributes, these are not yet exposed in mounted WIM
68 images. (This may be implemented in the future, though it would
69 conflict with the use of extended attributes to expose Windows con‐
70 cepts like named data streams.)
71
73 You may use wimmount to mount an image from a split WIM read-only.
74 However, you may not mount an image from a split WIM read-write.
75
76 The WIMFILE argument must specify the first part of the split WIM,
77 while the additional parts of the split WIM must be specified in one or
78 more --ref="GLOB" options. Since globbing is built into the --ref op‐
79 tion, typically only one --ref option is necessary. For example, the
80 names for the split WIM parts usually go something like:
81
82 mywim.swm
83 mywim2.swm
84 mywim3.swm
85 mywim4.swm
86 mywim5.swm
87
88 To mount the first image of this split WIM to the directory "dir", run:
89
90 wimmount mywim.swm 1 dir --ref="mywim*.swm"
91
93 Availability: Mounting WIM images is only supported on Linux-based sys‐
94 tems. These commands will not work on other platforms. Furthermore,
95 the library cannot have been configured --without-fuse.
96
97 Multiple mounts: You are free to mount many WIM images at the same
98 time, provided that there are not two images mounted read-write from
99 the same file at the same time.
100
101 Appends vs. rebuilds: By default, changes to a read-write WIM are made
102 in-place by appending to the WIM. This is nice for big WIM files,
103 since the entire file doesn't have to be rebuilt to make a small
104 change. But, if you are making many changes to a read-write mounted
105 WIM, especially deleting large files, it is suggested to provide the
106 --rebuild option to wimunmount to force the WIM to be rebuilt, or else
107 run wimoptimize afterwards.
108
109 ESD files (solid WIMs): You can mount version 3584 WIMs, which usually
110 contain LZMS-compressed solid resources and may carry the .esd file ex‐
111 tension rather than .wim. However, such files are not designed for
112 random access, so reading data from them when mounted may be very slow.
113 In addition, .esd files downloaded directly by the Windows 8 web down‐
114 loader have encrypted segments, and wimlib cannot mount such files un‐
115 til they are first decrypted.
116
118 --check
119 Before mounting the WIM image, verify the integrity of the WIM if
120 it contains extra integrity information.
121
122 --streams-interface=INTERFACE
123 This option is inspired by the ntfs-3g(8) filesystem driver. It
124 controls how named data streams (also called "alternate data
125 streams") in WIM files are made available.
126
127 If "none", it will be impossible to read or write the named data
128 streams.
129
130 If "xattr" (default), named data streams will be accessible
131 through extended file attributes, unless this support was dis‐
132 abled when compiling wimlib. The named data streams may be ac‐
133 cessed through extended attributes named "user.*", where the * is
134 the name of the named data stream. See setfattr(1) and get‐
135 fattr(1). Note that this is not an ideal interface, since named
136 data streams may be larger than the maximum allowed extended at‐
137 tribute size.
138
139 If "windows", the named data streams will be accessible by speci‐
140 fying the filename, then a colon, then the name of the named data
141 stream; for example, "myfile:mystream".
142
143 --debug
144 Turn on debugging information printed by the FUSE library, and do
145 not fork into the background.
146
147 --ref="GLOB"
148 File glob of additional WIMs or split WIM parts to reference re‐
149 sources from. See SPLIT_WIMS. This option can be specified mul‐
150 tiple times. Note: GLOB is listed in quotes because it is inter‐
151 preted by wimlib-imagex and may need to be quoted to protect
152 against shell expansion.
153
154 --staging-dir=DIR
155 Store temporary staging files in a subdirectory of the directory
156 DIR. Only valid for wimmountrw.
157
158 --unix-data
159 Honor UNIX-specific metadata that was captured by wimcapture with
160 the --unix-data option. By default, wimmount (and wimmountrw)
161 will ignore both Windows-style security descriptors and UNIX-spe‐
162 cific metadata. In this default mode, all files will simply be
163 owned by the user running wimmount and will have mode 0777.
164 (They will still not be accessible to other users unless you also
165 specify --allow-other.) If you instead provide the --unix-data
166 option, these default permissions will be overridden on a per-
167 file basis with the UNIX-specific metadata from the WIM image
168 when available, and in the case of wimmountrw it will also be
169 possible to change the UNIX permissions on files in the mounted
170 image using the standard UNIX tools and functions, and (if appro‐
171 priately privileged) create UNIX special files such as device
172 nodes.
173
174 --allow-other
175 Pass the allow_other option to the FUSE mount. See mount.fuse
176 (8). Note: to do this as a non-root user, user_allow_other needs
177 to be specified in /etc/fuse.conf.
178
180 --commit
181 Update the WIM file with the changes that have been made. Has
182 no effect if the mount is read-only.
183
184 --force
185 In combination with --commit, force the WIM image to be commit‐
186 ted even if there are open file descriptors to the WIM image.
187 Any such file descriptors will be immediately closed, and the
188 WIM image will be committed and unmounted.
189
190 --check
191 If committing changes to the WIM, include extra integrity infor‐
192 mation, even if it was not present before.
193
194 --rebuild
195 Rebuild the entire WIM rather than appending any new data to the
196 end of it. Rebuilding the WIM is slower, but will save a little
197 bit of space that would otherwise be left as a hole in the WIM.
198 Even more space will be saved if the read-write mount resulted
199 in streams being deleted from the WIM. Also see
200
201 --new-image
202 In combination with --commit for a read-write mounted image,
203 causes the modified image to be committed as a new, unnamed im‐
204 age appended to the WIM archive. The original image will be un‐
205 modified.
206
208 Since a WIM is an archive and not a filesystem per se, wimmountrw cre‐
209 ates a temporary staging directory to contain files that are created or
210 modified. This directory is located in the same directory as WIMFILE
211 by default, but the location can be set using the --staging-dir option.
212 When the filesystem is unmounted with --commit, the WIM is modified in-
213 place (or rebuilt completely with --rebuild), merging in the staging
214 files as needed. Then, the temporary staging directory is deleted.
215
216 wimunmount runs in a separate process from the process that previously
217 ran wimmount. When unmounting a read-write mounted WIM image with
218 --commit, these two processes communicate using a POSIX message queue
219 so that the unmount process can track the progress of the mount
220 process. See src/mount_image.c in the source code for details.
221
223 wimlib-imagex(1)
224
225
226
227wimlib 1.13.5 December 2021 WIMMOUNT(1)