返回主页

Windows Update 系统深度研究报告

Windows Update 是微软为 Windows 操作系统提供的软件更新服务,其发展历程漫长而复杂,从最初的简单更新机制到如今的 Windows 即服务 (WaaS) 模式,经历了多次重大变革。本报告将深入探讨 Windows Update 的架构设计、技术实现、特殊更新类型、企业级管理以及未来发展趋势。

1. 背景与历史

1.1 Windows Update 的发展历程

Windows 95 时代

Windows Update 的雏形,通过在线服务 (Online Services) 为用户提供软件更新和补丁下载。早期更新机制较为简陋,用户需手动下载和安装更新。

Windows 98 (1998年)

引入了 Critical Update Notification Utility,这是一个后台进程,定期检查 Windows Update 网站是否有新的关键更新,是 Windows Update 自动化更新的首次尝试。

Windows Me

进一步完善了自动更新机制,引入了 Automatic Updates 客户端,可以自动下载和安装更新。用户可以选择三种通知方案:下载更新前通知、安装更新前通知或两者都通知。

Windows XP

Automatic Updates 客户端得到了改进,可以更可靠地下载和安装更新。同时,微软推出了 Microsoft Update 服务,将更新范围扩展到其他微软产品,例如 Microsoft Office。

Windows Vista 和 Windows 7

Windows Update 客户端被替换为 Windows Update Agent,这是一个操作系统内置组件,功能更加强大。开始利用 Transactional NTFS 功能来应用更新到系统文件,确保在更新过程中出现意外故障时系统能够干净地恢复。

Windows 8

在 Windows Update Agent 中引入了 UEFI 等设备固件更新功能。

Windows 10

继续改进 Windows Update Agent,并引入了累积更新的概念,将多个更新打包在一起,简化了部署流程。

Windows 11

进一步优化了更新体验,例如更快的更新速度、更小的更新体积、更灵活的重启策略等。还引入了检查点累积更新,可以减少更新安装时间和重启次数。

1.2 微软对系统更新理念的演变

早期,微软将系统更新视为一种可选的补丁程序,主要用于修复 bug 和安全漏洞。随着时间的推移,微软逐渐将系统更新视为一种持续改进操作系统的方式,不仅提供 bug 修复和安全更新,还引入新功能、性能改进和用户体验增强。

Windows 10 的发布标志着微软系统更新理念的重大转变。微软将 Windows 10 定位为一项服务 (Windows as a Service),通过定期发布功能更新和质量更新,持续改进操作系统。这种模式改变了传统的软件发布周期,使用户能够更快地获得新功能和改进。

1.3 更新服务在不同 Windows 版本中的变化

Windows XP

Automatic Updates 允许用户选择在下载或安装更新前收到通知,并提供了基本的自动下载和安装更新功能。

Windows Vista/7

引入的 Windows Update Agent 提供了更强大的管理功能,允许用户推迟强制重启的时间,最长可达 4 小时。

Windows 8

增加了对设备固件更新的支持,例如 UEFI。

Windows 10

强调自动更新,并引入了累积更新的概念,将多个更新打包在一起,简化了部署流程。

Windows 11

优化了更新体验,例如更快的更新速度、更小的更新体积、更灵活的重启策略等。引入了检查点累积更新。

2. 架构设计

2.1 Windows Update 整体架构

Windows Update 的整体架构可以分为四个主要部分:

扫描 (Scan)

Windows Update Orchestrator 定期扫描 Microsoft Update 服务器或 WSUS 终端,查找新的更新。

下载 (Download)

Windows Update 客户端下载更新文件,并将其存储在临时文件夹中。

安装 (Install)

Windows Update Agent 调用安装程序安装更新包。

提交 (Commit)

Windows Update Orchestrator 在安装完成后重新启动设备。

2.2 服务器端基础设施及其演变

Windows Update 的服务器端基础设施主要包括 Microsoft Update 服务器和 WSUS 服务器:

Microsoft Update 服务器

微软官方的更新服务器,存储了所有 Windows 更新和补丁程序。随着发展,引入了 Delivery Optimization 技术,利用点对点 (P2P) 传输加速更新下载,并减少带宽消耗。

WSUS 服务器

一种企业级更新解决方案,允许管理员在本地网络中部署和管理更新。微软在 WSUS 中增加了 SHA256 哈希功能,并实现了客户端和服务器的分离,允许 Windows Update Agent (WUA) 独立于 WSUS 进行更新。

2.3 客户端组件及其交互方式

Windows Update 的客户端组件主要包括:

Windows Update Orchestrator

负责协调更新流程,定期向 Windows Update Agent 发送扫描请求。

Windows Update Agent

负责下载和安装更新,将扫描结果返回给 Windows Update Orchestrator。

Arbiter

负责评估更新是否适用于设备,根据设备的硬件和软件配置做出判断。

这些组件之间通过 COM (Component Object Model) 进行通信。

2.4 更新包的结构与格式

Windows 更新包通常采用 CAB (Cabinet) 文件格式,其中包含更新文件、元数据和安装脚本。

更新包的结构和格式随着 Windows 版本的演变而不断变化。例如,Windows 10 引入了累积更新的概念,将多个更新打包在一起,简化了部署流程。

2.5 分发网络的设计与实现

Windows Update 的分发网络设计精良,能够高效地将更新分发到全球数百万台设备。微软在全球各地部署了多个内容分发网络 (CDN) 节点,用户可以从距离最近的节点下载更新,从而提高下载速度。

在 Windows 10 及更高版本中,Windows Update Agent 支持点对点分发更新,默认情况下,系统带宽会被用于将已下载的更新分发给其他用户,与 Microsoft 服务器结合使用。

3. 技术实现

3.1 更新检测机制

Windows Update Orchestrator 定期扫描 Microsoft Update 服务器或 WSUS 终端,查找新的更新。扫描过程会生成 ComApi 消息,Windows Update 引擎会根据消息内容查找更新。

Windows Update 支持多种扫描类型:

完整扫描 (Full scan)

扫描空的数据存储。

增量扫描 (Delta scan)

扫描先前扫描中已缓存的数据存储中的更新。

在线扫描 (Online scan)

使用网络检查更新服务器。

离线扫描 (Offline scan)

不使用网络,而是检查本地数据存储。

3.2 下载机制与带宽管理

Windows Update 客户端下载更新文件时,会使用 Delivery Optimization 技术,利用 P2P 传输加速下载,并减少带宽消耗。

Delivery Optimization 可以根据网络状况和用户设置,动态调整下载速度和带宽使用。

3.3 安装流程与失败恢复机制

Windows Update Agent 调用安装程序安装更新包。安装过程中,Arbiter 会根据设备的硬件和软件配置,创建 "action list",描述安装代理需要执行的操作。

从 Windows Vista 开始,Windows Update 开始利用 Transactional NTFS 功能来应用更新到系统文件,确保在更新过程中出现意外故障时系统能够干净地恢复。

3.4 安全性保障措施

Windows Update 采用多种安全性保障措施,确保更新的安全性:

  • 所有更新包都经过数字签名,Windows Update Agent 会验证签名,确保更新包的完整性和来源可靠性。
  • 使用 HTTPS 协议进行通信,加密传输过程中的数据。
  • 实施严格的验证流程,确保更新的合法性。

3.5 增量更新技术

Windows Update 使用增量更新技术,只下载更新文件中已更改的部分,从而减少下载量和更新时间。

增量更新技术可以显著提高更新效率,尤其是在网络带宽有限的情况下。

3.6 系统重启与恢复策略

许多更新需要重新启动设备才能生效。Windows Update Orchestrator 会在安装完成后重新启动设备。

用户可以通过组策略或注册表配置重启策略,例如设置自动重启时间、延迟重启时间等。

从 Windows Vista 开始,Windows Update Agent 允许用户推迟强制重启的时间,最长可达 4 小时。

4. 特殊更新类型

4.1 功能更新与质量更新的区别

功能更新
质量更新
每年发布两次
每月发布一次
引入新功能
提供安全更新
性能改进
Bug 修复
用户体验增强
稳定性改进

4.2 驱动程序更新机制

Windows Update 可以更新设备的驱动程序。驱动程序更新默认情况下在 WSUS 中关闭,但在基于云的更新方法中,用户可以控制是否安装驱动程序更新。

驱动程序更新通常经过微软认证,以确保其兼容性和安全性。

4.3 安全补丁的分发策略

安全补丁通常通过质量更新进行分发,每月发布一次。

对于紧急的安全漏洞,微软可能会发布带外 (Out-of-Band) 更新,及时修复漏洞。

4.4 可选更新与强制更新

可选更新

通常是可选的功能或改进,用户可以选择是否安装。

强制更新

为了修复 bug 或安全漏洞,必须安装以确保系统安全和稳定。

4.5 检查点累积更新

Windows 11 引入了检查点累积更新,这是一种新的更新类型,可以减少更新安装时间和重启次数。

检查点累积更新只包含自上次检查点以来的更改,因此更新体积更小,安装速度更快。

4.6 Insider 预览版

Insider 预览版在下一个功能更新的开发过程中提供,允许组织验证新功能和与现有应用程序和基础架构的兼容性。

Windows Insider Program for Business 频道中有多个选项:

  • Windows Insider Canary
  • Windows Insider Dev
  • Windows Insider Beta
  • Windows Insider Release Preview

4.7 长期服务通道 (LTSC)

长期服务通道 (LTSC) 是 Windows 10 的一个特殊版本,它提供长达 10 年的安全更新支持,但不会接收功能更新。

LTSC 版本适用于需要长期稳定性的设备,例如工业控制系统、医疗设备等。

5. 企业级管理

5.1 WSUS (Windows Server Update Services) 的架构与应用

WSUS 是一种企业级更新解决方案,允许管理员在本地网络中部署和管理更新。

主要功能

  • 从 Microsoft Update 服务器下载更新
  • 将更新分发到网络中的客户端计算机
  • 控制更新的批准、部署和安装
  • 支持多种更新类型
  • 执行离线修补和更新

与 WUfB 的区别

在 Windows Update for Business (WUfB) 部署服务方案中,客户端扫描云中的 Windows Update。而在 WSUS 方案中,所有客户端都扫描 WSUS 中可用的更新 (CAB 文件)。

5.2 SCCM/Intune 等工具与 Windows Update 的集成

SCCM (System Center Configuration Manager) 和 Intune 是微软的企业级设备管理工具,可以与 Windows Update 集成,实现更精细的更新管理。

SCCM 功能

  • 集中式更新管理
  • 操作系统部署功能
  • 解决大规模部署更新时遇到的挑战
  • 生成详细的更新报告

Intune 功能

  • 利用默认的 Windows 10 框架显示补丁详细信息
  • 通过云提供内置保护
  • 实现移动设备管理
  • 提供基于云的管理解决方案

5.3 企业级更新策略管理

企业可以通过组策略、WSUS 或 SCCM/Intune 等工具管理更新策略。

管理员可以设置更新的下载时间、安装时间、重启时间等,还可以控制哪些更新可以安装,哪些更新不能安装。

可以使用组策略管理控制台 (Gpmc.msc) 来配置基于云的更新交付。

5.4 大规模部署时的挑战与解决方案

在大规模部署 Windows 更新时,可能会遇到一些挑战,例如网络带宽压力、存储空间不足、更新失败等。

为了解决这些挑战,微软提供了多种解决方案,例如 Delivery Optimization、增量更新、WSUS 等。

SCCM 提供了集中式更新管理和操作系统部署功能,可以有效地管理和部署更新。

6. 演进与改进

6.1 从单一更新到 Windows 即服务 (WaaS) 的转变

Windows 10 的发布标志着 Windows Update 从单一更新模式转变为 Windows 即服务 (WaaS) 模式。

WaaS 模式通过定期发布功能更新和质量更新,持续改进操作系统,使用户能够更快地获得新功能和改进。

6.2 Windows Update 速度和可靠性的优化历程

微软一直在努力优化 Windows Update 的速度和可靠性。例如,引入了 Delivery Optimization 技术,利用 P2P 传输加速更新下载,并减少带宽消耗。

还引入了累积更新的概念,将多个更新打包在一起,简化了部署流程。

6.3 用户体验的改进

微软也一直在改进 Windows Update 的用户体验。例如,简化了更新设置界面,提供了更灵活的重启策略,并增加了更新进度显示等。

Windows 11 还引入了新的音频麦克风测试实用程序,允许用户测试和比较默认和通信模式下的音频质量。

6.4 未来发展趋势预测

未来,Windows Update 可能会朝着以下方向发展:

  • 更智能的更新机制:利用人工智能技术,根据用户的设备使用习惯和网络状况,智能地选择更新时间和下载方式。
  • 更个性化的更新体验:允许用户根据自己的需求,选择安装哪些更新,以及何时安装更新。
  • 更无缝的更新流程:减少更新对用户的影响,例如在后台静默安装更新,或者在用户不使用设备时安装更新。
  • 持续改进安全性:加强安全功能,例如 BitLocker、Rust in the Windows kernel、Windows protected print mode、Personal Data Encryption (PDE) for folders、SHA-3 support 等。

7. 总结

Windows Update 是 Windows 操作系统的重要组成部分,其发展历程漫长而复杂,经历了多次重大变革。

Windows Update 的架构设计复杂而精妙,涉及服务器端和客户端多个组件的协同工作。

Windows Update 的技术实现涉及多个方面,例如更新检测、下载、安装、安全保障等。

除了常规的功能更新和质量更新之外,Windows Update 还提供其他特殊类型的更新,例如驱动程序更新、安全补丁、Insider 预览版和 LTSC 版本等。

Windows Update 提供多种企业级管理功能,例如 WSUS、SCCM/Intune 集成等。

Windows Update 在不断演进和改进,以提供更快速、更可靠、更便捷的更新体验。

未来,Windows Update 可能会朝着更智能、更个性化、更无缝的方向发展,并持续加强安全功能,以应对不断变化的安全威胁。