Windows 10 všechny edice v jednom .ISO souboru
Jedna edice vládne všem, jedna jim všem káže, jedna všechny přivede, do jednoty sváže.
Ano, mluvím o mocném
Existuje i ekvivalentní open source náhrada která se jmenuje: DISM++ pouze pro Windows.
Která implementuje některé funkce a má vlastní GUI s dalšími vlastními nástroji.
Já se zaměřím na jiný open source projekt (knihovnu) wimlib určenou pro více platforem.
Wimlib stejně jako DISM nebo DISM++ dokáže editovat soubory ve formátu (.wim) jedná se o archivy které jsou schopny ukládat specifická metadata pro operační systém Windows. Konkrétně si zde ukážeme jak vytvořit (.iso) soubor s bitovou kopií Windows. Ve které jsou obsaženy všechny edice Windows které nejsou běžně dostupné v jedné bitové kopii.
Windows edice se kterými budeme pracovat:
01 Windows 10 Enterprise LTSC
02 Windows 10 Enterprise N LTSC
03 Windows 10 Enterprise
04 Windows 10 Enterprise N
05 Windows 10 Home
06 Windows 10 Home N
07 Windows 10 Education
08 Windows 10 Education N
09 Windows 10 Pro
10 Windows 10 Pro N
11 Windows 10 Pro Education
12 Windows 10 Pro Education N
13 Windows 10 Pro for Workstation
14 Windows 10 Pro N for Workstation
Tyto Windows edice jsou rozděleny do třech majoritních edic (Consumer, Business, LTSC):
cs-cz_windows_10_enterprise_ltsc_2021_x64_dvd_d624c653.iso
SHA1: 141b338d68cfc388c59bfe3d00e63ddb7e364319
cs-cz_windows_10_business_editions_version_21h2_x64_dvd_6d4a568a.iso
SHA1: 4005b0d475ea546d7840030025f700ebd4bfecdf
cs-cz_windows_10_consumer_editions_version_21h2_x64_dvd_f9fce7c5.iso
SHA1: 5745dec491eea8384ff4d56690378612af5a71e2
Ty navzájem obsahují některé stejné edice, ale žádná z nich neobsahuje všechny.
INFO: Můžeme vytvořit soubor .wim nebo .esd (později převést na .iso), který bude obsahovat různé edice systému Windows pro více typů architektury. Například vytvořit bitovou kopii systému Windows, která obsahuje dvě verze systému Windows, jednu pro 32bitové architektury a jednu pro 64bitové architektury. Z důvodu, že je 32bitová architektura zastaralá pro operační systémy Windows, nebudu se jí zde dále zabývat.
ISO:
Soubory .iso obsahují soubory .wim (konkrétně soubor "install.wim" ve kterém je uložen diskový obraz pro instalaci Windows). Soubor .iso lze jednodušeji instalovat na samostatných zařízeních např. pomocí USB flash disku.
WIM:
Soubory .wim jsou navrženy tak, aby fungovaly optimálně v systémech Windows, ale převod na soubory .iso je učiní přenosnějšími. U operačních systémů, které nepodporují formát .wim lze obrazy wim převést na běžněji používaný obraz ISO pomocí sady Windows Assessment and Deployment Kit (ADK). Pomocí nástroje příkazového řádku Oscdimg.exe
ESD:
Soubory .esd (Electronic Software Download) jsou archivy .wim které používají kompresi LZMS v pevném režimu. Mývají výrazně menší velikost než běžné archivy .wim ale někdy jsou ESD soubory distribuovány v částečně zašifrované podobě.
Upozornění!
Komprese z .wim na .esd soubory je velice náročný proces na váš hardware, přesto je možný celý proces kompletně dokončit i na (RPi4b 4GB ram). Berte ale na vědomí, že se jedná o časově dlouhou úlohu.
V první fázi si extrahujeme soubory "install.wim" ze všech tři majoritních edic: Consumer, Business, LTSC, do třech různých složek.
install.wim SHA1: a3d6f4f14f4b9d1eb5af258cfa2c98d08c330ab8 (Business)
install.wim SHA1: 15c512c1125a2419c01b691f4bf2d85aa3b6f913 (Consumer)
install.wim SHA1: 69b550ccea74be10d7e3b6d445c14f7121b373ff (LTSC)
Jestliže je nám jedno, že budou edice při výběru instalace Windows neuspořádané.
Můžeme použít následující příkazy pro DISM nebo pro wimlib.
Windows (DISM):
dism /export-image /sourceimagefile:x:\path\consumer\install.wim /all /destinationimagefile:x:\path\install.esd /compress:recovery
dism /export-image /sourceimagefile:x:\path\business\install.wim /all /destinationimagefile:x:\path\install.esd /compress:recovery
dism /export-image /sourceimagefile:x:\path\ltsc\install.wim /all /destinationimagefile:x:\path\install.esd /compress:recovery /checkintegrity
Linux (wimlib):
wimlib-imagex export "/path/consumer/install.wim" all --compress=LZMS --solid "/path/install.esd"
wimlib-imagex export "/path/business/install.wim" all --compress=LZMS --solid "/path/install.esd"
wimlib-imagex export "/path/ltsc/install.wim" all --compress=LZMS --solid "/path/install.esd"
Výsledný komprimovaný soubor "install.esd" nyní obsahuje všechny edice systému Windows.
Není zcela jednoduché uspořádat edice (výběr edice při instalaci Windows) po vytvoření .esd souboru. Proto si ukážeme jak je uspořádat při vytváření .esd souboru.
Postupně budeme zadávat příkazy s výběrem konkrétní edice.
Takto docílíme posloupnosti požadovaného seznamu = Windows edice se kterými budeme pracovat.
01 wimlib-imagex export "/path/ltsc/install.wim" 1 --compress=LZMS --solid "/path/install.esd"
02 wimlib-imagex export "/path/ltsc/install.wim" 2 --compress=LZMS --solid "/path/install.esd"
03 wimlib-imagex export "/path/business/install.wim" 3 --compress=LZMS --solid "/path/install.esd"
04 wimlib-imagex export "/path/business/install.wim" 4 --compress=LZMS --solid "/path/install.esd"
05 wimlib-imagex export "/path/consumer/install.wim" 1 --compress=LZMS --solid "/path/install.esd"
06 wimlib-imagex export "/path/consumer/install.wim" 2 --compress=LZMS --solid "/path/install.esd"
07 wimlib-imagex export "/path/consumer/install.wim" 3 --compress=LZMS --solid "/path/install.esd"
08 wimlib-imagex export "/path/consumer/install.wim" 4 --compress=LZMS --solid "/path/install.esd"
09 wimlib-imagex export "/path/consumer/install.wim" 5 --compress=LZMS --solid "/path/install.esd"
10 wimlib-imagex export "/path/consumer/install.wim" 6 --compress=LZMS --solid "/path/install.esd"
11 wimlib-imagex export "/path/consumer/install.wim" 7 --compress=LZMS --solid "/path/install.esd"
12 wimlib-imagex export "/path/consumer/install.wim" 8 --compress=LZMS --solid "/path/install.esd"
13 wimlib-imagex export "/path/consumer/install.wim" 9 --compress=LZMS --solid "/path/install.esd"
14 wimlib-imagex export "/path/consumer/install.wim" 10 --compress=LZMS --solid "/path/install.esd"
Existuje několik metod, jak vložit komprimovanou bitovou kopii Windows .esd do .iso souboru a převést ho způsobem, který umožnuje správné načítaní bitové kopie Windows v jiných programech, které se souborem .iso pracují.
Nejednoduší metodou je použít již zmíněný nástroj oscdimg.exe
Vytvoříme si soubor "setup.bat" do kterého vložíme následující kód:
@echo off
cd /d %~dp0
oscdimg.exe -bootdata:2#p0,e,b"x:\path\boot\etfsboot.com"#pEF,e,b"x:\path\efi\microsoft\boot\efisys.bin" -o -h -m -u2 -udfver102 -lMartin-S "x:\path" "%~dp0Win10-Ultimate.iso"
pause
(Je samozřejmě nutné si změnit cesty k souborům).
Skript pracuje se soubory "etfsboot.com" a "efisys.bin" které získáme extrahováním celé původní bitové kopie Windows např. cs-cz_windows_10_enterprise_ltsc_2021_x64_dvd_d624c653.iso
Původní extrahovaná edice nám bude sloužit jako základ pro vytvoření (Win10-Ultimate.iso).
Toho docílíme, že ještě v extrahované edici změníme původní soubor "install.wim" na náš komprimovaný soubor "install.esd".
(Oba soubory mají jinou koncovku, takže nemůže dojit k přímému přepsání souborů).
Po spuštění skriptu "setup.bat" dostaneme výsledný .iso soubor Win10-Ultimate.iso s bitovou kopií Windows která obsahuje nyní všechny edice:
Můžeme použít následující příkazy pro DISM nebo pro wimlib.
Windows (DISM):
dism /export-image /sourceimagefile:x:\path\consumer\install.wim /all /destinationimagefile:x:\path\install.esd /compress:recovery
dism /export-image /sourceimagefile:x:\path\business\install.wim /all /destinationimagefile:x:\path\install.esd /compress:recovery
dism /export-image /sourceimagefile:x:\path\ltsc\install.wim /all /destinationimagefile:x:\path\install.esd /compress:recovery /checkintegrity
Linux (wimlib):
wimlib-imagex export "/path/consumer/install.wim" all --compress=LZMS --solid "/path/install.esd"
wimlib-imagex export "/path/business/install.wim" all --compress=LZMS --solid "/path/install.esd"
wimlib-imagex export "/path/ltsc/install.wim" all --compress=LZMS --solid "/path/install.esd"
Výsledný komprimovaný soubor "install.esd" nyní obsahuje všechny edice systému Windows.
Není zcela jednoduché uspořádat edice (výběr edice při instalaci Windows) po vytvoření .esd souboru. Proto si ukážeme jak je uspořádat při vytváření .esd souboru.
Postupně budeme zadávat příkazy s výběrem konkrétní edice.
Takto docílíme posloupnosti požadovaného seznamu = Windows edice se kterými budeme pracovat.
01 wimlib-imagex export "/path/ltsc/install.wim" 1 --compress=LZMS --solid "/path/install.esd"
02 wimlib-imagex export "/path/ltsc/install.wim" 2 --compress=LZMS --solid "/path/install.esd"
03 wimlib-imagex export "/path/business/install.wim" 3 --compress=LZMS --solid "/path/install.esd"
04 wimlib-imagex export "/path/business/install.wim" 4 --compress=LZMS --solid "/path/install.esd"
05 wimlib-imagex export "/path/consumer/install.wim" 1 --compress=LZMS --solid "/path/install.esd"
06 wimlib-imagex export "/path/consumer/install.wim" 2 --compress=LZMS --solid "/path/install.esd"
07 wimlib-imagex export "/path/consumer/install.wim" 3 --compress=LZMS --solid "/path/install.esd"
08 wimlib-imagex export "/path/consumer/install.wim" 4 --compress=LZMS --solid "/path/install.esd"
09 wimlib-imagex export "/path/consumer/install.wim" 5 --compress=LZMS --solid "/path/install.esd"
10 wimlib-imagex export "/path/consumer/install.wim" 6 --compress=LZMS --solid "/path/install.esd"
11 wimlib-imagex export "/path/consumer/install.wim" 7 --compress=LZMS --solid "/path/install.esd"
12 wimlib-imagex export "/path/consumer/install.wim" 8 --compress=LZMS --solid "/path/install.esd"
13 wimlib-imagex export "/path/consumer/install.wim" 9 --compress=LZMS --solid "/path/install.esd"
14 wimlib-imagex export "/path/consumer/install.wim" 10 --compress=LZMS --solid "/path/install.esd"
Existuje několik metod, jak vložit komprimovanou bitovou kopii Windows .esd do .iso souboru a převést ho způsobem, který umožnuje správné načítaní bitové kopie Windows v jiných programech, které se souborem .iso pracují.
Nejednoduší metodou je použít již zmíněný nástroj oscdimg.exe
Vytvoříme si soubor "setup.bat" do kterého vložíme následující kód:
@echo off
cd /d %~dp0
oscdimg.exe -bootdata:2#p0,e,b"x:\path\boot\etfsboot.com"#pEF,e,b"x:\path\efi\microsoft\boot\efisys.bin" -o -h -m -u2 -udfver102 -lMartin-S "x:\path" "%~dp0Win10-Ultimate.iso"
pause
(Je samozřejmě nutné si změnit cesty k souborům).
Skript pracuje se soubory "etfsboot.com" a "efisys.bin" které získáme extrahováním celé původní bitové kopie Windows např. cs-cz_windows_10_enterprise_ltsc_2021_x64_dvd_d624c653.iso
Původní extrahovaná edice nám bude sloužit jako základ pro vytvoření (Win10-Ultimate.iso).
Toho docílíme, že ještě v extrahované edici změníme původní soubor "install.wim" na náš komprimovaný soubor "install.esd".
(Oba soubory mají jinou koncovku, takže nemůže dojit k přímému přepsání souborů).
Po spuštění skriptu "setup.bat" dostaneme výsledný .iso soubor Win10-Ultimate.iso s bitovou kopií Windows která obsahuje nyní všechny edice:
Pomocí kompresního algoritmu LZMS s přepínačem "--solid" můžeme vidět, že vnitřní soubor .esd ve výsledném .iso souboru má podobnou velikost jako ostatní originální bitové kopie Windows.