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

Melkor Lord melkor.lord at gmail.com
Mon Oct 2 00:39:21 UTC 2017

On 29/09/2017 15:13, Andreas Hammarskjöld wrote:

> Ok, so I assume you also want different language in WinPE as well,
> i.e. Swedish prompt etc? Not just different loader language? If so,
> the issues is bigger as you need to customize the .wim quite a bit to
> get you local language in. This is done by running several dism.exe
> commands against the .wim itsels, and then setting the new language.

That's exactly what I do for the moment. In fact, as I told in another 
post, I have 2 different uses. One to boot a simple WinPE just to fire 
up the Windows 10 setup and install it on disk. The other one being a 
WinPE to use in disaster recovery, offline repair/tweak, etc.

Right now, I created a script to generate both WinPE boot.wim files, 
each with as many indexes as I need for langage support. The "setup" 
WinPE is really simple with only few additions and the "recovery" WinPE 
featuring all the needed tools to perform offline actions.

Wimboot uses the "index=N" option to make sure each boot.wim starts with 
the correct language.

> Typically WinPE only likes having one active language at the time,
> there is no way to "switch" while running as in the full OS.

Thanks for clarifying. Michael's post lead me to believe that there was 
a way to live switch the language after the WinPE OS was booted.

It would have been nice and would make things a bit simpler but right 
now, the index-per-language is a perfectly viable and working solution.

> So this could be solved with using several indexes, but that will
> bloat the .wim and make transfer time long. So in this case we have
> created a .wim per language instead and used menu/server side logic
> to select the right image.  In some parts of Switzerland you will
> have languages in the same office, with different keyboard locale.
> Makes sense? If not, I can describe in even greater detail.

Makes perfect sense and that's what I use now. In my script, I manage to 
reduce the size of the final WIM file by doing a simple trick :

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.

In the end, the resulting WIM file will contain one index per supported 
language and thanks to the "export" command of DISM, only the needed 
bytes would be present in the WIM file, no extraneous bloat. The final 
WIM file ends up being quite compact, although supporting all needed 

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

More information about the ipxe-devel mailing list