给 Windows ISO 添加语言包

给 Windows ISO 添加语言包
狂犬主子一直以来都是使用中文版系统,但是有时候Windows ISO中只有英文版,比如ARM64和泄露出来的版本,所以需要将中文版ISO中的语言包添加到英文版ISO中。
准备文件
此处我们演示的是为 LTSC2024 的英文版系统ISO添加中文语言包。
这个案例中,我们能够获取到完整的ADK和PE加载项,以及LoF/FoD ISO,这样能够安装微软官方推荐的方式进行集成。如果文件不全,您可能需要从UUPDUMP上获取。
同时,install.wim中包含3个索引,我们需要对其分别进行操作。
-
英文版系统ISO(此处为LTSC2024)
-
中文版系统ISO(需要和系统镜像版本保持一致,可从UUP提取)
-
ADK和PE加载项(需要和系统镜像版本保持一致,amd64的已包含arm64的PE)
-
LoF/FoD ISO(语言和功能离线包,需要和系统镜像版本保持一致)
补充:
目前正式版本的中文版 LTSC2024 x64 已经发布,但暂无中文版 LTSC2024 ARM64,只能用英文版转制。
IoT Enterprise LTSC 2024 镜像内包含 3 个 Index/SKU (LTSC + IoT EnterpriseS + IoT EnterpriseS 订阅版),和泄露的 OEM 版本 ISO 中包含的一致,而 LTSC 2024 镜像只有 LTSC 这 1 个 Index/SKU。当然也可由 LTSC 通过 DISM 命令转换为后面两个版本。这种操作之前的 LTSC 2021 开始支持,但 LTSC 2021 无订阅版本。
经过测试,26100.1 集成更新可能会出现无法清理/无法更新的错误,建议使用 26100.1742 作为母盘。
附:
- 正式版简中 LTSC2024 x64 (26100.1742) 下载:zh-cn_windows_11_enterprise_ltsc_2024_x64_dvd_cff9cd2d.iso
- 个人按照本文方法制作用于集成更新的简中 LTSC2024 ARM64 (26100.1742) 成品下载:26100.1742.240906-0331.ge_release_svc_refresh_CLIENT_ENTERPRISES_OEM_A64FRE_zh-cn.iso
详细步骤
以下文档根据微软官方教程编写,微软官方文档中有很多坑,需要自行补全,此处已改写成具体命令。
请将下面的脚本放入文本编辑器中,设置语言格式为Batch,供本地编辑查看。
可将路径批量替换为实际路径,提高运行效率。
经过测试,支持集成 ARM64 架构的 LTSC2024 26100.1742 镜像。
如果您有多个镜像要集成,那可以将下面内容中的路径替换成变量,通过for执行重复的步骤,然后编写成批处理。
注意替换 H:
的时候别给 Path:
替换成 Patx:
。
建议您选择 (26100.1有问题)的母盘集成语言包,之后再集成LCU补丁。微软官方文档说明,如果在添加语言之前添加了更新包 (LCU),请重新安装更新包,以确保更新的所有语言资源都在你的映像中。.1
初始版本
附:下表显示了将各种任务应用于文件的正确顺序。 例如,完整序列从将服务堆栈更新添加到 WinRE (1) 开始,最后将启动管理器从 WinPE 添加到新媒体 (28) 。
任务 WinRE (winre.wim) 操作系统 (install.wim) WinPE (boot.wim) 新媒体 添加服务堆栈动态更新 1 9 17 添加语言包 2 10 18 添加本地化的可选包 3 19 添加字体支持 4 20 添加文本转语音 5 21 更新 Lang.ini 22 按需添加功能 11 添加安全 OS 动态更新 6 添加安装程序动态更新 26 从 WinPE 添加 setup.exe 27 从 WinPE 添加启动管理器 28 添加最新的累积更新 12 23 清理映像 7 13 24 添加可选组件 14 添加 .NET 和 .NET 累积更新 15 导出映像 8 16 25 从 2021 年 2 月开始,最新的累积更新和服务堆栈更新将合并并分发到 Microsoft 更新目录中,作为新的组合累积更新。 对于需要服务堆栈更新以更新安装媒体的步骤 1、9 和 18,应使用组合累积更新。 有关组合累积更新的详细信息,请参阅 服务堆栈更新。
1 | :: 给 Windows ISO 添加语言包 :: 警告:此文件非批处理,文件格式仅供更好排版 :: 需要手动复制命令然后粘贴执行,请勿直接运行此文件!!! :: Tips:复制命令时带下一行的换行符可以避免最后一条命令需要按回车 :: 目录介绍: :: C: 当前运行的系统(1904x以上,安装ADK和PE) :: C:\Program Files (x86)\Windows Kits\10 ADK和PE安装目录 :: D: 工作硬盘 :: D:\temp 工作目录 :: D:\temp\dist 分发合盘 :: F: 挂载英文版系统ISO :: G: 挂载中文版系统ISO(需要用到sources\zh-CN文件夹) :: H: 挂载LoF/FoD ISO :: 路径请勿带空格! :: 制作目标系统架构:amd64 x64 :: 进入ADK环境(管理员权限运行) :: 1. 开始菜单搜索“部署和映像工具环境” :: 2. "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Windows Kits\Windows ADK\Deployment and Imaging Tools Environment.lnk" :: 3. C:\WINDOWS\system32\cmd.exe /k "C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Deployment Tools\DandISetEnv.bat" :: 将安装文件复制到分发合盘文件夹 md D:\temp\dist xcopy /E F: D:\temp\dist :: 挂载boot.wim md d:\temp\mount\boot Dism /mount-image /imagefile:D:\temp\dist\sources\boot.wim /index:2 /mountdir:d:\temp\mount\boot :: 此处建议使用ADK PE中的文件 :: 将语言添加到boot.wim(index:2) Dism /image:d:\temp\mount\boot /add-package /packagepath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\zh-cn\lp.cab" Dism /image:d:\temp\mount\boot /add-package /packagepath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\zh-cn\WinPE-Setup_zh-cn.cab" Dism /image:d:\temp\mount\boot /add-package /packagepath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\zh-cn\WinPE-Setup-Client_zh-cn.cab" :: 添加语言字体支持 Dism /image:d:\temp\mount\boot /add-package /packagepath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-FontSupport-ZH-CN.cab" :: 将setup.exe语言资源添加到分发合盘 xcopy G:\sources\zh-CN D:\temp\dist\sources\zh-CN /cherkyi :: 挂载install.wim md d:\temp\mount\windows\1 md d:\temp\mount\windows\2 md d:\temp\mount\windows\3 Dism /Mount-Image /ImageFile:D:\temp\dist\sources\install.wim /Index:1 /MountDir:"d:\temp\mount\windows\1" Dism /Mount-Image /ImageFile:D:\temp\dist\sources\install.wim /Index:2 /MountDir:"d:\temp\mount\windows\2" Dism /Mount-Image /ImageFile:D:\temp\dist\sources\install.wim /Index:3 /MountDir:"d:\temp\mount\windows\3" :: 将语言包添加到install.wim Dism /Image:"d:\temp\mount\windows\1" /Add-Package /PackagePath="H:\LanguagesAndOptionalFeatures\Microsoft-Windows-Client-Language-Pack_x64_zh-cn.cab" Dism /Image:"d:\temp\mount\windows\2" /Add-Package /PackagePath="H:\LanguagesAndOptionalFeatures\Microsoft-Windows-Client-Language-Pack_x64_zh-cn.cab" Dism /Image:"d:\temp\mount\windows\3" /Add-Package /PackagePath="H:\LanguagesAndOptionalFeatures\Microsoft-Windows-Client-Language-Pack_x64_zh-cn.cab" :: 检查语言包安装情况 Dism /Image:"d:\temp\mount\windows\1" /Get-Packages /format:table | findstr /i "zh-cn" :: Microsoft-Windows-Client-LanguagePack-Package~31bf3856ad364e35~amd64~zh-CN~10.0.26100.1 | 已安装 | Language Pack | 2024/8/17 21:41 :: Microsoft-Windows-InternetExplorer-Optional-Package~31bf3856ad364e35~amd64~zh-CN~11.0.26100.1 | 已安装 | OnDemand Pack | 2024/8/17 21:41 :: Microsoft-Windows-Licenses-EnterpriseS-Package~31bf3856ad364e35~amd64~zh-CN~10.0.26100.1 | 已安装 | Language Pack | 2024/8/17 21:41 :: Microsoft-Windows-MediaPlayer-Package~31bf3856ad364e35~amd64~zh-CN~10.0.26100.1 | 已安装 | OnDemand Pack | 2024/8/17 21:41 :: Microsoft-Windows-MediaPlayer-Package~31bf3856ad364e35~wow64~zh-CN~10.0.26100.1 | 已安装 | OnDemand Pack | 2024/8/17 21:41 :: Microsoft-Windows-MSPaint-FoD-Package~31bf3856ad364e35~amd64~zh-CN~10.0.26100.1 | 已安装 | OnDemand Pack | 2024/8/17 21:41 :: Microsoft-Windows-MSPaint-FoD-Package~31bf3856ad364e35~wow64~zh-CN~10.0.26100.1 | 已安装 | OnDemand Pack | 2024/8/17 21:41 :: Microsoft-Windows-Notepad-FoD-Package~31bf3856ad364e35~amd64~zh-CN~10.0.26100.1 | 已安装 | OnDemand Pack | 2024/8/17 21:41 :: Microsoft-Windows-Notepad-FoD-Package~31bf3856ad364e35~wow64~zh-CN~10.0.26100.1 | 已安装 | OnDemand Pack | 2024/8/17 21:41 :: Microsoft-Windows-PowerShell-ISE-FOD-Package~31bf3856ad364e35~amd64~zh-CN~10.0.26100.1 | 已安装 | OnDemand Pack | 2024/8/17 21:41 :: Microsoft-Windows-PowerShell-ISE-FOD-Package~31bf3856ad364e35~wow64~zh-CN~10.0.26100.1 | 已安装 | OnDemand Pack | 2024/8/17 21:41 :: Microsoft-Windows-Printing-PMCPPC-FoD-Package~31bf3856ad364e35~amd64~zh-CN~10.0.26100.1 | 已安装 | OnDemand Pack | 2024/8/17 21:41 :: Microsoft-Windows-SenseClient-FoD-Package~31bf3856ad364e35~amd64~zh-CN~10.0.26100.1 | 已安装 | OnDemand Pack | 2024/8/17 21:41 :: Microsoft-Windows-SnippingTool-FoD-Package~31bf3856ad364e35~amd64~zh-CN~10.0.26100.1 | 已安装 | OnDemand Pack | 2024/8/17 21:41 :: Microsoft-Windows-StepsRecorder-Package~31bf3856ad364e35~amd64~zh-CN~10.0.26100.1 | 已安装 | OnDemand Pack | 2024/8/17 21:41 :: Microsoft-Windows-StepsRecorder-Package~31bf3856ad364e35~wow64~zh-CN~10.0.26100.1 | 已安装 | OnDemand Pack | 2024/8/17 21:41 :: Microsoft-Windows-VBSCRIPT-FoD-Package~31bf3856ad364e35~amd64~zh-CN~10.0.26100.1 | 已安装 | OnDemand Pack | 2024/8/17 21:41 :: Microsoft-Windows-VBSCRIPT-FoD-Package~31bf3856ad364e35~wow64~zh-CN~10.0.26100.1 | 已安装 | OnDemand Pack | 2024/8/17 21:41 :: Microsoft-Windows-WMIC-FoD-Package~31bf3856ad364e35~amd64~zh-CN~10.0.26100.1 | 已安装 | OnDemand Pack | 2024/8/17 21:41 :: Microsoft-Windows-WMIC-FoD-Package~31bf3856ad364e35~wow64~zh-CN~10.0.26100.1 | 已安装 | OnDemand Pack | 2024/8/17 21:41 :: 跳过集成 LIP (zh-CN无) :: 查看未安装的语言FoD功能 Dism /English /Image:"d:\temp\mount\windows\1" /Get-Capabilities /format:table | findstr /i "Not Present" | findstr /i "zh-cn" :: Language.Basic~~~zh-CN~0.0.1.0 | Not Present :: Language.Handwriting~~~zh-CN~0.0.1.0 | Not Present :: Language.OCR~~~zh-CN~0.0.1.0 | Not Present :: Language.Speech~~~zh-CN~0.0.1.0 | Not Present :: Language.TextToSpeech~~~zh-CN~0.0.1.0 | Not Present :: 查看未安装的语言FoD功能-字体(感谢@vibbow提醒) Dism /English /Image:"d:\temp\mount\windows\1" /Get-Capabilities /format:table | findstr /i "Not Present" | findstr /i "Fonts" :: Language.Fonts.Arab~~~und-ARAB~0.0.1.0 | Not Present :: Language.Fonts.Beng~~~und-BENG~0.0.1.0 | Not Present :: Language.Fonts.Cans~~~und-CANS~0.0.1.0 | Not Present :: Language.Fonts.Cher~~~und-CHER~0.0.1.0 | Not Present :: Language.Fonts.Deva~~~und-DEVA~0.0.1.0 | Not Present :: Language.Fonts.Ethi~~~und-ETHI~0.0.1.0 | Not Present :: Language.Fonts.Gujr~~~und-GUJR~0.0.1.0 | Not Present :: Language.Fonts.Guru~~~und-GURU~0.0.1.0 | Not Present :: Language.Fonts.Hans~~~und-HANS~0.0.1.0 | Not Present <- 注意这个 :: Language.Fonts.Hant~~~und-HANT~0.0.1.0 | Not Present :: Language.Fonts.Hebr~~~und-HEBR~0.0.1.0 | Not Present :: Language.Fonts.Jpan~~~und-JPAN~0.0.1.0 | Not Present :: Language.Fonts.Khmr~~~und-KHMR~0.0.1.0 | Not Present :: Language.Fonts.Knda~~~und-KNDA~0.0.1.0 | Not Present :: Language.Fonts.Kore~~~und-KORE~0.0.1.0 | Not Present :: Language.Fonts.Laoo~~~und-LAOO~0.0.1.0 | Not Present :: Language.Fonts.Mlym~~~und-MLYM~0.0.1.0 | Not Present :: Language.Fonts.Orya~~~und-ORYA~0.0.1.0 | Not Present :: Language.Fonts.PanEuropeanSupplementalFonts~~~~0.0.1.0 | Not Present :: Language.Fonts.Sinh~~~und-SINH~0.0.1.0 | Not Present :: Language.Fonts.Syrc~~~und-SYRC~0.0.1.0 | Not Present :: Language.Fonts.Taml~~~und-TAML~0.0.1.0 | Not Present :: Language.Fonts.Telu~~~und-TELU~0.0.1.0 | Not Present :: Language.Fonts.Thai~~~und-THAI~0.0.1.0 | Not Present :: 安装未安装的语言FoD功能 :: 基本内容、手写识别、OCR、语音识别、文本转语音、字体 Dism /Image:"d:\temp\mount\windows\1" /Add-Capability /capabilityname:Language.Basic~~~zh-cn~0.0.1.0 /capabilityname:Language.Handwriting~~~zh-cn~0.0.1.0 /capabilityname:Language.OCR~~~zh-cn~0.0.1.0 /capabilityname:Language.Speech~~~zh-cn~0.0.1.0 /capabilityname:Language.TextToSpeech~~~zh-cn~0.0.1.0 /capabilityname:Language.Fonts.Hans~~~und-HANS~0.0.1.0 /source:H:\LanguagesAndOptionalFeatures Dism /Image:"d:\temp\mount\windows\2" /Add-Capability /capabilityname:Language.Basic~~~zh-cn~0.0.1.0 /capabilityname:Language.Handwriting~~~zh-cn~0.0.1.0 /capabilityname:Language.OCR~~~zh-cn~0.0.1.0 /capabilityname:Language.Speech~~~zh-cn~0.0.1.0 /capabilityname:Language.TextToSpeech~~~zh-cn~0.0.1.0 /capabilityname:Language.Fonts.Hans~~~und-HANS~0.0.1.0 /source:H:\LanguagesAndOptionalFeatures Dism /Image:"d:\temp\mount\windows\3" /Add-Capability /capabilityname:Language.Basic~~~zh-cn~0.0.1.0 /capabilityname:Language.Handwriting~~~zh-cn~0.0.1.0 /capabilityname:Language.OCR~~~zh-cn~0.0.1.0 /capabilityname:Language.Speech~~~zh-cn~0.0.1.0 /capabilityname:Language.TextToSpeech~~~zh-cn~0.0.1.0 /capabilityname:Language.Fonts.Hans~~~und-HANS~0.0.1.0 /source:H:\LanguagesAndOptionalFeatures :: 现在,删除多余的语言和按需功能 :: 此处为en-US :: 获取映像中安装的包和功能列表 Dism /English /Image:"d:\temp\mount\windows\1" /Get-Packages /format:table | findstr /i "en-US" Dism /English /Image:"d:\temp\mount\windows\1" /Get-Capabilities /format:table | findstr /i "en-US" :: 可直接通过以下命令清洗数据 for /f %a in ('Dism /English /Image:"d:\temp\mount\windows\1" /Get-Packages /format:table ^| findstr /i "en-US"') do @echo %a :: Microsoft-Windows-Client-LanguagePack-Package~31bf3856ad364e35~amd64~en-US~10.0.26100.1 :: Microsoft-Windows-InternetExplorer-Optional-Package~31bf3856ad364e35~amd64~en-US~11.0.26100.1 :: Microsoft-Windows-LanguageFeatures-Basic-en-us-Package~31bf3856ad364e35~amd64~~10.0.26100.1 :: Microsoft-Windows-LanguageFeatures-Handwriting-en-us-Package~31bf3856ad364e35~amd64~~10.0.26100.1 :: Microsoft-Windows-LanguageFeatures-OCR-en-us-Package~31bf3856ad364e35~amd64~~10.0.26100.1 :: Microsoft-Windows-LanguageFeatures-Speech-en-us-Package~31bf3856ad364e35~amd64~~10.0.26100.1 :: Microsoft-Windows-LanguageFeatures-TextToSpeech-en-us-Package~31bf3856ad364e35~amd64~~10.0.26100.1 :: Microsoft-Windows-Licenses-EnterpriseS-Package~31bf3856ad364e35~amd64~en-US~10.0.26100.1 :: Microsoft-Windows-MediaPlayer-Package~31bf3856ad364e35~amd64~en-US~10.0.26100.1 :: Microsoft-Windows-MediaPlayer-Package~31bf3856ad364e35~wow64~en-US~10.0.26100.1 :: Microsoft-Windows-MSPaint-FoD-Package~31bf3856ad364e35~amd64~en-US~10.0.26100.1 :: Microsoft-Windows-MSPaint-FoD-Package~31bf3856ad364e35~wow64~en-US~10.0.26100.1 :: Microsoft-Windows-Notepad-FoD-Package~31bf3856ad364e35~amd64~en-US~10.0.26100.1 :: Microsoft-Windows-Notepad-FoD-Package~31bf3856ad364e35~wow64~en-US~10.0.26100.1 :: Microsoft-Windows-PowerShell-ISE-FOD-Package~31bf3856ad364e35~amd64~en-US~10.0.26100.1 :: Microsoft-Windows-PowerShell-ISE-FOD-Package~31bf3856ad364e35~wow64~en-US~10.0.26100.1 :: Microsoft-Windows-Printing-PMCPPC-FoD-Package~31bf3856ad364e35~amd64~en-US~10.0.26100.1 :: Microsoft-Windows-SenseClient-FoD-Package~31bf3856ad364e35~amd64~en-US~10.0.26100.1 :: Microsoft-Windows-SnippingTool-FoD-Package~31bf3856ad364e35~amd64~en-US~10.0.26100.1 :: Microsoft-Windows-StepsRecorder-Package~31bf3856ad364e35~amd64~en-US~10.0.26100.1 :: Microsoft-Windows-StepsRecorder-Package~31bf3856ad364e35~wow64~en-US~10.0.26100.1 :: Microsoft-Windows-VBSCRIPT-FoD-Package~31bf3856ad364e35~amd64~en-US~10.0.26100.1 :: Microsoft-Windows-VBSCRIPT-FoD-Package~31bf3856ad364e35~wow64~en-US~10.0.26100.1 :: Microsoft-Windows-WMIC-FoD-Package~31bf3856ad364e35~amd64~en-US~10.0.26100.1 :: Microsoft-Windows-WMIC-FoD-Package~31bf3856ad364e35~wow64~en-US~10.0.26100.1 :: 直接一个一个全部删除没必要,我们需要先给语言包的主包删除掉 Dism /Image:"d:\temp\mount\windows\1" /Remove-Package /PackageName:Microsoft-Windows-Client-LanguagePack-Package~31bf3856ad364e35~amd64~en-US~10.0.26100.1 Dism /Image:"d:\temp\mount\windows\2" /Remove-Package /PackageName:Microsoft-Windows-Client-LanguagePack-Package~31bf3856ad364e35~amd64~en-US~10.0.26100.1 Dism /Image:"d:\temp\mount\windows\3" /Remove-Package /PackageName:Microsoft-Windows-Client-LanguagePack-Package~31bf3856ad364e35~amd64~en-US~10.0.26100.1 :: 重新执行获取的命令能得到删除后的列表 :: 读取可删除的语言FoD包(此处筛选掉Basic包,因为英文的删不掉) for /f %a in ('Dism /English /Image:"d:\temp\mount\windows\1" /Get-Packages /format:table ^| findstr /i "en-US" ^| findstr /i /v "LanguageFeatures-Basic"') do @echo %a : Microsoft-Windows-LanguageFeatures-Handwriting-en-us-Package~31bf3856ad364e35~amd64~~10.0.26100.1 : Microsoft-Windows-LanguageFeatures-OCR-en-us-Package~31bf3856ad364e35~amd64~~10.0.26100.1 : Microsoft-Windows-LanguageFeatures-Speech-en-us-Package~31bf3856ad364e35~amd64~~10.0.26100.1 : Microsoft-Windows-LanguageFeatures-TextToSpeech-en-us-Package~31bf3856ad364e35~amd64~~10.0.26100.1 : 可见语言包删除主包会联动删除很多依赖组件 :: 根据上面返回的结果,拼凑成命令删除,也可一键删除(见后文) Dism /Image:"d:\temp\mount\windows\1" /Remove-Package /PackageName:Microsoft-Windows-LanguageFeatures-Handwriting-en-us-Package~31bf3856ad364e35~amd64~~10.0.26100.1 /PackageName:Microsoft-Windows-LanguageFeatures-OCR-en-us-Package~31bf3856ad364e35~amd64~~10.0.26100.1 /PackageName:Microsoft-Windows-LanguageFeatures-Speech-en-us-Package~31bf3856ad364e35~amd64~~10.0.26100.1 /PackageName:Microsoft-Windows-LanguageFeatures-TextToSpeech-en-us-Package~31bf3856ad364e35~amd64~~10.0.26100.1 Dism /Image:"d:\temp\mount\windows\2" /Remove-Package /PackageName:Microsoft-Windows-LanguageFeatures-Handwriting-en-us-Package~31bf3856ad364e35~amd64~~10.0.26100.1 /PackageName:Microsoft-Windows-LanguageFeatures-OCR-en-us-Package~31bf3856ad364e35~amd64~~10.0.26100.1 /PackageName:Microsoft-Windows-LanguageFeatures-Speech-en-us-Package~31bf3856ad364e35~amd64~~10.0.26100.1 /PackageName:Microsoft-Windows-LanguageFeatures-TextToSpeech-en-us-Package~31bf3856ad364e35~amd64~~10.0.26100.1 Dism /Image:"d:\temp\mount\windows\3" /Remove-Package /PackageName:Microsoft-Windows-LanguageFeatures-Handwriting-en-us-Package~31bf3856ad364e35~amd64~~10.0.26100.1 /PackageName:Microsoft-Windows-LanguageFeatures-OCR-en-us-Package~31bf3856ad364e35~amd64~~10.0.26100.1 /PackageName:Microsoft-Windows-LanguageFeatures-Speech-en-us-Package~31bf3856ad364e35~amd64~~10.0.26100.1 /PackageName:Microsoft-Windows-LanguageFeatures-TextToSpeech-en-us-Package~31bf3856ad364e35~amd64~~10.0.26100.1 :: 读取可删除的语言FoD包并一键删除 for /f %a in ('Dism /English /Image:"d:\temp\mount\windows\1" /Get-Packages /format:table ^| findstr /i "en-US" ^| findstr /i /v "LanguageFeatures-Basic"') do Dism /Image:"d:\temp\mount\windows\1" /Remove-Package /PackageName:%a for /f %a in ('Dism /English /Image:"d:\temp\mount\windows\2" /Get-Packages /format:table ^| findstr /i "en-US" ^| findstr /i /v "LanguageFeatures-Basic"') do Dism /Image:"d:\temp\mount\windows\2" /Remove-Package /PackageName:%a for /f %a in ('Dism /English /Image:"d:\temp\mount\windows\3" /Get-Packages /format:table ^| findstr /i "en-US" ^| findstr /i /v "LanguageFeatures-Basic"') do Dism /Image:"d:\temp\mount\windows\3" /Remove-Package /PackageName:%a :: 重新获取映像中安装的包和功能列表 Dism /English /Image:"d:\temp\mount\windows\1" /Get-Packages /format:table | findstr /i "en-US" : Microsoft-Windows-LanguageFeatures-Basic-en-us-Package~31bf3856ad364e35~amd64~~10.0.26100.1 | Installed | OnDemand Pack | 2024/4/1 8:10 Dism /English /Image:"d:\temp\mount\windows\1" /Get-Capabilities /format:table | findstr /i "en-US" : Language.Basic~~~en-US~0.0.1.0 | Installed : Language.Handwriting~~~en-US~0.0.1.0 | Not Present : Language.OCR~~~en-US~0.0.1.0 | Not Present : Language.Speech~~~en-US~0.0.1.0 | Not Present : Language.TextToSpeech~~~en-US~0.0.1.0 | Not Present :: 更改默认语言、区域设置和其他国际设置 Dism /Image:"d:\temp\mount\windows\1" /Set-AllIntl:zh-cn Dism /Image:"d:\temp\mount\windows\2" /Set-AllIntl:zh-cn Dism /Image:"d:\temp\mount\windows\3" /Set-AllIntl:zh-cn : 部署映像服务和管理工具 : 版本: 10.0.26100.1 : : 映像版本: 10.0.26100.1 : : : 输入区域设置已设为: zh-cn : 系统区域设置已设为: zh-cn : 用户区域设置已设为: zh-cn : 用户界面语言已设为: zh-cn : 操作成功完成。 :: 查看当前的语言设置 Dism /Image:"d:\temp\mount\windows\1" /Get-Intl : 部署映像服务和管理工具 : 版本: 10.0.26100.1 : : 映像版本: 10.0.26100.1 : : 正在报告脱机国际设置。 : : 默认的系统用户界面语言 : zh-CN : 用户界面语言回退是 : en-US : 系统区域设置 : zh-CN : 默认时区 : Pacific Standard Time : 默认用户的用户区域设置 : zh-CN : 位置 : 中国 (GEOID = 45) : 活动键盘 : 0804:{81D4E9C9-1D3B-41BC-9E6C-4B40BF79E35E}{FA550B04-5AD7-411F-A5AC-CA038EC515D7}, 0804:{6A498709-E00B-4C45-A018-8F9E4081AE40}{82590C13-F4DD-44F4-BA1D-8667246FDF8E} : 键盘分层驱动程序 : 未安装。 : : 安装的语言: zh-CN : 类型: 部分本地化的语言,MUI 类型。 : 回退语言 en-US : : 操作成功完成。 :: 挂载winre.wim md d:\temp\mount\winre\1 md d:\temp\mount\winre\2 md d:\temp\mount\winre\3 Dism /Mount-Image /ImageFile:"d:\temp\mount\windows\1\Windows\System32\Recovery\winre.wim" /index:1 /MountDir:"d:\temp\mount\winre\1" Dism /Mount-Image /ImageFile:"d:\temp\mount\windows\2\Windows\System32\Recovery\winre.wim" /index:1 /MountDir:"d:\temp\mount\winre\2" Dism /Mount-Image /ImageFile:"d:\temp\mount\windows\3\Windows\System32\Recovery\winre.wim" /index:1 /MountDir:"d:\temp\mount\winre\3" :: 此处建议使用LoF/FoD ISO中的文件 :: 将语言添加到winre.wim Dism /Image:"d:\temp\mount\winre\1" /Add-Package /PackagePath:"H:\Windows Preinstallation Environment\x64\WinPE_OCs\zh-cn\lp.cab" Dism /Image:"d:\temp\mount\winre\1" /Add-Package /PackagePath:"H:\Windows Preinstallation Environment\x64\WinPE_OCs\zh-cn\WinPE-Rejuv_zh-cn.cab" Dism /Image:"d:\temp\mount\winre\1" /Add-Package /PackagePath:"H:\Windows Preinstallation Environment\x64\WinPE_OCs\zh-cn\WinPE-EnhancedStorage_zh-cn.cab" Dism /Image:"d:\temp\mount\winre\1" /Add-Package /PackagePath:"H:\Windows Preinstallation Environment\x64\WinPE_OCs\zh-cn\WinPE-Scripting_zh-cn.cab" Dism /Image:"d:\temp\mount\winre\1" /Add-Package /PackagePath:"H:\Windows Preinstallation Environment\x64\WinPE_OCs\zh-cn\WinPE-SecureStartup_zh-cn.cab" Dism /Image:"d:\temp\mount\winre\1" /Add-Package /PackagePath:"H:\Windows Preinstallation Environment\x64\WinPE_OCs\zh-cn\WinPE-SRT_zh-cn.cab" Dism /Image:"d:\temp\mount\winre\1" /Add-Package /PackagePath:"H:\Windows Preinstallation Environment\x64\WinPE_OCs\zh-cn\WinPE-WDS-Tools_zh-cn.cab" Dism /Image:"d:\temp\mount\winre\1" /Add-Package /PackagePath:"H:\Windows Preinstallation Environment\x64\WinPE_OCs\zh-cn\WinPE-WMI_zh-cn.cab" Dism /Image:"d:\temp\mount\winre\1" /Add-Package /PackagePath:"H:\Windows Preinstallation Environment\x64\WinPE_OCs\zh-cn\WinPE-StorageWMI_zh-cn.cab" Dism /Image:"d:\temp\mount\winre\1" /Add-Package /PackagePath:"H:\Windows Preinstallation Environment\x64\WinPE_OCs\zh-cn\WinPE-HTA_zh-cn.cab" Dism /Image:"d:\temp\mount\winre\2" /Add-Package /PackagePath:"H:\Windows Preinstallation Environment\x64\WinPE_OCs\zh-cn\lp.cab" Dism /Image:"d:\temp\mount\winre\2" /Add-Package /PackagePath:"H:\Windows Preinstallation Environment\x64\WinPE_OCs\zh-cn\WinPE-Rejuv_zh-cn.cab" Dism /Image:"d:\temp\mount\winre\2" /Add-Package /PackagePath:"H:\Windows Preinstallation Environment\x64\WinPE_OCs\zh-cn\WinPE-EnhancedStorage_zh-cn.cab" Dism /Image:"d:\temp\mount\winre\2" /Add-Package /PackagePath:"H:\Windows Preinstallation Environment\x64\WinPE_OCs\zh-cn\WinPE-Scripting_zh-cn.cab" Dism /Image:"d:\temp\mount\winre\2" /Add-Package /PackagePath:"H:\Windows Preinstallation Environment\x64\WinPE_OCs\zh-cn\WinPE-SecureStartup_zh-cn.cab" Dism /Image:"d:\temp\mount\winre\2" /Add-Package /PackagePath:"H:\Windows Preinstallation Environment\x64\WinPE_OCs\zh-cn\WinPE-SRT_zh-cn.cab" Dism /Image:"d:\temp\mount\winre\2" /Add-Package /PackagePath:"H:\Windows Preinstallation Environment\x64\WinPE_OCs\zh-cn\WinPE-WDS-Tools_zh-cn.cab" Dism /Image:"d:\temp\mount\winre\2" /Add-Package /PackagePath:"H:\Windows Preinstallation Environment\x64\WinPE_OCs\zh-cn\WinPE-WMI_zh-cn.cab" Dism /Image:"d:\temp\mount\winre\2" /Add-Package /PackagePath:"H:\Windows Preinstallation Environment\x64\WinPE_OCs\zh-cn\WinPE-StorageWMI_zh-cn.cab" Dism /Image:"d:\temp\mount\winre\2" /Add-Package /PackagePath:"H:\Windows Preinstallation Environment\x64\WinPE_OCs\zh-cn\WinPE-HTA_zh-cn.cab" Dism /Image:"d:\temp\mount\winre\3" /Add-Package /PackagePath:"H:\Windows Preinstallation Environment\x64\WinPE_OCs\zh-cn\lp.cab" Dism /Image:"d:\temp\mount\winre\3" /Add-Package /PackagePath:"H:\Windows Preinstallation Environment\x64\WinPE_OCs\zh-cn\WinPE-Rejuv_zh-cn.cab" Dism /Image:"d:\temp\mount\winre\3" /Add-Package /PackagePath:"H:\Windows Preinstallation Environment\x64\WinPE_OCs\zh-cn\WinPE-EnhancedStorage_zh-cn.cab" Dism /Image:"d:\temp\mount\winre\3" /Add-Package /PackagePath:"H:\Windows Preinstallation Environment\x64\WinPE_OCs\zh-cn\WinPE-Scripting_zh-cn.cab" Dism /Image:"d:\temp\mount\winre\3" /Add-Package /PackagePath:"H:\Windows Preinstallation Environment\x64\WinPE_OCs\zh-cn\WinPE-SecureStartup_zh-cn.cab" Dism /Image:"d:\temp\mount\winre\3" /Add-Package /PackagePath:"H:\Windows Preinstallation Environment\x64\WinPE_OCs\zh-cn\WinPE-SRT_zh-cn.cab" Dism /Image:"d:\temp\mount\winre\3" /Add-Package /PackagePath:"H:\Windows Preinstallation Environment\x64\WinPE_OCs\zh-cn\WinPE-WDS-Tools_zh-cn.cab" Dism /Image:"d:\temp\mount\winre\3" /Add-Package /PackagePath:"H:\Windows Preinstallation Environment\x64\WinPE_OCs\zh-cn\WinPE-WMI_zh-cn.cab" Dism /Image:"d:\temp\mount\winre\3" /Add-Package /PackagePath:"H:\Windows Preinstallation Environment\x64\WinPE_OCs\zh-cn\WinPE-StorageWMI_zh-cn.cab" Dism /Image:"d:\temp\mount\winre\3" /Add-Package /PackagePath:"H:\Windows Preinstallation Environment\x64\WinPE_OCs\zh-cn\WinPE-HTA_zh-cn.cab" :: 获取已安装的语言包 Dism /Image:"d:\temp\mount\winre\1" /Get-Packages /format:table | findstr /i "zh-cn" : Microsoft-Windows-WinPE-LanguagePack-Package~31bf3856ad364e35~amd64~zh-CN~10.0.26100.1 | Installed | Language Pack | 2024/8/17 22:00 : WinPE-EnhancedStorage-Package~31bf3856ad364e35~amd64~zh-CN~10.0.26100.1 | Installed | Language Pack | 2024/8/17 22:00 : WinPE-HTA-Package~31bf3856ad364e35~amd64~zh-CN~10.0.26100.1 | Installed | Language Pack | 2024/8/17 22:00 : WinPE-Rejuv-Package~31bf3856ad364e35~amd64~zh-CN~10.0.26100.1 | Installed | Language Pack | 2024/8/17 22:00 : WinPE-Scripting-Package~31bf3856ad364e35~amd64~zh-CN~10.0.26100.1 | Installed | Language Pack | 2024/8/17 22:00 : WinPE-SecureStartup-Package~31bf3856ad364e35~amd64~zh-CN~10.0.26100.1 | Installed | Language Pack | 2024/8/17 22:00 : WinPE-SRT-Package~31bf3856ad364e35~amd64~zh-CN~10.0.26100.1 | Installed | Language Pack | 2024/8/17 22:00 : WinPE-StorageWMI-Package~31bf3856ad364e35~amd64~zh-CN~10.0.26100.1 | Installed | Language Pack | 2024/8/17 22:00 : WinPE-WDS-Tools-Package~31bf3856ad364e35~amd64~zh-CN~10.0.26100.1 | Installed | Language Pack | 2024/8/17 22:00 : WinPE-WMI-Package~31bf3856ad364e35~amd64~zh-CN~10.0.26100.1 | Installed | Language Pack | 2024/8/17 22:00 :: 卸载并提交winre.wim :: 由于后期需要使用该镜像集成更新,暂不优化wim体积 Dism /Unmount-Image /MountDir:"d:\temp\mount\winre\1" /Commit Dism /Unmount-Image /MountDir:"d:\temp\mount\winre\2" /Commit Dism /Unmount-Image /MountDir:"d:\temp\mount\winre\3" /Commit :: 不着急卸载install.wim和boot.wim :: 从挂载的install.wim重新生成lang.ini Dism /image:d:\temp\mount\windows\1 /gen-langINI /distribution:D:\temp\dist :: 更改setup.exe默认语言 Dism /image:D:\temp\mount\boot /Set-SetupUILang:zh-CN /distribution:D:\temp\dist :: 复制分发合盘中的lang.ini到boot.wim xcopy /y D:\temp\dist\sources\lang.ini D:\temp\mount\boot\sources\lang.ini :: 卸载并提交boot.wim、install.wim Dism /Unmount-Image /MountDir:"D:\temp\mount\boot" /Commit Dism /Unmount-Image /MountDir:"D:\temp\mount\windows\1" /Commit Dism /Unmount-Image /MountDir:"D:\temp\mount\windows\2" /Commit Dism /Unmount-Image /MountDir:"D:\temp\mount\windows\3" /Commit :: 恭喜你,到此语言包已集成成功! :: 创建USB启动盘 :: MakeWinPEMedia /UFD D:\temp\dist U: :: 创建ISO启动顺序 D:\temp\BootOrder.txt boot\bcd boot\boot.sdi boot\bootfix.bin boot\bootsect.exe boot\etfsboot.com boot\memtest.efi boot\memtest.exe boot\en-us\bootsect.exe.mui boot\fonts\chs_boot.ttf boot\fonts\cht_boot.ttf boot\fonts\jpn_boot.ttf boot\fonts\kor_boot.ttf boot\fonts\wgl4_boot.ttf sources\boot.wim :: 创建ISO文件 Oscdimg -bootdata:2#p0,e,b"D:\temp\dist\boot\etfsboot.com"#pEF,e,b"D:\temp\dist\efi\Microsoft\boot\efisys.bin" -o -m -u2 -udfver102 -l"CES_X64FREO_ZH-CN_DV9" D:\temp\dist D:\temp\26100.1.240331-1435.ge_release_CLIENT_ENTERPRISES_OEM_x64FRE_zh-cn.iso |
参考文档
https://learn.microsoft.com/zh-cn/windows-hardware/manufacture/desktop/add-language-packs-to-windows
https://learn.microsoft.com/zh-cn/windows/deployment/update/media-dynamic-update
免责声明
本 Windows 系统及软件版权属各自产权人所有,只用于个人封装技术研究交流使用,不得用于商业用途,且本系统制作者不承担任何技术及版权问题,请在试用后 24 小时内删除。如果您对本系统有任何意见和建议,欢迎反馈,请购买正版 Windows 操作系统软件!