WIMLIB
-This is wimlib version 1.2.2 (December 2012). wimlib can be used to read,
-write, and mount files in the Windows Imaging Format (WIM files). These files
-are normally created by using the `imagex.exe' utility on Windows, but this
-library provides a free implementation of imagex for UNIX-based systems.
+This is wimlib version 1.3.3 (April 2013). wimlib can be used to read, write,
+and mount files in the Windows Imaging Format (WIM files). These files are
+normally created by using the `imagex.exe' utility on Windows, but this library
+provides a free implementation of ImageX for UNIX-based systems.
+
+wimlib 1.3.0 and later have support for Windows. See the file "README.WINDOWS"
+for more details.
WIM FILES
PROGRAMS
wimlib provides a public API for other programs to use, but also comes with two
-programs: `imagex' and `mkwinpeimg'.
+programs: `wimlib-imagex' and `mkwinpeimg'.
-`imagex' is intended to be like the imagex.exe program from Windows. `imagex'
-can be used to create, extract, and mount WIM files. Both read-only and
-read-write mounts are supported. See the man page `doc/imagex.1' for more
-details.
+`wimlib-imagex' is intended to be like the imagex.exe program from Windows.
+`wimlib-imagex' can be used to create, extract, and mount WIM files. Both
+read-only and read-write mounts are supported. See the man page
+`doc/wimlib-imagex.1' for more details.
`mkwinpeimg' is shell script that makes it easy to create a customized bootable
image of Windows PE that can be put on a CD or USB drive, or published on a
Table 1. WIM size
XPRESS Compression LZX Compression
- wimlib imagex (v1.2.1): 138,971,353 bytes 131,379,943 bytes
+ wimlib-imagex (v1.2.1): 138,971,353 bytes 131,379,943 bytes
Microsoft imagex.exe: 140,406,981 bytes 127,249,176 bytes
Table 2. Time to create WIM
XPRESS Compression LZX Compression
- wimlib imagex (v1.2.1, 2 threads): 11 sec 17 sec
+ wimlib-imagex (v1.2.1, 2 threads): 11 sec 17 sec
Microsoft imagex.exe: 25 sec 89 sec
NTFS SUPPORT
and headers for libntfs-3g version 2011-4-12 or later to be installed.
Versions dated 2010-3-6 and earlier do not work because they are missing
the header xattrs.h (and the file xattrs.c, which contains functions we
- need).
+ need). libntfs-3g version 2013-1-13 is compatible only with wimlib
+ 1.2.4 and later.
* OpenSSL / libcrypto (optional)
wimlib can use the SHA1 message digest code from OpenSSL instead of
--disable-custom-memory-allocator
If this option is given, a very small amount of space will be saved by
- removing support for the wimlib_set_memory_allocator() function. imagex
- will be unaffected.
-
---disable-verify-compression
- Unless this option is given, every time wimlib compresses a data block,
- it will decompress it into a temporary buffer and abort the program with
- an error message if the decompressed data does not exactly match the
- original data. This only makes compression about 10% slower. However,
- this checking can probably be safely disabled because there are no known
- bugs in the compression code, and the SHA1 message digest of every
- extracted file is checked anyway.
+ removing support for the wimlib_set_memory_allocator() function.
+ wimlib-imagex will be unaffected.
+
+--enable-verify-compression
+ If this option is given, every time wimlib compresses a data block, it
+ will decompress it into a temporary buffer and abort the program with an
+ error message if the decompressed data does not exactly match the
+ original data. This only makes compression about 10% slower. This
+ checking is disabled by default because there are no known bugs in the
+ compression code, and the SHA1 message digest of every extracted file is
+ checked anyway.
--disable-error-messages
Save some space by removing all error messages from the library.
PORTABILITY
-wimlib has mostly been developed and tested on x86_64 (64-bit) GNU/Linux.
-
-It has been tested on x86 (32-bit) GNU/Linux occasionally.
+wimlib has primarily been tested on Linux and Windows (primarily Windows 7, but
+also Windows XP and Windows 8).
wimlib may work on FreeBSD and Mac OS X. However, this is not well tested. If
you do not have libntfs-3g 2011-4-12 or later available, you must configure
The code pays attention to endianness, so it should work on big-endian
architectures, but I've never tested this so do not expect it to work.
-There are no plans to port wimlib to Windows since the programming interface on
-Windows is very different and Microsoft's imagex.exe is already available.
-
REFERENCES
The WIM file format is specified in a document that can be found in the
file format. 7-zip is able to extract and create WIMs (as well as files in many
other archive formats). However, wimlib is designed specifically to handle WIM
files and provides features previously only available in Microsoft's imagex.exe,
-such as the ability to mount WIMs read-write as well as read-only, and the
-ability to create LZX or XPRESS compressed WIMs.
+such as the ability to mount WIMs read-write as well as read-only, the ability
+to create LZX or XPRESS compressed WIMs, and the correct handling of security
+descriptors and hard links.
An earlier version of wimlib is being used to deploy Windows 7 from the Ultimate
Deployment Appliance. For more information see
MORE INFORMATION
-See the manual pages for `imagex', the manual pages for the subcommands of
-`imagex', and the manual page for `mkwinpeimg'.
+See the manual pages for `wimlib-imagex', the manual pages for the subcommands
+of `wimlib-imagex', and the manual page for `mkwinpeimg'.
As of version 0.5.0, wimlib's public API is documented. Doxygen is required to
build the documentation. To build the documentation, run `configure', then
probably will be OpenSSL. Some people believe that GPL code cannot be linked to
OpenSSL without a linking exception. As far as I know, I cannot officially
include a linking exception with the license of this library because several
-files could be considered derived works of LGPL code copyrighted by others. If
-you believe this to be a problem, configure with --without-libcrypto to avoid
+files could be considered derived works of code copyrighted by others. If you
+believe this to be a problem, configure with --without-libcrypto to avoid
linking with OpenSSL. There is no difference in functionality--- there will
just be stand-alone SHA1 message digest code built into the library.