wimoptimize vs. wimexport solid compression behavior
Posted: Mon Apr 03, 2023 4:39 am
I have noticed that applying `wimoptimize --solid` to non-solid images (with the intention of converting a *.wim to *.esd, using non-precise terminology) produces different results compared to `wimexport all --solid`:
Note that the wimoptimized image (as reported by wiminfo) retains LZX compression type and the original chunk size..
===
Similar behavior happens in the opposite direction, making wimoptimize'd ESD->WIM images incompatible with Microsoft tooling (as they retain 128K chunk size even if you specify LZX compression):
Code: Select all
$ cp install.wim install.wimoptimize.wim && wimoptimize install.wimoptimize.wim --solid
<...>
$ wi install.wimoptimize.wim
WIM Information:
----------------
Path: install.wimoptimize.wim
GUID: 0xd5638fee51174b48a94cddf24232867e
Version: 3584
Image Count: 1
Compression: LZX
Chunk Size: 32768 bytes
Part Number: 1/1
Boot Index: 0
Size: 2995830742 bytes
Attributes: Relative path junction
Code: Select all
$ wimexport install.wim all install.wimexport.wim --solid
<...>
$ wi install.wimexport.wim
WIM Information:
----------------
Path: install.wimexport.wim
GUID: 0x0aae24bc8504192232ef9b8b5214d604
Version: 3584
Image Count: 1
Compression: LZMS
Chunk Size: 131072 bytes
Part Number: 1/1
Boot Index: 0
Size: 2995463376 bytes
Attributes: Relative path junction
===
Similar behavior happens in the opposite direction, making wimoptimize'd ESD->WIM images incompatible with Microsoft tooling (as they retain 128K chunk size even if you specify LZX compression):
Code: Select all
$ cp install.esd install.wimoptimize.wim && wimoptimize install.wimoptimize.wim --recompress --compress LZX:100
<...>
$ wi install.wimoptimize.wim
WIM Information:
----------------
Path: install.wimoptimize.wim
GUID: 0x500206f59dc3fb87be2ad69c9881ece9
Version: 68864
Image Count: 1
Compression: LZX
Chunk Size: 131072 bytes
Part Number: 1/1
Boot Index: 0
Size: 2348638435 bytes
Attributes: Integrity info, Relative path junction