[ipxe-devel] Wimboot: Lang selection through parameters?

Melkor Lord melkor.lord at gmail.com
Tue Oct 3 01:43:58 UTC 2017

On 02/10/2017 17:04, Michael Brown wrote:

>> 1/ Use the "copype" tool with ADK
>> 2/ Add all needed language packs, tools, etc. to the default boot.wim 
>> file
>> 3/ Export the default language (ie: "en") to a new WIM file and use it 
>> as the base image.
>> 4/ Export again the image to a separate file, mount it, apply default 
>> lang setting (dism /set-allintl), commit and unmount
>> 5/ Export this modified WIM file to the WIM file exported at 3/, this 
>> will MERGE them!
>> 6/ repeat 4/ and 5/ for every language you need.
> Does this not happen automatically as soon as you have multiple images 
> within a single .wim file?  The WIM format indexes each file by its 
> (SHA-1) checksum, so two files with the same contents should always end 
> up being deduplicated since there's no other way to represent two 
> identical files.

It should but experience shows that my method saves between 100~500KB 
depending on my use cases.

I suspect that "DISM" somewhat duplicates some actions depending what it 
is processing and it seems that a WIM file is a "append-only" file 
format from what I observe.

For example, if you mount a WIM file, add a file to the mountpoint, 
unmount, check WIM file size and repeat the whole process, once or 
several times, the WIM file keeps growing, much like 
"mark-this-old-file-as-hidden-as-use-this-one-as-current" if you see 
what I mean. Then, exporting to a new WIM file only keeps 
"valid/current" files, hence the loss of weight. I hope I'm clear ;)

Unix _IS_ user friendly, it's just selective about who its friends are.

More information about the ipxe-devel mailing list