Current Script Version : 0.6.0-beta
This tool allows you to convert WIM Images to ESD Images and vice-versa.
If you want to compress WIM Images so they can fit on your favorite Bootable FAT32-formatted USB Stick, this tool is for you. If you can't install with an ESD Image and want to go back to the good old WIM Image, this tool is also for you.
Note : This is a maintained fork of the original Studisys/Simple-WIM2ESD---ESD2WIM-Converter by Joel Didier (Studisys). The known bugs of the original 0.5.0-beta release (empty index names, paths with spaces not supported, broken start-over flow, broken elevation prompt) have been fixed — see the Changelog.
The script now uses the DISM that ships with your Windows installation
(C:\Windows\System32\dism.exe) by default, so you always get the newest DISM
version available on your system — no separate download needed.
The DISM folder bundled in this repository (version 10.0.17120.1000, from 2018)
is only used as a fallback if no system DISM is found. On any normal
Windows 10 / 11 system you do not need it and can delete it.
- Windows 10 and Windows 11 (system DISM is used directly).
- Older systems (e.g. Windows 7 / 8.1) may need a modern DISM — keep the bundled
DISMfolder next to the script for that case, or install a current Windows ADK. - ESD compression (
Recovery) requires DISM 10 or newer.
-
Download the script
Simple-WIM2ESD---ESD2WIM-Converter.bat. TheDISMfolder is optional — it is only needed on systems without a usable DISM. -
Run the script
Simple-WIM2ESD---ESD2WIM-Converter.bat. Note : If you didn't run the script as Administrator, you will be prompted for Administrator rights. They are required for DISM to work. -
Follow the steps shown in the script :
- Select the type of conversion you want :
1for WIM to ESD2for ESD to WIM
- Choose if you want to change the path to the source image :
Nto keep the default path (install.wim/install.esdin the script's folder)Yto enter the full path to the source image- Paths containing spaces are supported; surrounding quotes are removed automatically.
- The script verifies that the source file exists before continuing.
- Choose if you want to change the path to the destination image (same rules as above).
- Choose if you want to change the type of Image Compression :
1-> None : No Compression (Fastest) [Destination Image bigger than Source Image]2-> Fast : Low Compression (Fast) [Destination Image 'may' be bigger than Source Image]3-> Maximum : Very High Compression (Slow) [Recommended maximum for WIM Images]4-> Recovery : Insane Compression (Slowest) [ESD format — only use for ESD Images]
- Select an option :
1to export a single Index (then enter the Index number)2to export all Indexes
- Select the type of conversion you want :
-
Validate and let the fun begin.
At any menu you can press Q to exit or S to start over.
- This script requires Administrator rights to run. If it was not started elevated, it re-launches itself with a UAC prompt.
- If the specified destination image already exists, it will be deleted before the export begins.
None,FastandMaximumproduce standard WIM compression (Maximum = LZX).Recoveryproduces ESD (LZMS) compression. Only use it for.esddestination files — a.wimfile with Recovery compression may not be readable by all tools.- The presets already do the right thing : WIM -> ESD defaults to
Recovery, ESD -> WIM defaults toMaximum.
This tool was created by Joel Didier (Studisys) as part of a much bigger project
to help manage and customize Windows Installation Images and files. The original
motivation : ISOs provided by Microsoft were too big to boot properly over USB on
UEFI systems (install.wim > 4GB), so a quick way of compressing install.wim
images was needed.
This fork fixes the bugs of the last upstream release and modernizes the script.
- The script now uses the DISM installed with the OS by default (always up to date); the bundled DISM folder is only a fallback.
- Fixed empty index names in the index list (FOR variable collision).
- Fixed paths containing spaces (quoting of DISM path, source, and destination; quotes pasted by the user are stripped automatically).
- Fixed the broken
GOTO IndexExportjump to a non-existent label that crashed the script. - Fixed the broken Administrator elevation prompt (invalid
SET paramssyntax). - Fixed the start-over flow (
S) which previously re-ran parts of the script twice. - Fixed error detection : DISM exit codes are now actually checked, including inside the "export all indexes" loop.
- Fixed index parsing on non-English systems (DISM is now called with
/English). - The ESD -> WIM preset now uses
Maximumcompression instead ofRecovery(which produced ESD-compressed data inside a.wimfile). - Added input validation for the index number and a file-existence check for the source image.
- 3-digit version [Major].[Beta].[Alpha]
- [Major] : number of the stable version
- [Beta] : number of the Beta version (number of bugs greatly reduced compared to the Alpha version)
- [Alpha] : number of the Alpha version (highest number of bugs, features not properly working)
A changelog can be found here.
This project is licensed under the AGPL 3.0 License. The license file can be viewed here.
- Original author : Joel Didier (Studisys)
- Twitter : https://twitter.com/Studisys
- Email : studisys@protonmail.com
- Original repository : https://github.com/Studisys/Simple-WIM2ESD---ESD2WIM-Converter
- This fork : https://github.com/dmatrix68-boop/Simple-WIM2ESD---ESD2WIM-Converter