如何在不破坏 Windows 更新的情况下清理 WinSxS 文件夹

最后更新: 16/10/2025

  • WinSxS 是组件存储库;由于硬链接,其外观大小具有误导性。
  • DISM 和 StartComponentCleanup 任务允许您安全地清理被取代的版本。
  • ResetBase 节省更多空间,但会阻止卸载旧更新。
  • MSI/Installer 清理很高级,但存在风险;请谨慎使用。
WinSxS文件

如果你的 Windows 电脑开始抱怨空间不足,你很可能会遇到该文件夹 WinSxS文件 想知道是否可以删除它而不会产生任何后果。简而言之,答案是否定的,但您可以使用系统内置工具安全地减小其大小。在这里,您可以找到所有您需要了解的信息。 清理 WinSxS 文件夹,而不会危及您的 Windows。

在我们开始之前,有必要澄清一些关键问题:WinSxS 文件夹是 组件仓库 Windows。它包含系统版本、用于回滚更新的备份以及允许您添加或删除功能的项目。随意删除它肯定会导致灾难。

什么是 WinSxS,为什么它占用这么多空间?

WinSxS 来自 并排窗口 并充当系统组件的中央存储库。在 C:\Windows\WinSxS 存储安装、应用和恢复功能所必需的二进制文件、清单、驱动程序和元数据。 更新 或修复 Windows。此外,Windows 会将之前的版本保留一段合理的时间,以便您在更新后出现问题时可以回滚。

WinSxS 内容的很大一部分并不是“真正的”重复文件,但是 硬链接 (硬链接)指向磁盘上的相同数据。因此,当您在资源管理器中查看文件夹属性时,“大小”可能看起来很大,而“磁盘占用空间”却很小。DISM 还会显示“可用”存储空间的估算值,区分与 Windows 共享的空间和实际可用的空间。 声称.

Windows 现在会在一段时间后自动清理过时的组件(通常几天后 30天 从安装替换件开始算起)。如果出现问题,此宽限期允许进行撤销。不过,如果您现在需要用完空间,建议您 自行清理 WinSxS 文件夹。

清理 winsxs 文件夹

如何测量元件仓库的实际尺寸

为了消除任何疑虑并获得真实的照片,请使用 DISM。使用提升的命令提示符,您可以扫描保管库并查看“与 Windows 共享”(不可恢复)、“备份和禁用功能”以及“缓存和临时文件”等类别。该细分会告诉您是否有 清洗过的 这是值得的。

打开 命令提示 以管理员身份运行:

Dism.exe /Online /Cleanup-Image /AnalyzeComponentStore

在输出中,您将看到诸如“实际仓库大小”、“上次 清洗过的”,可以恢复多少个包,以及是否建议清理。如果显示“建议清理:是”,那就继续:还有减少的空间。

独家内容 - 点击这里  VirtualBox、VMware 和 Hyper-V:根据您的需求选择哪一个

安全的方法 清理 WinSxS 文件夹 在正在运行的系统上

使用本机工具减轻或清理 WinSxS 文件夹的主要方法有三种: 任务计划程序, 效用 DISM磁盘清理它们都依赖于相同的内部机制:删除被取代的包、压缩组件以及清理不必要的备份。

使用 StartComponentCleanup 任务自动清理

Windows 包含一个计划任务,可在计算机空闲时进行清理。当它自动运行时,请至少等待 30天 从安装新组件到删除旧版本。如果您手动运行,大约需要 1 小时,因此第一次运行可能无法完全清除所有内容。

要从界面运行它,请打开任务计划程序并导航至: 任务计划程序库 \ Microsoft \ Windows \ Servicing \ StartComponentCleanup选择项目后,点击“运行”。您也可以从命令行运行它:

schtasks.exe /Run /TN "\Microsoft\Windows\Servicing\StartComponentCleanup"

此选项较为保守,并且会遵循宽限期。如果您急需 GB 空间,则下一个 DISM 方法更直接,并且不会强制使用宽限期。 推迟.

使用 DISM 进行清理:更多控制且无宽限期

DISM(部署映像服务和管理)是用于修复、维护和优化 Windows 映像(包括实时安装)的官方工具。 /清除 - 图像 它提供了几种操作,如果使用得当,可以在短时间内恢复数兆字节。

为了强制 立即清洁 更换组件后,执行:

Dism.exe /Online /Cleanup-Image /StartComponentCleanup

如果您的系统稳定,并且不需要回滚以前的更新,则可以使用 / ResetBase。此修改器会删除每个组件的所有被取代的版本,并将最后安装的版本保留为基准版本。请注意,此后,您将无法再 卸载 旧更新。

合并 基本的:

Dism.exe /Online /Cleanup-Image /StartComponentCleanup /ResetBase

在安装了 Service Pack 的旧系统上,还可以选择从该包中删除备份文件以节省更多空间。这可以防止您将来卸载 SP,因此请仅在您确定可以卸载时才使用此选项。

丢弃 Service Pack 副本的命令:

Dism.exe /Online /Cleanup-Image /SPSuperseded

历史记录:WinSxS 的发展始于 Windows 7。它自 SP1 起就已推出。 计算机命令 整合组件,后来出现了等效的 DISM 选项。在 Windows 10 及更高版本中,存储库维护更加精细和安全。

使用磁盘清理减少 WinSxS

如果您更喜欢使用图形界面来清理 WinSxS 文件夹,经典的 Windows 空间清理实用程序也很有用。重要的是激活“Windows更新“(或“Windows 更新清理”),这实际上影响了组件存储。扫描和删除可能需要相当长的时间。

独家内容 - 点击这里  如何修复 Windows 上 Voicemeeter CPU 使用率过高的问题

步骤 推荐的:

  • Windows + R的,写道 cleanmgr 并接受。在驱动器选择器中,选择您的系统驱动器(通常为 C:)。
  • 出现窗口时,按“清理系统文件”(需要管理员权限)并等待分析。
  • 检查“Windows 更新”、“临时文件”、“日志文件”以及其他相关类别。点击“OK“。

在包含大量更新的计算机上,清理过程可能需要几个小时。磁盘不停地工作是正常现象;请等待该过程完成,以整合空间并避免出现不一致。 商店.

WinSxS文件

管理员的高级清理:删除功能及其有效负载

在服务器和托管计算机上,您可以通过卸载可用但未安装的 Windows 功能(称为有效负载)来进一步减少磁盘空间。这并不意味着要彻底清理 WinSxS 文件夹。根据具体情况,这会释放几百 MB 或几 GB 的空间,但它会产生影响:如果您以后想安装该功能,则需要 (WIM/ISO)。

连接器 PowerShell的,列出角色和功能的状态:

Get-WindowsFeature

例如,删除特定功能的有效负载 Hyper-V:

Uninstall-WindowsFeature Hyper-V -Remove

立即下载 所有有效载荷 处于“可用”状态(可用但未安装):

Get-WindowsFeature | Where-Object { $_.InstallState -eq "Available" } | Uninstall-WindowsFeature -Remove

如果您稍后需要重新安装某个功能,您可以通过指向 安装介质 Windows。例如,使用驱动器 D 的 WIM 映像:

Install-WindowsFeature NombreDelServicio -Restart -Source wim:D:\sources\install.wim:4

知道是什么 指数 对应于 WIM 中的版本,使用:

dism /get-wiminfo /getfile:D:\sources\install.wim

这条路线涉及 riesgo 如果您的组织中没有完善的文档记录,这一点尤其重要。在管理黄金镜像、具有特定角色的服务器或需要轻量级模板并完全控制所包含内容的 VDI 环境时,可以使用它。

另一个空间来源:C:\Windows\Installer 和 PatchCache

如果您仍然需要释放更多空间并且知道自己在做什么,那么还有一个与 MSI 安装程序相关的附加策略来清理 WinSxS 文件夹。 C:\Windows\安装程序 存储应用程序用于维护和卸载的安装程序和补丁。点击此处存在严重风险:突然删除条目可能会中断 卸载 或程序修复。

一种高级技巧是调整 PatchCache 的大小,并以可控的方式清空它。只有当您愿意接受这种妥协,并且理解它可能会影响某些 MSI 安装时,才可以这样做。指南(始终在 CMD 中使用管理员权限) 管理员):

  1. 停止 Windows Installer 服务:
    net stop msiserver /y
  2. 设置 补丁缓存 设置为 0 以允许清洁:
    reg add HKLM\Software\Policies\Microsoft\Windows\Installer /v MaxPatchCacheSize /t REG_DWORD /d 0 /f
  3. 删除 缓存目录:
    rmdir /q /s %WINDIR%\Installer\$PatchCache$
  4. 启动 并再次停止服务以应用更改:
    net start msiserver /y
    net stop msiserver /y
  5. 恢复原状 将缓存设置为默认值(例如 10):
    reg add HKLM\Software\Policies\Microsoft\Windows\Installer /v MaxPatchCacheSize /t REG_DWORD /d 10 /f
  6. 启动 再次服务:
    net start msiserver /y

我强调一下:操作此文件夹及其缓存需要高级用户。如果某个应用程序开始请求不再存在的 MSI,则您必须提供原始安装程序进行修复或 卸载 正确地

独家内容 - 点击这里  移动 OCR 应用程序:完整指南和最新比较

常见问题

  • 我可以删除 WinSxS 文件夹吗? 不可以。它是系统的关键部分。正确的做法是使用 Windows 提供的工具来清理它,因为 Windows 知道哪些可以删除,哪些不能删除。
  • 为什么 Explorer 显示的“大小”比 DISM 大得多? 由于 WinSxS 使用硬链接,Explorer 会多次累加链接文件的大小,而 DISM 则会计算“真实”空间并将其分类为可回收或共享类别。
  • /ResetBase 到底起什么作用? 通过删除所有被取代的版本来整合您的存储库。您可以获得更多空间,但无法卸载旧更新。仅当您对系统健康状况有信心时才使用此选项。
  • 我刚刚清理了 WinSxS 文件夹,但它没有调整大小,这是错误的吗? 不一定。当时可能没有太多可恢复的数据,或者您查看的指标可能无法很好地反映影响(由于硬链接)。您可以依靠 DISM 分析并检查是否还有任何“可恢复的数据包”。
  • 可以释放多少空间? 这取决于更新历史记录和角色。在性能稳定的计算机上,通常可以释放 15% 到 20% 的 WinSxS 空间;在其他情况下,释放空间的幅度会更小。
  • 这需要多久? 从几分钟到几小时不等。勾选“Windows 更新”后的空间清理通常最慢;DISM 更直接,但效果取决于替换的组件数量。

通过以上所有内容,你已经有了一个清晰的地图 清理 WinSxS 文件夹。如果您将所有这些信息、良好的更新实践以及在专业环境中消除有效载荷和关注参考图像添加到其中,那么保持组件仓库的控制就只是另一个维护程序,而不会引起恐慌或问题。 riesgos 不必要。

如何修复 Windows 0 中的错误 800x0988f10
相关文章:
如何修复 Windows 0 中的错误 800x0988f10:完整且更新的指南