概述
- 这是一个自动化的 Windows 命令脚本,可处理来自 Microsoft Windows 10 统一更新平台的文件,并允许将它们组合或转换为可用的状态(包括 ISO 和 WIM 文件)。
- 你可以通过执行从 Windows 10 内部版本升级到以后的内部版本(从 15063,又名版本 1703 开始)的方式来获取 UUP 文件。
- 你也可以使用以下这些项目之一来获取 UUP 规范源文件:
UUP dump 网站
UUP 通用项目
使用方式
- 此脚本需要以管理员权限运行。
- 可选:临时禁用防病毒软件或其他的某些安全保护程序,因为它在运行的过程中是不能被其他的程序干扰的。
- 确保文件的属性不是只读或者是受限。
- 将此包解压到一个简单路径的文件夹,避免产生各种不必要的麻烦 (例如:C:\UUP)。
- 将文件放在“UUPs”文件夹,使文件可以被脚本自动检测到,或将文件目录拖放到 convert-UUP.cmd 上。或者,你将会被提示输入其他的 UUP 文件夹路径。
- 如果检测到有多个版本,则将会提示你首先选择其中一个版本,或者创建多合一版本。
- 若要退出提示或选项菜单,只需按“Enter”键即可退出。
输出选择
-
1 - 创建含有 install.wim 文件的 ISO 镜像
4 - 创建含有 install.esd 文件的 ISO 镜像
此组选项将 UUP 文件转换为一个包含 install.wim 或 install.esd 文件的常规 ISO 分发文件。 -
2 - 创建 install.wim 文件
5 - 创建 install.esd 文件
此组选项将仅创建一个单独的 install.wim/install.esd 文件,它可以用于其他相同产品版本的 ISO 文件,或者使用 dism、imagex、wimlib 等手动应用。 -
3 - 查看 UUP 文件版本信息
显示有关被检测版本的信息(包括体系结构、语言、内部版本号、内部编译分支、版本名称)。 -
6 - 配置选项
更改配置选项的状态。
配置选项
控制转换的行为、输出和自动运行。你有三种方法可以更改这些选项的状态,其中 0 的意思是此选项状态为 OFF(否),1 的意思是此选项状态为 ON(是):
- 编辑文件 ConvertConfig.ini 的 [convert-UUP] 部分
- 删除文件 ConvertConfig.ini 并直接编辑 convert-UUP.cmd 脚本
- 使用菜单选项 6(AutoStart 选项不包括在内)
-
AutoStart
在没有提示的情况下直接启动转换过程。
这需要将 UUP 文件放在 *UUPs* 文件夹中,或者从命令提示符启动脚本 convert-UUP.cmd,并指向 UUP 源文件夹的路径。
若要使用 install.wim 创建 ISO 文件,将此选项设置为 1
若要使用 install.esd 创建 ISO 文件,将此选项设置为 2 -
AddUpdates
在转换后使用检测到的更新来更新 ISO 分发或 install.wim 映像。
将此选项设置为 1 以将更新集成到 wim 文件
将此选项设置为 2 以在外部添加更新到 ISO 分发文件
请参阅添加更新选项添加更新选项了解更多信息。 -
StartVirtual
在转换完成后直接启动脚本 create_virtual_editions.cmd。
请参阅虚拟版本了解更多详细信息。 -
wim2esd
在最后将 install.wim 转换为 install.esd。
此选项旨在与 AddUpdates 选项一起使用。
如果选择了 install.esd 选项并且 AddUpdates 状态为开,则会自动启用此选项。
警告:创建 install.esd 将会消耗大量的 CPU/RAM,并且可能需要相当长的时间才能完成。 -
SkipISO
如果你目前没有兴趣创建 ISO 文件,或者打算以后使用脚本 multi_arch_iso.cmd 创建多体系结构 ISO(x86/x64),或者打算手动使用脚本 create_virtual_editions.cmd 时,此项可用 -
SkipWinRE
如果你对恢复环境并不感兴趣或想要减小 ISO 的体积/转换周期……等等,可以跳过将 winre.wim 添加到 install.wim/install.esd 的步骤。
注:将 winre.wim 添加到 install.esd 将会产生较高的 CPU/RAM 占用率。 -
ForceDism
使用官方方法使用 dism.exe 创建 boot.wim,这需要 Windows 10 主机操作系统或 Windows 10 ADK。 -
RefESD
保留转换后的关联 ESD 文件用于将来操作,而非每次操作都要转换它们。
如果 UUP 的来源为 Express(快速),则关联 ESD 和版本 ESD 将被复制到新文件夹 “CanonicalUUP”。实际上,如果 UUP 源为 Canonical,则此转换/备份 Express UUP 来源为 Canonical。
如果 UUP 的来源是 Canonical,则关联 ESD 将会被复制到相同的 UUP 源文件夹,原始 CAB 文件将被移动到子目录“Original”。 -
SkipEdge
将选项设置为 1 :不要将 Microsoft Edge Chromium 与功能更新启用包或累积更新集成在一起。
将选项设置为 2 :通过替代解决方法跳过 Microsoft Edge Chromium 或累积更新。
此选项仅与选项 AddUpdates=1(集成)一起使用。
添加更新选项
信息
- 从 Windows 10 版本 1709 开始,服务堆栈更新和最新的累积更新均使用 UUP 源处理并分发。除了在升级过程中使用的一些小动态更新。
- 根据此形式,UUP 转储将为同一个 Windows 10 版本提供二合一版本。每个版本都将代表已刷新的功能更新或新的累积更新。
- 但是,这些更新仅由 Windows 更新使用和应用,它们本身并不是 UUP 源本身的实际部分,默认情况下也不会包含在转换后的 ISO/WIM 中。
- AddUpdates 选项提供了直接集成这些更新的内置功能,从而产生刷新的 ISO/WIM,或在外部添加它们。
- 集成更新模式仅适用于 install.wim(ISO 或单独文件),并且需要 Windows 10 主机操作系统或 Windows 10 ADK。
- 外部更新模式仅适用于 Build 17763 及以上版本,更新将在安装期间安装(全新安装或升级)。
- Cleanup 选项控制集成模式的映像清理,并将已取代的组件进行增量压缩。
- ResetBase 选项仅适用于清除选项,并将进一步移除已取代的组件。
- NetFx3 选项是在两种模式下启用 .NET 3.5 功能。
- 如果未安装 Windows 10 ADK,或者用户希望更快地转换 ISO,则外部更新模式将作为备用过程。如果可能,建议使用正常的集成模式。
- 如果 UUP 源是 Build 17063 或更高版本,并且选择了多个版本,如果可能,为了减少集成模式时间,Pro/ProN 版本将作为升级版本从已更新的 Home/HomeN 版本进行创建。
- 集成更新模式可能无法在 Windows 7 主机操作系统上正常运行,特别是对于最近的 Windows 10 版本。建议在这种情况下使用外部更新模式。
- 适用于 ARM64 UUP 映像的集成更新模式仅在 Windows 10 主机操作系统上工作。
执行方式
- 确保 UUP 源文件中包含更新(Windows10.0-KB*.cab 文件)
- 设置参数选项 AddUpdates 为 1 或 2
- 如果设置为 1 且未安装 Windows 10 ADK,则将其还原为 2(如果内部版本支持),或者将其关闭
注
-
警告:在 Build 18362 及更高版本上,清理选项也将移除基本 RTM 版本软件包,原因是 Microsoft 对累积更新的设计进行了更改。
这可能会导致未来累积更新的安装失败。
尽管如此,系统本身可以在安装后通过计划任务 StartComponentCleanup 或 SilentCleanup 或通过磁盘清理启动清理过程。
警告:ResetBase 选项会破坏“重置此电脑”功能。 对于 Build 18362 及更高版本,将自动禁用完整的 ResetBase。
虚拟版本
信息
- 从 Windows 10 Build 17063 开始,Windows 10 的常规版本已经统一为两大基本版本:家庭版和专业版 (与它们对应的家庭版 N 和专业版 N)
家庭中文版仍然独立 - 根据此形式,UUP 将只会提供以上版本的安装文件
- 以下版本现在作为基本版本的“虚拟升级版本”存在:
家庭版 -> 家庭单语言版
专业版 N -> 企业版 N、教育版 N、专业教育版 N、专业工作站版 N
专业版 -> 企业版、教育版、专业教育版、专业工作站版、适用于虚拟桌面的企业版、IoT 企业版 (Build 18277 及以上) - 因此,额外的脚本将帮助从 UUP 源文件创建这些虚拟版本。
执行方式
- 受支持的源分发文件:
- 将文件夹(包括已解压的 ISO 文件)放在脚本旁边。(自动检测)
- DVD 驱动器,如已安装的 iso /插入式 DVD 驱动器/ USB 驱动器。(自动检测)
- 直接的 ISO 文件。(你将会被提示指定一个) - 可选:如果你不打算保留转换后的 ISO,请设置 convert-UUP 选项 SkipISO 为 1。
- 使用脚本 convert-UUP.cmd 创建已转换的 ISO 分发文件/文件夹。
- 运行脚本 create_virtual_editions.cmd 并从菜单中选择所需的选项。
选项
-
1 - 创建所有版本
此选项将会创建所有可能的目标虚拟版本。 -
2 - 创建单一版本
此选项将会创建单一目标虚拟版本。 -
3 - 创建随机选择的版本
此选项将会创建一些目标虚拟版本。
配置选项
控制处理的行为、输出和自动化运行。你拥有两种方法可以更改这些选项的状态,其中 0 的意思是此选项状态为 OFF(否),1 的意思是此选项状态为 ON(是):
- 编辑 ConvertConfig.ini 文件中的 [create_virtual_editions] 部分
- 删除 ConvertConfig.ini 并直接编辑 create_virtual_editions.cmd 脚本
- AutoStart
在没有提示的情况下直接启动创建过程。
这需要准备好源分发文件(文件夹或驱动器)。
仅创建在 AutoEditions 中指定的版本,如果未指定版本(空),则将会创建所有可能的目标版本。 - AutoEditions
指定要使用 AutoStart 选项自动创建的版本,使用逗号(,)分隔版本
此选项留空将创建所有可能的目标版本。
允许值:Enterprise、Education、ProfessionalEducation、ProfessionalWorkstation、EnterpriseN、EducationN、ProfessionalEducationN、ProfessionalWorkstationN、CoreSingleLanguage、ServerRdsh、IoTEnterprise
示例:
vAutoEditions=Enterprise
vAutoEditions=Enterprise,ProfessionalWorkstation,Education
vAutoEditions= - DeleteSource
不保留源基础版本(例如:创建企业版并删除专业版)。 - Preserve
若要保留并保持源分发文件夹不变,操作将在已复制后的文件夹上完成。
如果源分发是 .ISO 文件,此选项无效。 - wim2esd
在最后将 install.wim 转换为 install.esd。
警告:创建 install.esd 将会消耗大量的 CPU/RAM,并且可能会需要相当长的时间才能完成。 - SkipISO
在结束过程后不创建最终的 ISO 文件。
注:
如果从脚本 convert-UUP.cmd 启动脚本 create_virtual_editions.cmd,则将从 convert-UUP 部分继承参数 AutoStart 和 wim2esd,无论这些参数在 create_virtual_editions 部分当前状态是什么样的情况,
如果 convert-UUP 的参数 AutoStart=1,脚本将自动创建虚拟版本
如果 convert-UUP 的参数 wim2esd=1,则 install.wim 将转换为 install.esd,否则如果 convert-UUP 的 wim2esd=0,则将跳过转换
制作二合一体系结构 ISO 镜像文件 (x86/x64)
执行方式
- 可选:如果你不想保留单一架构的 ISO,请编辑 convert-UUP.cmd 并设置参数 set SkipISO=1
- 使用脚本 convert-UUP.cmd 分别创建两个 ISO 发行版,一个为 x64,另一个为 x86,你可以选择包含在每个发行版中的期望版本
- 运行脚本 multi_arch_iso.cmd 并从菜单中选择你所需要的选项
选项
-
1 - 创建含有 1 个组合 install.wim/install.esd 的 ISO 文件
此选项将创建一个自定义的 ISO 组织结构。
对于所有的 x64/x86 映像将使用 1 个 install.wim/install.esd,并且将修改 bootx64.wim/bootx86.wim 以允许共存。 -
2 - 创建含有 2 个独立 install.wim/install.esd 的 ISO 文件(Win 10)
创建与媒体创建工具相同的 ISO 结构。
每个体系结构都有 2 个单独的 x64/x86 文件夹和 install.wim/install.esd。
注
- 若要保留单一体系结构源分发文件夹,请编辑脚本 multi_arch_iso.cmd 并设置参数 set Preserve=1
- 如果安装用文件是 install.esd,请注意,执行选项 1 将需要大量的 CPU/RAM 来统一 install.esd 文件
- 脚本 multi_arch_iso.cmd 也可用于从任何类似于 Windows x64/x86 ISO 发行版创建多体系结构 ISO 文件,最低版本从 Windows 7 SP1 开始
但是,执行选项 2 需要 Windows 10 安装程序文件。
调试模式
旨在帮助检测脚本运行或转换过程中的错误并创建操作的完整日志。若要启用调试模式,请按照下列步骤操作:
- 在配置文件 ConvertConfig.ini 中设置所需的配置选项(特别是 AutoStart 选项)。
- 编辑脚本 convert-UUP.cmd 并将参数 set _Debug=0 更改为 set _Debug=1 并保存更改。
- 启动过程:将 UUP 文件放在 UUPs 文件夹中,然后以管理员身份运行此脚本。
- 另一种启动过程的方法:将 UUP 文件源目录拖放到脚本 convert-UUP.cmd 上
- 请等待进程完成并关闭 cmd 窗口。
注意:如果 StartVirtual 选项处于活动状态,则脚本 create_virtual_editions.cmd 将继承调试模式。
备注
- 如果是通过快速 UUP 升级的系统(其中的文件在下载目录中的多个文件夹中展开),你需要在开始升级过程之前(即首次重新启动之前)执行 UUP 转换 ISO 的操作。
若要这样做,当 Windows 更新提示你重新启动时,请启动脚本 convert-UUP.cmd 并将下载目录所在路径粘贴到脚本中,例如以下的目录:- C:\Windows\SoftwareDistribution\Download\07172dda91861218ecc095600216d792
或者,如果你是在虚拟机上进行测试或电脑上具有双引导系统,则可以选择关闭/重新启动系统而不进行升级。
在桌面上,请按 Alt + F4 并选择不带更新的选项
Credits
- whatever127 - UUP dump
- Eric Biggers - wimlib
- Igor Pavlov - 7-zip
- Melinda Bellemore - SxSExpand
- th1r5bvn23 - PSFExtractor
- erwan.l - 离线注册表
- cdob - 创建多合一 efisys.bin
- 特别感谢:@Enthousiast、@s1ave77、@Ratiborus58、@NecrosoftCore、@DiamondMonday、@WzorNET
- cabarc、cdimage、imagex 和 bcdedit 是 Microsoft Corporation 的知识产权。
- 本脚本的简体中文本地化工作由 正义羊 执行。
作者:abbodi1406