您现在的位置是:首页 >技术杂谈 >UUP, Windows 11 更新机制的未来网站首页技术杂谈

UUP, Windows 11 更新机制的未来

铁锹少年@神州网信 2023-06-14 08:00:03
简介UUP, Windows 11 更新机制的未来

UUP, Windows 11 更新机制的未来

统一更新平台(UUP,Unified Update Platform)是一套新的更新交付技术,也可以说是一个新的更新发布、托管、扫描和下载模型,用于所有基于Windows操作系统的质量更新和功能更新。
它在更新包的制作、打包、安装以及服务端和客户端的通信交互过程采用了一系列创新技术,旨在简化向用户交付Windows更新的过程。有了UUP,当Windows发布新版本时,用户不再需要下载和安装整个更新。相反,UUP使用差异更新仅提供更新用户系统所需的更改,从而实现更小、更快的下载。这种新方法不仅减少了更新所需的时间和带宽,而且还会促进用户去使用安装了最新功能更新和安全更新的Windows版本。本文将探讨UUP的优点和特性,以及它如何改变Windows更新的交付方式。

时间线

Windows 11 22H2及之后版本更新全部采用UUP的变化似乎有点儿大,但UUP不是一下子蹦出来的。

在这里插入图片描述

早在2016年11月份,微软就宣布将下一代更新交付技术(delivery technologies)整合到最新的Windows Insider版本中,这一技术叫做UUP1
在2016年12月发布Windows 10 Build 14986时,微软开始使用UUP发布新的Windows内部预览版本(Insider Preview)2
之后UUP沉寂了相当长的一段时间,公开资料中基本找不到UUP相关的更新内容。在对外保持旧有的更新机制的同时,微软一直在开发内测新的UUP更新。在uupdump.net这个第三方网站上很早就有UUP更新的内容。
2022年7月开始,微软逐渐开放UUP预览申请,申请成功后可以拿到 Win11-UUP preview的更新包。
2023年3月14日发布了最后一个适用于Windows 11 22H2及以后版本的非UUP更新。
在2023年3月28日对外公开发布第一个UUP更新包。

最终官宣UUP仅支持Windows 11而不支持Windows 10,猜想其背后更多的是商业策略。本文不考虑这一点,来看看UUP发布带来一系列新的特性和优势。

适用更新类型版本

Windows之前对更新类型有过一次大的分类调整,将更新主要分为两大类:feature update(功能更新)和quality update(质量更新)。功能更新就是大家之前所说的"版本升级",对应着Windows大版本的变化;质量更新包括安全和可靠性修复补丁。
Windows 10 20H1 及之后版本向 Windows 11 22H2及之后版本的功能更新将利用UUP方式推送。
从3月28日开始,Windows 11 22H2版本的设备将收到UUP质量更新,UUP质量更新变成了缺省和唯一的可获取的更新格式。

UUP 带来的功能改进

无论是微软官方,还是一些科技网站都将UUP带来的"惊人"好处总结为以下几点,这里从个人理解逐条解释一下它们是什么。

  1. 每月质量更新的下载大小比之前缩小了高达30%
    得益于新的压缩技术和打包方式调整,客户获得的更新内容中仅包含系统当前状态到系统要达到的最新状态的差异。这种压缩技术仍采用差分的思路,与之前的"双向差分"技术不同的是,更新包中仅包含前向差分的内容,另一个方向的差异将通过即时计算得到。从这一点来讲,更新内容大小就会有非常大的减小。
    抛开具体的数字,这里将Windows 11 UUP的累积更新和传统Windows 10的累积更新做一个简单的对比,粗略感受一下更新包大小的变化。
    在这里插入图片描述
    关于技术实现原理,后续会有详细的文章来介绍。

  2. 累积更新集成功能更新
    当安装功能更新的时候,累积更新也会被同时安装。不必像之前安装完功能更新,还需要单独安装累积更新。这一改进将减少系统重启的次数。

  3. 在功能更新期间无缝保留已安装的语言包和可选的FOD更新
    UUP之前的功能更新会造成系统中已经安装的语言包和FOD更新丢失。采用UUP更新,已安装的语言包和FOD更新将被保留,无需在功能更新之后重新安装语言包和FOD。

  4. 减少了功能更新的客户端下载
    随Windows一起发布的由微软开发的应用叫做"inbox apps"。其中包括一部分系统应用,比如"设置"和"文件浏览器",这些应用是通过windows累积更新进行更新的;还有一部分微软"inbox apps"只能够通过"微软商店"进行更新,包括"邮件"、“日历”、“记事本"等。
    为了减小客户的下载量,Windows重新设计了这些非系统inbox apps,用于支持在功能更新过程中"有条件的下载”。例如在进行功能更新之前,已经通过"微软商店"获得了这些inbox apps的最新版本,当前系统中的这些inbox apps有可能比功能更新提供的版本还要新。有了UUP的支持,现在通过比较UUP功能更新中这些inbox apps的版本和当前系统中这些inbox apps的版本,只有需要的情况下,才下载和安装功能更新中的inbox apps。通过这种方式实现了这些inbox apps在功能更新过程中的"有条件的下载",进而减少了功能更新过程的下载量。

  5. 在更新过程期间自动修复操作系统,不需要企业管理员进行操作
    这里的自动修复是一种在Windows操作系统更新过程中实现的修复机制,此机制会自动识别并修复可能因更新过程本身而出现的问题。
    与之对比的是dism的修复功能,“dism restore health” 可用于修复 Windows 操作系统的问题,例如系统文件损坏、更新失败或其他可能导致系统故障的问题。这二者的适用范围不同。

  6. 改进最终用户获取语言包和FOD的方式
    在 Windows 的传统更新过程中,语言包和 FOD 通常包含在完整下载和安装的"大型"更新包中。 这可能既耗时又低效,尤其是对于只需要下载特定语言包或 FOD 的用户而言。
    使用 UUP,语言包和 FOD 以更细化和更有针对性的方式交付。这意味着最终用户可以只获取和安装他们需要的语言包和 FOD,而无需下载和安装"大型"更新包。这可以节省时间和带宽,并使整个更新过程更加高效和用户友好。

对部署带来的几点影响

文件格式变化对部署的影响

根据微软官网信息,UUP更新中更新包格式发生了比较大的变化3

  1. CAB 格式的独立更新包不再发布。
  2. 如果用户之前采用dism安装基于CAB格式的累积更新,现在需要改变这种安装方式,需要采用MSU格式的文件进行安装。
  3. MSU文件中的CAB文件不再支持独立安装。

下面以"2023-适用于 Windows 10 Version 21H2 的 04 累积更新,适合基于 x64 的系统 (KB5025221)" 和 “适用于基于 x64 系统 (KB5025239)的 Windows 11 Version 22H2 版本的2023-04 累积更新” 为例比较二者的MSU文件内容:

Windows 10 累积更新(KB5025221)的MSU文件,
在这里插入图片描述

Windows 10的MSU更新文件中包含堆栈更新和累积更新,这个累积更新文件Windows10.0-KB5025221-x64.cab是完整的更新文件,可以在解压MSU后拿出来直接安装。

Windows 11 (UUP)累积更新(KB5025239)的MSU文件,
在这里插入图片描述

Windows 11的MSU更新文件中包含堆栈更新、metadata文件以及系统更新所需要的差异文件。DesktopDeployment.cab作为UUP更新的engine,其中包含了UpdateAgent.dll、UpdateDeploy.dll等多个客户端更新所需要的服务组件。
值得注意的是,其中的Windows11.0-KB5025239-x64.cab文件并不是独立文件,不可以通过dism进行安装。

对于通过第三方从MS Server获取KB方案的影响

除了微软自己的管理分发工具(如WSUS和SCCM),很多企业组织会采用第三方更新包管理工具。如果UUP中的cab包不再是独立更新包,这些第三方工具要考虑进行更新以支持对MSU更新文件的安装。

对于on premise的更新分发工具部署产生的影响

UUP on premises主要面向自己管理Windows更新的企业和组织用户,他们在本地利用WSUS或者Microsoft配置管理器集成使用统一更新平台UUP。
Windows Server 2012和更高版本的WSUS能够支持UUP的更新。由于UUP更新包中新添加了两种文件类型: msu文件和wim文件,需要为WSUS添加具体的MIME类型配置。如果是Windows Server 2019,安装KB5022286更新即可;如果是Windows Server 2022,安装KB5022291更新即可。对于Windows Server 2016(2022.1月已停服)及之前的版本,需要手动进行配置,配置方式参考Adding file types for Unified Update Platform on premises.

除了做一次配置更新,WSUS第一次同步UUP更新会"一次性"下载约10GB的更新内容,在之后的更新同步过程中下载量恢复正常。这里解释一下其中原理。

以 2023-03 发布的Windows 11 22H2的累积更新 KB5023706 和 2023-04 发布的 Windows 11 22H2 的累积更新 KB5025239 两个更新包为例,对比WSUS为二者存储的文件内容:

KB5023706
在这里插入图片描述

KB5025239
在这里插入图片描述

如图所示,两个更新中涉及到多个内容文件。从文件的哈希值可以看出,这些文件中有多个文件相同。到这里便可以理解UUP on-premises所强调的分发节点(如WSUS)第一次下载UUP的文件比较大(大约10GB),后续的下载量将恢复正常。
即WSUS一次下载后,它有相当多的内容(比如语言包、FOD等)可以被不同月份的UUP更新包使用。这些被"重复"使用的内容在后续WSUS同步UUP更新包的时候不再需要下载。

对通过WSUS更新 DU的影响

当Windows功能更新开始时,无论是通过基于ISO(esd)文件的功能更新还是基于WSUS的功能更新,动态更新(DU)都是首先应用的步骤之一。Windows安装程序默认连接到微软托管的面向互联网的URL以获取动态更新内容,然后将这些更新应用到系统安装介质。
对于两种更新方式,可以通过设置文件参数控制功能更新过程,其中包括可以设置通过WSUS获取DU。现在这一点发生变化,对于基于UUP的功能更新,如果无法连接到微软的DU url,不再支持使用WSUS获取单独动态更新内容。


总之,UUP(统一更新平台)凭借其创新的更新交付方法,为企业组织管理Windows更新增加了更大的便利,其承诺的简化更新过程并减少更新所需的数据量,对于带宽有限或互联网连接速度较慢的用户,以及厌倦了等待更新完成的用户来说,这将是一个福音。
虽然 UUP 仍然相对较新并且可能有一些错误需要解决,但它的潜在好处是显而易见的。随着 Windows 11 的不断发展,我们可以期待 UUP 在如何交付和安装更新方面发挥越来越重要的作用。

参考

  1. Introducing Unified Update Platform (UUP)
  1. An update on our Unified Update Platform (UUP)
  1. FAQ: WSUS and Unified Update Platform (UUP) on premises
风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。