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

FreeBSD Manual Pages

  
 
  

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 wimmoun-
       trw  (equivalently: wimlib-imagex mountrw) commands mount the specified
       IMAGE in	the Windows Imaging (WIM) archive WIMFILE on the directory DI-
       RECTORY 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  WIM-
       FILE  contains  only one	image.	You can	use wiminfo(1) to list the im-
       ages 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  sym-
	   bolic 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 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 contain-
	   ing 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 con-
	   cepts 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  op-
       tion,  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 sys-
       tems.  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 ex-
       tension 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 down-
       loader have encrypted segments, and wimlib cannot mount such files  un-
       til 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 dis-
	     abled when	compiling wimlib.  The named data streams may  be  ac-
	     cessed through extended attributes	named "user.*",	where the * is
	     the  name	of  the	 named	data stream.  See setfattr(1) and get-
	     fattr(1).	Note that this is not an ideal interface, since	 named
	     data  streams may be larger than the maximum allowed extended at-
	     tribute size.

	     If	"windows", the named data streams will be accessible by	speci-
	     fying 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 mul-
	     tiple times.  Note: GLOB is listed	in quotes because it is	inter-
	     preted  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-spe-
	     cific 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	appro-
	     priately  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  commit-
	      ted  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	infor-
	      mation, 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  im-
	      age appended to the WIM archive.	The original image will	be un-
	      modified.

IMPLEMENTATION DETAILS
       Since  a	WIM is an archive and not a filesystem per se, wimmountrw cre-
       ates 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)

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=wimlib-imagex-unmount&sektion=1&manpath=FreeBSD+Ports+14.3.quarterly>

home | help