如何在Windows 7或8上减小WinSXS文件夹的大小

位于C:\WINDOWS\WinSXS的WinSXS文件夹非常庞大,并且随着Windows安装时间的延长,该文件夹会继续增长。随着时间的推移,此文件夹会构建不必要的文件,例如旧版本的系统组件。

此文件夹还包含已卸载、已禁用的Windows组件的文件。即使您没有安装Windows组件,它也会出现在您的WinSXS文件夹中,这会占用空间。

为什么WinSXS文件夹变得太大

WinSXS文件夹包含所有Windows系统组件。事实上,Windows中其他位置的组件文件只是指向WinSXS文件夹中包含的文件的链接。WinSXS文件夹包含每个操作系统文件。

当Windows安装更新时,它会将新的Windows组件放在WinSXS文件夹中,而将旧组件保留在WinSXS文件夹中。这意味着您安装的每个Windows Update都会增加WinSXS文件夹的大小。这允许您从控制面板卸载操作系统更新,这在错误更新的情况下很有用-但这是一个很少使用的功能。

相关:释放Windows硬盘空间的7种方法

Windows7通过包含一项功能来解决此问题,该功能允许Windows在安装新的Windows Service Pack后清理旧的Windows更新文件。当时的想法是,系统可以与服务包一起定期清理。

然而,Windows7在2010年只发布了一个Service Pack-Service Pack 1。微软无意推出另一款。这意味着,三年多来,Windows更新卸载文件一直在Windows7系统上堆积,不能轻易删除。

清理更新文件

为了解决这个问题,微软最近将一项功能从Windows 8重新移植到了Windows 7。他们没有大张旗鼓地这么做--它是在典型的小型操作系统更新中推出的,这种更新通常不会添加新功能。

相关:释放Windows系统文件使用的硬盘空间的6种方法

要清理此类更新文件,请打开“磁盘清理”向导(轻触Windows键,在“开始”菜单中键入“磁盘清理”,然后按Enter键)。单击“清理系统文件”按钮,启用“Windows Update清理”选项,然后单击“确定”。如果你已经使用你的Windows7系统几年了,你很可能会释放出几个千兆字节的空间。

执行此操作后下次重新启动时,Windows将需要几分钟时间来清理系统文件,然后才能登录和使用桌面。

如果您在“磁盘清理”窗口中没有看到此功能,则可能是您的更新落后了-从Windows Update安装最新更新。

相关:Windows如何将任务计划程序用于系统任务

Windows8和8.1包括自动执行此操作的内置功能。事实上,Windows附带的StartComponentCleanup计划任务将自动在后台运行,在您安装组件30天后清理它们。如果更新导致问题,这30天的时间可以让您卸载该更新。

如果要手动清理更新,也可以使用“磁盘使用情况”窗口中的“Windows Update清理”选项,就像在Windows 7上一样。(要打开它,请轻触Windows键,键入“Disk Cleanup”执行搜索,然后单击出现的“通过删除不必要的文件释放磁盘空间”快捷方式。)

Windows8.1为你提供了更多的选择,允许你强行删除所有以前版本的卸载组件,即使是那些已经存在超过30天的组件。这些命令必须在提升的命令提示符下运行-换句话说,以管理员身份启动命令提示符窗口。

例如,以下命令将卸载没有计划任务30天宽限期的所有早期版本的组件:

以下命令将删除卸载Service Pack所需的文件。运行此命令后,您将无法卸载任何当前安装的Service Pack:

以下命令将删除每个组件的所有旧版本。此操作完成后,您将无法卸载当前安装的任何Service Pack或更新:

按需删除功能

Windows的现代版本允许您按需启用或禁用Windows功能。您可以在可以从控制面板访问的Windows功能窗口中找到这些功能的列表。

即使您尚未安装的功能-即您在此窗口中看到的未选中的功能-也会存储在硬盘上的WinSXS文件夹中。如果您选择安装它们,它们将从您的WinSXS文件夹中提供。这意味着您无需下载任何内容或提供Windows安装介质即可安装这些功能。

但是,这些功能会占用空间。虽然这在典型的计算机上应该无关紧要,但存储量极低的用户或想要将Windows安装精简到尽可能小的系统文件集的Windows服务器管理员可能希望将这些文件从硬盘上删除。

出于这个原因,Windows8增加了一个新的选项,允许您从WinSXS文件夹中完全删除这些卸载的组件,从而释放空间。如果您选择稍后安装已删除的组件,Windows将提示您从Microsoft下载组件文件。

要执行此操作,请以管理员身份打开命令提示符窗口。使用以下命令查看您可以使用的功能:

您将看到一个包含功能名称及其状态的表。

要从系统中删除功能,可以使用以下命令,将name替换为要删除的功能的名称。您可以从上表中获得所需的功能名称。

相关:释放Windows系统文件使用的硬盘空间的6种方法

如果您再次运行/Get-Feature命令,您现在将看到该功能的状态是“Disabled with Payload Remove”,而不仅仅是“Disabled”。这就是你知道它不会占用你电脑硬盘空间的原因。

如果您正试图尽可能地瘦身Windows系统,请务必查看我们列出的释放Windows磁盘空间和减少系统文件使用的空间的方法列表。

相关文章