本文提供了解决由大型 Windows 组件存储 (WinSxS) 目录引起的磁盘空间问题的解决方案。
适用于: Windows 7 Service Pack 1、Windows Server 2008 R2 Service Pack 1
原始 KB 数: 2795190
现象
检查 C:\Windows 文件夹的大小时,你可能会注意到 C:\Windows\winsxs 目录似乎使用大量磁盘空间。
原因
Windows 组件存储 (C:\Windows\winsxs) 目录在 Windows 安装中的维护操作期间使用。 服务操作包括但不限于Windows 更新、Service Pack 和修补程序安装。
组件存储包含 Windows 安装所需的所有文件。 而且,安装更新时,这些文件的任何更新也会保存在组件存储中。 这会导致组件存储随着更新、功能或角色添加到安装中而随时间推移而增长。 组件存储使用自身和其他 Windows 目录之间的 NTFS 硬链接来提高 Windows 平台的可靠性。
组件存储区会显示较大的目录大小,这是因为 Windows 资源管理器 shell 计算硬链接的方式。 在 Windows Shell 中,每个硬链接的引用都会被计为文件所在每个目录中的一个文件实例。 例如,如果名为advapi32.dll的文件为 700 KB,并且包含在组件存储和 \Windows\system32 目录中,则 Windows 资源管理器会不准确地报告文件占用 1,400 KB 的硬盘空间。
解决方法
由于 NTFS 硬链接,组件存储不能驻留在系统卷以外的卷上。 如果尝试移动组件存储,这将导致无法正确安装 Windows 更新、Service Pack、角色或功能。 此外,我们不建议手动从组件存储中删除或删除文件。
若要减小 Windows 安装上的组件存储目录的大小,可以决定使 Service Pack 安装永久化,并从 Service Pack 文件回收已用空间。 一旦永久安装服务包,该服务包将不可卸载。
若要从 Windows 安装中删除 Service Pack 文件,请使用以下内置实用工具:
- 已安装 Windows Server 2008 Service Pack 2:Compcln.exe
- 已安装 Windows 7 Service Pack 1 或 Windows Server 2008 R2 Service Pack 1:DISM /online /Cleanup-Image /SpSuperseded 或磁盘清理向导(cleanmgr.exe)
还可以通过在系统上强制删除事件,在 Windows Server 2008 安装上主动执行清理。 清理将尝试从安装中删除任何不需要的系统二进制文件,并使 Windows 能够回收磁盘空间。 若要在 Windows 安装上发出卸载事件,请添加和删除尚未安装的任何不需要的系统组件,然后重启 Windows 安装。 系统清理将在下次操作系统重启期间执行。
注意
清理在 Windows 7 和 Windows Server 2008 R2 系统上自动完成。
详细信息
若要回收系统上的其他磁盘空间,请执行以下步骤:
选择“开始”,然后在“搜索程序和文件”文本框中,键入“磁盘清理”。
单击“磁盘清理”图标,然后运行“磁盘清理”工具,根据配置确定可以删除的文件。
节省系统卷空间的其他方法包括:
- 将分页文件移到系统上的另一个卷。
- 禁用系统上的休眠。
- 使用专用转储文件选项捕获系统上另一卷上的内存转储文件。
- 将用户配置文件和程序文件目录转移到系统上的另一个卷。
- 在客户端安装的计算机上关闭系统还原点。
- 使用磁盘清理向导清理所有临时目录和文件夹(cleanmgr.exe)。
- 从安装中卸载未使用的应用程序或实用工具。
有关 WinSxS 文件夹的详细信息,请参阅:
有关磁盘的系统要求的详细信息,请参阅:
注意
使用 Windows Installer 安装产品时,原始.msi数据文件的较小版本存储在 Windows Installer 缓存 (%windir%\Installer) 文件夹中。 随着时间的推移,此文件夹可能会增大。 安装的产品的每个附加更新安装(如修补程序、累积更新或 Service Pack 安装程序)也会将其相关的 .msp 或.msi文件存储在 Windows Installer 缓存中。 随着时间的推移,此文件夹可能会增大。 我们不支持,不建议删除此文件夹中的任何文件,或者将其替换为另一台计算机中的文件。 应用程序的任何更新都依赖于存储在此文件夹中的文件中提供的信息。 如果没有此信息,更新将无法正确执行其安装。
%windir%\softwaredistribution\downloads 文件夹由Windows 更新用于存储下载的更新。 通常,无需管理此文件夹,因为它由 Windows 管理。 此文件夹的典型大小取决于多种因素,例如操作系统版本、当时可用的更新,等等。 因此,很难提供典型的大小预期。 如果此文件夹使用大量磁盘空间,请先安装系统的所有可用更新,然后重新启动计算机。 若要排查此问题(如果尺寸仍然很大),请执行以下步骤:
- 在提升的命令提示符下运行命令
Net Stop WUAUSERV
。 - 删除 %windir%\softwaredistribution\downloads 文件夹的内容。
- 在提升权限的命令提示符下,运行命令
Net Start WUAUSERV
:
- 在提升的命令提示符下运行命令
数据收集
如果需要 Microsoft 支持方面的帮助,建议按照使用 TSS 针对与部署相关的问题收集信息中所述的步骤收集信息。