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

  
 
  

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

NAME
     wimoptimize - Optimize a WIM archive

SYNOPSIS
     wimoptimize WIMFILE [OPTION...]

DESCRIPTION
     wimoptimize,  or  equivalently  wimlib-imagex optimize, rebuilds the stand-
     alone WIM archive WIMFILE.  The new WIM is written to a temporary file, and
     it is renamed to the original file when it's ready.  This will  remove  any
     holes  that  have been left in the WIM as a result of appending or deleting
     files or images, so the new WIM may be smaller than the old WIM.

     By default, wimoptimize will reuse (not  recompress)  compressed  data  and
     will  not	change	the solid or pipable status of the WIM.  However, it can
     also perform recompression and/or convert	between  solid,  non-solid,  pi-
     pable, and non-pipable WIMs; see the options and examples below.

OPTIONS
     --check
	   Before  optimizing the WIM, verify its integrity if it contains extra
	   integrity information.  Also include extra integrity  information  in
	   the optimized WIM, even if it was not present before.

     --nocheck
	   Do not include extra integrity information in the optimized WIM, even
	   if it was present before.

     --include-integrity
	   Include  extra  integrity information in the optimized WIM, i.e. like
	   --check but don't also verify the WIM beforehand.

     --recompress
	   Recompress all data in the WIM while optimizing it.	This  will  sig-
	   nificantly  increase  the time needed to optimize the WIM, but it may
	   result in a better compression ratio if wimlib can do  a  better  job
	   than the program that created the WIM --- which is likely the case if
	   the	WIM  was Microsoft-created, as wimlib's compressors are slightly
	   stronger.

     --compress=TYPE[:LEVEL]
	   Recompress the WIM using the specified compression type, and  option-
	   ally the specified compression level for that compression type.  This
	   implies  --recompress.  See the documentation for this option to wim-
	   capture(1) for more details.

     --chunk-size=SIZE
	   Set the WIM compression chunk size to SIZE.	 See  the  documentation
	   for this option to wimcapture(1) for more details.

     --solid
	   Create  a  "solid"  archive	that compresses multiple files together.
	   This usually results in a significantly better compression ratio  but
	   has	disadvantages such as reduced compatibility.  See the documenta-
	   tion for this option to wimcapture(1) for more details.

     --solid-compress=TYPE[:LEVEL]
	   Like --compress, but set the  compression  type  used  in  solid  re-
	   sources.   See the documentation for this option to wimcapture(1) for
	   more details.

     --solid-chunk-size=SIZE
	   Like --chunk-size, but set the chunk size used  in  solid  resources.
	   See	the  documentation for this option to wimcapture(1) for more de-
	   tails.

     --threads=NUM_THREADS
	   Number of threads to use for compressing data.   Default:  autodetect
	   (number of processors).

     --pipable
	   Rebuild the WIM so that it can be applied fully sequentially, includ-
	   ing	from  a pipe.  See wimcapture(1) for more details about creating
	   pipable WIMs.  By default, when neither --pipable or --not-pipable is
	   specified, the optimized WIM will be pipable if and only  if  it  was
	   pipable before.

     --not-pipable
	   Rebuild the WIM in the non-pipable format.

     --unsafe-compact
	   Compact  the  WIM in-place, without using a temporary file.	Existing
	   resources are shifted down to fill holes and new  resources	are  ap-
	   pended  as needed.  The WIM is truncated to its final size, which may
	   shrink the on-disk file.  This is more efficient than a full rebuild,
	   but it is only supported when no recompression is being  done.   More
	   importantly,  AN  UNSAFE COMPACTION OPERATION CANNOT BE SAFELY INTER-
	   RUPTED!  If the operation is interrupted, then the WIM will	be  cor-
	   rupted,  and it may be impossible (or at least very difficult) to re-
	   cover any data from it.  Users of this option are  expected	to  know
	   what they are doing and assume responsibility for any data corruption
	   that may result.

NOTES
     wimoptimize  does	not  support  split WIMs or delta WIMs.  For such files,
     consider using wimexport(1) instead.   Note  that	wimoptimize  is  roughly
     equivalent to:

	    wimexport WIMFILE all tmp.wim && mv tmp.wim WIMFILE

EXAMPLES
     Rebuild 'install.wim':

	    wimoptimize install.wim

     Rebuild and recompress 'install.wim':

	    wimoptimize install.wim --recompress

     Rebuild and recompress 'install.wim' using LZX ("maximum") compression at a
     higher-than-default  compression level.  The compression chunk size remains
     unchanged.  This command will be slow, but it might be useful for	optimiz-
     ing  files  for  distribution.  See https://wimlib.net/compression.html for
     some benchmark results.

	    wimoptimize install.wim --compress=LZX:100

     Recompress 'install.wim' using solid-mode compression, then  rename  it  to
     'install.esd'.   This  will decrease the archive size significantly.  (Also
     consider using 'wimexport install.wim all install.esd --solid'.):

	    wimoptimize install.wim --solid
	    mv install.wim install.esd

     Turn 'install.esd' back into 'install.wim':

	    wimoptimize install.esd --compress=LZX
	    mv install.esd install.wim

SEE ALSO
     wimlib-imagex(1) wimexport(1) wimverify(1)

wimlib 1.14.4			  February 2024 		  WIMOPTIMIZE(1)

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

home | help