bionic (1) wimlib-imagex-unmount.1.gz

Provided by: wimtools_1.12.0-1build1_amd64 bug

NAME

       wimmount, wimmountrw, wimunmount - Mount or unmount a WIM image

SYNOPSIS

       wimmount WIMFILE [IMAGE] DIRECTORY [OPTION...]
       wimmountrw WIMFILE [IMAGE] DIRECTORY [OPTION...]
       wimunmount DIRECTORY [OPTION...]

DESCRIPTION

       On  Linux,  the  wimmount (equivalently: wimlib-imagex mount) and wimmountrw (equivalently: wimlib-imagex
       mountrw) commands mount the specified IMAGE in the Windows Imaging (WIM) archive WIMFILE on the directory
       DIRECTORY  using  FUSE  (Filesystem  in  Userspace).   wimmount  will  mount  the  image read-only, while
       wimmountrw will mount the image read-write.

       IMAGE specifies the image in WIMFILE to mount.  It may be the 1-based index of an image or the name of an
       image.   It may be omitted if WIMFILE contains only one image.  You can use wiminfo(1) to list the images
       contained in WIMFILE.

       The WIM image can be unmounted using wimunmount (equivalently: wimlib-imagex unmount).  Changes  made  to
       an image mounted read-write will be discarded unless the --commit flag is provided to wimunmount.

DATA AND METADATA SUPPORT

       WIM  images can contain a variety of types of files and file metadata, some of which is Windows-specific.
       Currently, the mount feature can translate some, but not all,  Windows  concepts  to  Linux  equivalents.
       Briefly, the following features are supported (read/write):

       •   Hard links

       •   Symbolic  links.   Native  Windows  symbolic  links  and  junctions  in  a  mounted  WIM  image  will
           automatically be translated into UNIX symbolic links, potentially with  their  targets  fixed  to  be
           valid given the actual mountpoint directory.  UNIX symbolic links created in a read-write mounted WIM
           image will automatically be translated into native Windows symbolic links.

       •   Named data streams (mostly).  See the --streams-interface option.

       In addition, standard UNIX file permissions (owner, group, and mode) and special files are  supported  if
       the --unix-data option is used.

       However, the following features are unsupported and not exposed in mounted images:

       •   Windows security descriptors.  New files are not given security descriptors.

       •   DOS names (8.3 names) (short names).  New files are not given DOS names.

       •   Windows file attributes.  New files are assigned default attributes based on the UNIX file mode bits.

       •   Object IDs.  New files are not given object IDs.

       •   EFS-encrypted  files.  The files themselves will be visible in mounted WIM images but their data will
           not be available.

       •   Extended attributes.  Although wimlib now  supports  creating  a  WIM  image  containing  Linux-style
           extended  attributes,  these  are not yet exposed in mounted WIM images.  (This may be implemented in
           the future, though it would conflict with the use of extended attributes to expose  Windows  concepts
           like named data streams.)

SPLIT WIMS

       You  may  use wimmount to mount an image from a split WIM read-only.  However, you may not mount an image
       from a split WIM read-write.

       The WIMFILE argument must specify the first part of the split WIM, while  the  additional  parts  of  the
       split  WIM must be specified in one or more --ref="GLOB" options.  Since globbing is built into the --ref
       option, typically only one --ref option is necessary.  For example, the names for  the  split  WIM  parts
       usually go something like:

              mywim.swm
              mywim2.swm
              mywim3.swm
              mywim4.swm
              mywim5.swm

       To mount the first image of this split WIM to the directory "dir", run:

              wimmount mywim.swm 1 dir --ref="mywim*.swm"

NOTES

       Availability: Mounting WIM images is only supported on Linux-based systems.  These commands will not work
       on other platforms.  Furthermore, the library cannot have been configured --without-fuse.

       Multiple mounts: You are free to mount many WIM images at the same time, provided that there are not  two
       images mounted read-write from the same file at the same time.

       Appends  vs. rebuilds: By default, changes to a read-write WIM are made in-place by appending to the WIM.
       This is nice for big WIM files, since the entire file doesn't have to be rebuilt to make a small  change.
       But,  if  you are making many changes to a read-write mounted WIM, especially deleting large files, it is
       suggested to provide the --rebuild option to wimunmount to force the WIM  to  be  rebuilt,  or  else  run
       wimoptimize afterwards.

       ESD  files  (solid  WIMs):  You  can mount version 3584 WIMs, which usually contain LZMS-compressed solid
       resources and may carry the .esd file extension rather than .wim.  However, such files are  not  designed
       for  random  access,  so  reading  data from them when mounted may be very slow.  In addition, .esd files
       downloaded directly by the Windows 8 web downloader have encrypted segments, and wimlib cannot mount such
       files until they are first decrypted.

MOUNT OPTIONS

       --check
             Before  mounting  the  WIM  image,  verify  the integrity of the WIM if it contains extra integrity
             information.

       --streams-interface=INTERFACE
             This option is inspired by the ntfs-3g(8) filesystem driver.  It controls how  named  data  streams
             (also called "alternate data streams") in WIM files are made available.

             If "none", it will be impossible to read or write the named data streams.

             If  "xattr"  (default),  named  data  streams  will be accessible through extended file attributes,
             unless this support was disabled when compiling wimlib.  The named data  streams  may  be  accessed
             through  extended attributes named "user.*", where the * is the name of the named data stream.  See
             setfattr(1) and getfattr(1).  Note that this is not an ideal interface, since  named  data  streams
             may be larger than the maximum allowed extended attribute size.

             If  "windows",  the named data streams will be accessible by specifying the filename, then a colon,
             then the name of the named data stream; for example, "myfile:mystream".

       --debug
             Turn on debugging information printed by the FUSE library, and do not fork into the background.

       --ref="GLOB"
             File glob of additional WIMs or split WIM parts to reference resources from.  See SPLIT_WIMS.  This
             option  can  be specified multiple times.  Note: GLOB is listed in quotes because it is interpreted
             by wimlib-imagex and may need to be quoted to protect against shell expansion.

       --staging-dir=DIR
             Store temporary staging files in a subdirectory of the directory DIR.  Only valid for wimmountrw.

       --unix-data
             Honor UNIX-specific metadata that was captured by  wimcapture  with  the  --unix-data  option.   By
             default,  wimmount  (and  wimmountrw) will ignore both Windows-style security descriptors and UNIX-
             specific metadata.  In this default mode, all files will  simply  be  owned  by  the  user  running
             wimmount  and  will  have  mode 0777.  (They will still not be accessible to other users unless you
             also specify --allow-other.)   If  you  instead  provide  the  --unix-data  option,  these  default
             permissions  will  be  overridden  on a per-file basis with the UNIX-specific metadata from the WIM
             image when available, and in the case of wimmountrw it will also be possible  to  change  the  UNIX
             permissions  on  files  in  the  mounted image using the standard UNIX tools and functions, and (if
             appropriately privileged) create UNIX special files such as device nodes.

       --allow-other
             Pass the allow_other option to the FUSE mount.  See mount.fuse (8).  Note: to do this as a non-root
             user, user_allow_other needs to be specified in /etc/fuse.conf.

UNMOUNT OPTIONS

       --commit
              Update  the  WIM  file  with the changes that have been made.  Has no effect if the mount is read-
              only.

       --force
              In combination with --commit, force the WIM image to be committed even  if  there  are  open  file
              descriptors  to  the WIM image.  Any such file descriptors will be immediately closed, and the WIM
              image will be committed and unmounted.

       --check
              If committing changes to the WIM, include extra integrity information, even if it was not  present
              before.

       --rebuild
              Rebuild the entire WIM rather than appending any new data to the end of it.  Rebuilding the WIM is
              slower, but will save a little bit of space that would otherwise be left as a  hole  in  the  WIM.
              Even  more  space will be saved if the read-write mount resulted in streams being deleted from the
              WIM.  Also see

       --new-image
              In combination with --commit for a read-write mounted image,  causes  the  modified  image  to  be
              committed  as  a  new,  unnamed  image  appended  to  the WIM archive.  The original image will be
              unmodified.

IMPLEMENTATION DETAILS

       Since a WIM is an archive and not a filesystem per se, wimmountrw creates a temporary  staging  directory
       to  contain  files  that  are  created  or  modified.  This directory is located in the same directory as
       WIMFILE by default, but the location can be set using the --staging-dir option.  When the  filesystem  is
       unmounted  with --commit, the WIM is modified in-place (or rebuilt completely with --rebuild), merging in
       the staging files as needed.  Then, the temporary staging directory is deleted.

       wimunmount runs in a separate process from the process that previously ran wimmount.  When  unmounting  a
       read-write  mounted  WIM image with --commit, these two processes communicate using a POSIX message queue
       so that the unmount process can track the progress of the mount process.  See  src/mount_image.c  in  the
       source code for details.

SEE ALSO

       wimlib-imagex(1)