☰
用 tiny11builder 做出多语言 Windows 11 镜像:3 处配置搞定区域自定义
2026/10/22 2:06:56 网站建设 项目流程

用 tiny11builder 做出多语言 Windows 11 镜像:3 处配置搞定区域自定义

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

官方 Windows 11 安装介质是单语言的,区域也被锁死在源镜像语言上。用 tiny11builder 做精简国际版只需要改 3 处配置:语言包进镜像、安装界面语言、开机默认区域,一套 ISO 就能在不同地区落地部署。

📦 动手前备齐 4 样东西:语言包来源、版本与存放位置

  • 源 ISO:官方 Windows 11 安装镜像,先记下它的 build 号(在 winver 或镜像文件属性里可查)。
  • 语言包(.cab):微软官方渠道对应的 Windows 11 语言包。比如中文语言包,必须和源镜像 build 号一致,差一个版本 dism 都会直接拒装。
  • 存放位置:在 tiny11maker.ps1 脚本同级目录建一个LanguagePacks文件夹,.cab 全部放进去。
  • 暂存盘:脚本构建时要一整块空闲分区放中间文件。

⚠️ 只用标准版 tiny11maker.ps1。core 版脚本会移除系统可服务性,镜像做完就再也加不了语言,不适合做国际版。

🔧 三层配置法:安装界面、镜像内部、开机默认值

多语言支持分三层,顺序固定:先定安装阶段,再装镜像内部,最后用注册表兜底。少一层都会出现"装完变回英文"这类问题。

第 1 层:autounattend.xml 改哪 4 个字段

autounattend.xml 是 Windows 安装过程自动读取的应答文件,脚本会自动把它复制进镜像并放进 ISO 根目录。在settings pass="windowsPE"里加入语言区域组件,配置 4 个字段:

字段管什么示例值
SetupUILanguage > UILanguage安装界面语言en-US 或 zh-CN
InputLocale键盘布局/输入法0804:00000804
SystemLocale系统区域格式(日期、排序)00000804
UserLocale用户区域格式(货币、时间)zh-CN

这 4 个字段只管"安装过程里看到的画面",是区域设置最早的入口——改了它,安装程序说哪种语言。

第 2 层:tiny11maker.ps1 挂载点之后加语言包安装

脚本把镜像挂载到scratchdir后,会用dism /Get-Intl读出镜像的默认 UI 语言并打印语言代码(如en-US),这是确认源镜像语言的第一道检查。

离线镜像只在挂载期间可写,所以语言包安装必须卡在这个窗口:找到 tiny11maker.ps1 中 "Mounting complete!" 注释处(约第 196 行),插入一段循环:

Get-ChildItem "$PSScriptRoot\LanguagePacks\*.cab" | ForEach-Object { & dism /English "/image:$ScratchDisk\scratchdir" "/add-package" "/packagepath:$($_.FullName)" }

/add-package会把文件夹里每个 .cab 装进当前挂载的镜像。漏了这一步,镜像里就只有源语言,第三层的首选语言设置也就无处可指。

第 3 层:注册表固化默认语言与区域

脚本打印 "Loading registry..." 之后会往镜像里写大量系统设置(第 288–364 行),在这段注册表区域里追加 3 行:

Set-RegistryValue 'HKLM\zSYSTEM\ControlSet001\Control\International' 'Locale' 'REG_SZ' '00000804' Set-RegistryValue 'HKLM\zSYSTEM\ControlSet001\Control\International' 'LocaleName' 'REG_SZ' 'zh-CN' Set-RegistryValue 'HKLM\zSYSTEM\ControlSet001\Control\MUI\Settings' 'PreferredUILanguages' 'REG_MULTI_SZ' 'zh-CN'
  • Control\International的Locale/LocaleName:固定系统区域,决定日期、时间、货币怎么显示。
  • MUI\Settings的PreferredUILanguages:新用户首次开机时显示语言的优先列表。

注册表写进镜像后永久保留,是防止"开机区域回退英文"的最后一道防线。

🚦 从运行脚本到生成 ISO 的完整流程

  1. 资源管理器里双击 ISO 挂载,记下盘符(如 E)。
  2. 按上面三层完成修改:先改 autounattend.xml,再改脚本。
  3. 以管理员身份打开 PowerShell 5.1,运行.\tiny11maker.ps1 -ISO E -SCRATCH D。
  4. 输入镜像索引号,脚本自动完成挂载、装语言包、删冗余、写注册表、卸载导出。
  5. 脚本调用 oscdimg 封装,在脚本目录生成tiny11.iso。
  6. 脚本会自动生成tiny11_*.log日志,挂载时打印的语言代码就是第一道检查点。

✅ 装完系统后逐项核对清单

  • 已安装语言:设置 > 时间和语言 > 语言和区域,列表里应有你添加的语言包。
  • 显示语言:整个系统界面是否为目标语言。
  • 日期时间格式:任务栏与设置里是否按区域格式显示。
  • 货币:符号是否与目标地区一致。
  • 输入法:任务栏是否出现语言包对应的输入法(如中文拼音)。

语言在列表里但显示语言仍是英文时,回头检查PreferredUILanguages是否写对。

⚠️ 避坑速查表

现象原因处理
/add-package报错 0x800f081f语言包版本与镜像 build 不匹配换回与源 ISO build 一致的语言包
装完系统语言列表里没有新语言.cab 没放进 LanguagePacks,或路径有空格确认文件夹与脚本同级、路径无空格
区域不生效,安装界面仍是原语言4 个字段没写在 windowsPE 阶段,或文件名被改检查字段位置,文件名保持 autounattend.xml
开机默认语言变回英文注册表代码插在加载之前或卸载之后3 行代码放在 "Loading registry..." 到 "Unmounting Registry..." 之间
失败原因查不到靠猜打开脚本目录的tiny11_*.log,搜add-package、Get-Intl

再往前一步

tiny11builder 国际版做完这 3 层后,一套 ISO 就能在不同地区部署,显示语言、区域格式、输入法全部预置好。如果要一次构建多个语言版本,可以在脚本开头加一个Read-Host小菜单,让你勾选要装哪几个 .cab——一个脚本出多套镜像,不用来回改代码。

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

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

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

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

立即咨询