Skip site navigation (1)Skip section navigation (2)

  
 
  

home | help
WIMMOUNT(1)			  User Commands 		     WIMMOUNT(1)

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-im-
     agex unmount).  Changes made to an image mounted read-write  will	be  dis-
     carded 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  ac-
	 tual 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  de-
	 scriptors.

     *	 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 supports  WIM  images  containing
	 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.   How-
     ever, 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, typi-
     cally  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 con-
     tain  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  de-
     crypted.

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 con-
	   trols 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 com-
	   piling wimlib.  The named data streams may be  accessed  through  ex-
	   tended  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 re-
	   sources 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 ex-
	   pansion.

     --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  ig-
	   nore  both Windows-style security descriptors and UNIX-specific meta-
	   data.  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 permis-
	   sions will be overridden on a per-file basis with  the  UNIX-specific
	   metadata  from  the WIM image when available, and in the case of wim-
	   mountrw it will also be possible to change the  UNIX  permissions  on
	   files  in  the  mounted image using the standard UNIX tools and func-
	   tions, 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 informa-
	    tion, 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  be-
	    ing 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 filesys-
     tem 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 un-
     mount  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)

wimlib 1.14.4			  February 2024 		     WIMMOUNT(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=wimmountrw&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>

home | help