☰
如何快速做出多语言 tiny11builder 国际版镜像:区域设置完整指南
2026/10/22 2:05:11 网站建设 项目流程

如何快速做出多语言 tiny11builder 国际版镜像:区域设置完整指南

【免费下载链接】tiny11builderWinUI app for building smaller, customized Windows 11 images.项目地址: https://gitcode.com/GitHub_Trending/ti/tiny11builder

想给精简版 Windows 11 加上多语言支持和自定义区域设置,只需改 tiny11builder 的两个文件:构建脚本 tiny11maker.ps1 和应答文件 autounattend.xml。一共五步,做完装进虚拟机,你能拿到一个语言包齐全、日期和货币格式都正确的国际版镜像。

动手前备齐这三样

  • 两个要改的文件:tiny11maker.ps1 是主构建脚本,装语言包、写注册表都加在这里;autounattend.xml 是 Windows 安装自动应答文件,决定安装器使用什么语言和区域格式。
  • .cab 语言包:需要哪种语言,就从微软官网下载对应的 Windows 11 语言包,统一放进脚本旁边的 LanguagePacks 文件夹,脚本会批量处理。
  • 版本对应关系:语言包的 Windows 11 版本号必须和处理中的 install.wim 一致,23H2 的包装不上 24H2 的镜像,反过来同样装不上。

按顺序做这五步

顺序别乱:前两步趁镜像还挂载着完成,后三步在注册表和 XML 上动手,构建跑完一轮就能看出效果。

1. 读出镜像的默认语言代码

目的:先知道镜像现在是什么语言,后面挑语言包才不装重、不漏装。

做法:tiny11builder 的构建脚本已经内置了这一步。第 167 行附近有一行dism /English /Get-Intl,它负责读出挂载镜像的默认系统 UI 语言,代码形如 en-US,两段各两个字母。

看到什么算成功:构建日志里出现Default system UI language code: en-US这样的行,就说明读取成功,这个代码也是下一步挑语言包的依据。

2. 三步装好 tiny11 中文语言包

目的:语言包只在镜像挂载阶段安装才有效,安装代码必须卡在挂载完成和卸载之间。

做法:在脚本 "Mounting complete!" 那行提示之后加下面四行,它把 LanguagePacks 文件夹里的 .cab 逐个装进挂载点:

$languagePacks = Get-ChildItem "$PSScriptRoot\LanguagePacks" -Filter *.cab foreach ($lp in $languagePacks) { & 'dism' '/English' "/image:$($ScratchDisk)\scratchdir" '/add-package' "/packagepath:$($lp.FullName)" }

看到什么算成功:每个包都会打印一条成功提示,全部走完没有报错,安装就算完成;哪个包卡住,先把它记下来。

3. 把默认 UI 语言写进注册表

目的:装包只是把语言加进镜像,要让系统开机就用它显示,得把目标语言写进 MUI 设置键。

做法:脚本已把镜像的离线 SYSTEM 库加载为HKLM\zSYSTEM,写入时必须带 zSYSTEM 前缀,写错前缀改的是制作机。在第 288 行附近的注册表区段加两行:

Set-RegistryValue 'HKLM\zSYSTEM\ControlSet001\Control\MUI\Settings' 'PreferredUILanguages' 'REG_MULTI_SZ' 'zh-CN' Set-RegistryValue 'HKLM\zSYSTEM\ControlSet001\Control\MUI\Settings' 'PreferredUILanguagesPending' 'REG_MULTI_SZ' 'zh-CN'

看到什么算成功:运行时每个键都会打印一行Set registry value: HKLM\zSYSTEM\...,看到两行,说明 PreferredUILanguages 和 Pending 都写进去了。

4. autounattend 语言配置:给安装器定区域

目的:应答文件管的是安装器自己的语言和区域格式,在 windowsPE 阶段加一个区域组件,整个安装流程就跟着目标语言走。

做法:在 autounattend.xml 的pass="windowsPE"配置块里加一个组件,示例值是 zh-CN,做别的语言就替换成对应代码:

<component name="Microsoft-Windows-International-Core-WinPE" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> <SetupUILanguage><UILanguage>zh-CN</UILanguage></SetupUILanguage> <InputLocale>0804:00000804</InputLocale> <SystemLocale>zh-CN</SystemLocale> <UILanguage>zh-CN</UILanguage><UserLocale>zh-CN</UserLocale> </component>

看到什么算成功:保存后 XML 标签全部闭合,四个配置项都在;构建时脚本会自动把这个文件拷进镜像,不用手动放。

5. 注册表区域格式:Locale 与 LocaleName

目的:MUI 那两键只管界面语言,日期、时间、货币这些格式归 International 键管,得单独写。

做法:位置和上一步相同,zSYSTEM 前缀区段里再补两行,把区域格式指到中文(中国):

Set-RegistryValue 'HKLM\zSYSTEM\ControlSet001\Control\International' 'Locale' 'REG_SZ' '00000804' Set-RegistryValue 'HKLM\zSYSTEM\ControlSet001\Control\International' 'LocaleName' 'REG_SZ' 'zh-CN'

看到什么算成功:日志里多两行 International 键的写入提示,这台多语言 Windows 11 精简镜像的区域设置就算配齐了。

装完系统后这样验

镜像做完不等于没问题,装一遍再逐项核对:

  • 用 ISO 装进虚拟机,开机进桌面。
  • 打开“设置 > 时间和语言 > 语言和区域”,确认目标语言出现在已安装语言列表里,并且是当前显示语言。
  • 看任务栏右下角的日期时间格式,再新建一个文件看时间戳,分隔符和顺序应为中文习惯。
  • 打开计算器输入一笔金额,货币符号应显示为 ¥。

⚠️ 三个最容易踩的坑

翻车基本集中在这三处,出现对应症状先对号入座。

Q1:区域都配了,装完还是英文?

区域设置不生效,多半出在应答文件。先核对组件名 Microsoft-Windows-International-Core-WinPE 有没有拼错,再看它是否放在pass="windowsPE"区段下;阶段放错,安装器会整段忽略区域值。

Q2:语言包装到一半报错?

按这个顺序查:cab 文件是否下载完整,中断的包必然失败;语言包版本号是否与 install.wim 一致;临时盘剩余空间是否够镜像挂载解压。想留现场的话,给安装命令追加| Out-File "$PSScriptRoot\LanguagePackInstall.log" -Append,完整输出会写进日志。

Q3:装了语言包,系统里却选不到?

回头查 MUI 两个键:PreferredUILanguages 和 PreferredUILanguagesPending 必须都写,前缀必须是 zSYSTEM;写进普通 HKLM,改的是制作机,不是镜像。

改动全部落在 tiny11maker.ps1 和 autounattend.xml 两个文件里。想再进一步,可以在脚本开头加一个语言包选择菜单,做出支持多语言的国际版镜像。

【免费下载链接】tiny11builderWinUI app for building smaller, customized Windows 11 images.项目地址: https://gitcode.com/GitHub_Trending/ti/tiny11builder

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询