- Wimlib: ImageX / DISM Alternative To Manipulate WIM Files In Linux [Ubuntu PPA]
- Install Wimlib in Ubuntu via PPA
- Install the ImageX alternative Wimlib in Ubuntu 13.10/13.04/12.04
- Install Wimlib via PPA:
- Ji m
- Wimlib imagex install linux
- What is wimlib?
- Features
- wimlib-imagex documentation
- For developers
- Forums
- About wimlib
Wimlib: ImageX / DISM Alternative To Manipulate WIM Files In Linux [Ubuntu PPA]
Wimlib is a library that allows creating, modifying, extracting and mounting WIM (Windows Imaging Format) files. It comes with a free implementations of ImageX called «wimlib-imagex», available for both Linux and Windows.
WIM is a file-based disk image format developed by Microsoft for Windows Vista and later. The Windows Setup DVD uses such files for the installation process. For more information, see the WIM article on Wikipedia.
Besides WIM extract, create and update support, this free software alternative to ImageX or DISM (Deployment Image Servicing and Management) allows users to mount WIM images, either readonly or read-write and on Linux, it can even be used to extract or create WIM images to/from unmounted NTFS volumes, by using ntfs-3g. Using it from Linux, you can back up, install or restore Windows directly from a WIM file.
Extracting a WIM file can also be achieved by using p7zip (for example, you can extract a WIM file using Archive Manager, by renaming the file extension to .7z, or you can do it via command line, using «7z») however, the latest stable p7zip 9.20.1 seems to fail with Windows 8 WIM images. Wimlib on the other hand should handle Windows 8 WIM files properly.
- Support for both Linux and Windows;
- Apply/extract an image from a WIM file to a directory;
- Apply/extract an image from a WIM file directly to a NTFS volume;
- Capture a directory tree as a WIM image in a new or existing WIM;
- Capture a NTFS volume as a WIM image in a new or existing WIM;
- Mount an image from a WIM file read-only or read-write (Linux only);
- Add or delete files from a WIM image without mounting it;
- Extract individual files or directories without mounting it;
- Delete an image from a WIM file;
- Display information about a WIM file;
- Change WIM image name, description, or bootable status;
- Export image(s) from one WIM to an existing or new WIM;
- Support for both compression formats used in WIMs (LZX and XPRESS);
- Split a WIM file into parts, or join a split WIM into a standalone WIM;
- Directly apply, export, or mount an image from a split WIM.
Wimlib isn’t available in the official Ubuntu repositories and the Launchpad PPAs I’ve found either don’t have Wimlib for all the supported Ubuntu versions or they have old Wimlib packages so to make it easier to install in Ubuntu (and derivatives), I’ve uploaded the latest Wimlib to the main WebUpd8 PPA.
Install Wimlib in Ubuntu via PPA
To add the main WebUpd8 PPA (note: our PPA has quite a few packages, so check out the package list before adding the PPA) and install Wimlib in Ubuntu, use the following commands:
sudo add-apt-repository ppa:nilarimogard/webupd8 sudo apt-get update sudo apt-get install wimtools
Once installed, run «man wimlib-imagex» (for the command, you can simply use «imagex» instead of «wimblib-imagex«) in a terminal to see the available options. To create a customized bootable image of Windows PE, check out «man mkwinpeimg«.
Arch Linux users can install Wimlib via AUR.
Install the ImageX alternative Wimlib in Ubuntu 13.10/13.04/12.04
Wimlib is a C library for creating, modifying, extracting, and mounting files in the Windows Imaging Format (WIM files). It comes with wimlib-imagex, which may be used to create customized images of Windows PE, or to back up, install, or restore Windows operating systems.
On UNIX, wimlib has special support for capturing and applying WIMs directly to/from NTFS volumes using libntfs-3g, preserving Windows-specific and NTFS-specific data.
- Support for both Linux and Windows
- Apply/extract an image from a WIM file to a directory
- Apply/extract an image from a WIM file directly to a NTFS volume
- Capture a directory tree as a WIM image in a new or existing WIM
- Capture a NTFS volume as a WIM image in a new or existing WIM
- Mount an image from a WIM file read-only or read-write (Linux only)
- Add or delete files from a WIM image without mounting it
- Extract individual files or directories without mounting it
- Delete an image from a WIM file
- Display information about a WIM file
- Change WIM image name, description, or bootable status
- Export image(s) from one WIM to an existing or new WIM
- Support for both compression formats used in WIMs (LZX and XPRESS)
- Split a WIM file into parts, or join a split WIM into a standalone WIM
- Directly apply, export, or mount an image from a split WIM
Install Wimlib via PPA:
There’s a PPA contains the packages for Ubuntu 13.10 Saucy, Ubuntu 13.04 Raring, Ubuntu 12.04 Precise, Ubuntu 12.10 Qunatal and their derivatives.
Press Ctrl+Alt+T on your keyboard to open terminal. When it opens, run below commands to add the PPA:
sudo add-apt-repository ppa:nilarimogard/webupd8
Then update package lists:
sudo apt-get install wimtools
Once installed, run man wimlib-imagex to see the available options and run man mkwinpeimg to make a customized bootable image for Windows PE. For more, see official documents.
Ji m
I’m a freelance blogger who started using Ubuntu in 2007 and wishes to share my experiences and some useful tips with Ubuntu beginners and lovers. Please comment to remind me outdated tutorial! And, notify me if you find any typo/grammar/language mistakes. English is not my native language. Contact me via [email protected] Buy me a coffee: https://ko-fi.com/ubuntuhandbook1
Wimlib imagex install linux
Current release: wimlib-1.14.1 (released April 27, 2023)
What is wimlib?
wimlib is an open source, cross-platform library for creating, extracting, and modifying Windows Imaging (WIM) archives. WIM is a file archiving format, somewhat comparable to ZIP (and many other file archiving formats); but unlike ZIP, it allows storing various Windows-specific metadata, allows storing multiple «images» in a single archive, automatically deduplicates all file contents, and supports optional solid compression to get a better compression ratio. wimlib and its command-line frontend wimlib-imagex provide a free and cross-platform alternative to Microsoft’s WIMGAPI, ImageX, and DISM.
Among other things, wimlib:
- Provides fast and reliable file archiving on Windows and on UNIX-like systems such as Mac OS X and Linux.
- Allows users of non-Windows operating systems to read and write Windows Imaging (WIM) files.
- Supports correct archiving of files on Windows-style filesystems such as NTFS without making common mistakes such as not properly handling ACLs, file attributes, links, and named data streams.
- Allows deployment of Windows operating systems from non-Windows operating systems such as Linux.
- Provides independent, high quality open source compressors and decompressors for several compression formats used by Microsoft which are not as well known as more open formats, and are prone to be re-used in different applications and file formats (not just WIM).
wimlib is distributed either as a source tarball (for UNIX/Linux), or as ready-to-use binaries (for Windows XP and later). The software consists of a C library along with the wimlib-imagex command-line frontend and its associated documentation.
Features
- Apply (extract) a WIM image (wimapply)
- Capture (create) a WIM image (wimcapture)
- Append, delete, and export WIM images (wimappend, wimdelete, wimexport)
- Modify a WIM image (wimupdate)
- Extract files or directories from a WIM image (wimextract)
- Optimize a WIM archive, removing wasted space and optionally recompressing (wimoptimize)
- Split or join a WIM archive (wimsplit, wimjoin)
- (Linux-only) Mount a WIM image (wimmount, wimmountrw)
wimlib is fully supported on both Windows and UNIX-like systems. On Windows, wimlib uses native Windows API calls to correctly handle advanced NTFS features such as hard links, symbolic links, junctions, named data streams, and security descriptors. On UNIX, wimlib handles hard links and symbolic links and can optionally handle UNIX-specific metadata such as uids, gids, modes, and extended attributes. UNIX users can take advantage of the integration with NTFS-3G to directly capture from and apply to block devices containing NTFS filesystems. This allows Windows operating systems to be backed up and deployed from a live Linux system, for example. Linux users can also take advantage of the FUSE support to mount WIM images read-only or read-write (see: wimmount, wimmountrw).
wimlib fully supports the file contents deduplication or «Single Instance Storage» which is built into the WIM format. Each distinct file contents is identified by its SHA-1 message digest and is stored only once in a given WIM archive. This is true even if the contents are referenced from multiple WIM images in the same archive, from multiple identical files or hard links, or from multiple file streams such as named data streams. When creating or updating a WIM archive, wimlib automatically performs the needed deduplication. This capability means that the WIM format and wimlib are useful for incremental backups and for distributing multiple similar directory trees such as operating system images (for example).
wimlib can also be used to handle ESD (Electronic Software Download) (.esd) archives in addition to WIM (.wim) archives. ESD archives are WIM archives that use solid-mode LZMS compression, and so usually have a significantly smaller size than regular WIM archives. However, Microsoft sometimes distributes ESD archives in (partially) encrypted form. wimlib cannot decrypt such archives by itself.
wimlib-imagex documentation
wimlib includes a C library and a command-line frontend called wimlib-imagex . Documentation for wimlib-imagex is included with the downloads, but for convenience it is hosted here as well:
- wimlib-imagex
- wimappend (wimlib-imagex append)
- wimapply (wimlib-imagex apply)
- wimcapture (wimlib-imagex capture)
- wimdelete (wimlib-imagex delete)
- wimexport (wimlib-imagex export)
- wimextract (wimlib-imagex extract)
- wimdir (wimlib-imagex dir)
- wiminfo (wimlib-imagex info)
- wimjoin (wimlib-imagex join)
- wimmount (wimlib-imagex mount)
- wimmountrw (wimlib-imagex mountrw)
- wimoptimize (wimlib-imagex optimize)
- wimsplit (wimlib-imagex split)
- wimunmount (wimlib-imagex unmount)
- wimverify (wimlib-imagex verify)
For developers
Developers may be interested in the C API documentation for the library. Several applications besides wimlib-imagex are already using the library.
The source code is maintained in a git repository:
Contributions are accepted via GitHub pull request or any other convenient means.
Forums
About wimlib
wimlib is free and open source software. See the COPYING file distributed with the software for license details.
wimlib was originally a project started by Carl Thijssen in 2009 for use on Linux in the Ultimate Deployment Appliance. Since then the code has been entirely rewritten and improved (main author: Eric Biggers).
wimlib.net (website) Copyright 2015-2023 Eric Biggers
wimlib (software) Copyright 2012-2023 Eric Biggers