A tool to download and verify Windows 11 electronic software distributions (ESD) directly from Microsoft.
Originally created when Microsoft did not distribute ARM ISO images, this tool plus a way to convert ESD to ISO allows you to get a Windows ISO image with a clear provenance directly from Microsoft.
All requirements are already included in macOS. Patches are welcome for portability.
download-windows-esd languages
Lists the available language codes.
download-windows-esd editions LANGUAGE
Given a language code, lists the available Windows editions.
download-windows-esd architectures LANGUAGE EDITION
Given a language code and edition name, lists the available architectures.
download-windows-esd download LANGUAGE EDITION ARCHITECTURE
Downloads the ESD listed for the given language, edition, and architecture. This image may have more than one edition. Automatically resumes a download if a partial download already exists.
download-windows-esd sha256sum LANGUAGE EDITION ARCHITECTURE
Outputs the SHA-256 checksum and filename of the ESD in a format compatible with shasum's "-c" flag.
download-windows-esd url LANGUAGE EDITION ARCHITECTURE
Outputs the download URL for the ESD.
download-windows-esd will use a Microsoft redirect link to download an XML catalog file listing all variations of Windows 11 ESDs.
This catalog file, and the cabinet (.cab) file that contains it, will be cached locally. Checks for updates only occur every 24 hours.
When checking, download-windows-esd will automatically attempt to retrieve a new catalog file. It will only be downloaded if its modified date is newer than what has already been downloaded.
After downloading an ESD, it is checked against the SHA1 checksum from the catalog.
Though the tool is not specific to Bash, a Bash completion script is included.
This script, when sourced or installed with other Bash completions, will provide autocomplete suggestions for the commands that download-windows-esd supports, as well as providing valid values for language, edition, and architecture where appropriate.
(Note: Bash completions can also be used in zsh via bashcompinit; in fact, as a zsh user, I developed the completions this way.)
There are a few ways you can convert the ESD to an ISO image.
- My own windows-esd-to-iso tool will flexibly convert ESD with any number of images (i.e. editions) inside into an ISO that is intended to closely match Microsoft's own x64 ISOs as generated by the Media Creation Tool.
- Michael Niehaus writes about how to create an ISO in Windows using the ADK.
- Parallels Desktop has an internal tool called prl_esd2iso located inside the application bundle.
While this tool itself is already licensed to you, Windows itself may require licensing and activation.
You must address this; this tool does not.