wimoptimize

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 standalone 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 con
   vert between solid, non-solid, pipable, 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 significantly 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 optionally the specified compression level for that compression type.  This implies --recompress.  See the  documen
         tation for this option to wimcapture(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 compat
         ibility.  See the documentation for this option to wimcapture(1) for more details.

   --solid-compress=TYPE[:LEVEL]
         Like --compress, but set the compression type used in solid resources.  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 details.

   --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, including 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 appended 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 INTERRUPTED!  If the operation is interrupted, then the WIM will be corrupted, and it may be impossible (or at least very  diffi
         cult) to recover 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 optimizing 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 in‐
   stall.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)