清理 WinSxS 文件夹,压榨系统盘空间
因为预算原因(没钱),把120GB的固态分成两个盘,一个40GB装系统,另一个70GB装游戏。
最近随着系统用的时间越来越长,就发现剩余空间在不断地减少,可用不足10GB。
系统自带清理工具已经清理不了多少了。
为了进一步压榨固态硬盘的空间,今天用Folder Size看了一下C盘文件占用,发现了一个叫WinSxS的文件夹占用7GB,着实下了一跳。百度了一下,发现WinSxS 文件夹是win 7 8时代的残余,从 Windows 10 和 Windows Server 2016 开始,微软已经采用一定的方法自动减小 WinSxS 文件夹的大小。 而且给出了官方的清理思路。原文在这里。
整理了一些关键方法在这里:
方法一:任务计划程序
StartComponentCleanup 任务会在系统未使用时自动清理组件。 自动运行时,该任务将在更新的组件安装之后等待至少 30 天,然后再卸载该组件的先前版本。
如果选择运行此任务,则该任务将有 1 小时的超时,并且可能无法完全清除所有文件。
在任务计划程序中运行 StartComponentCleanup 任务,以清理和压缩组件
1.如果“任务计划程序”未开启,请启动“任务计划程序” 。 有关详细信息,请参阅启动任务计划程序。
2.展开控制台树并导航到 Task Scheduler Library\Microsoft\Windows\Servicing\StartComponentCleanup。
3.在“所选项”下,单击“运行”
cmd
schtasks.exe /Run /TN "\Microsoft\Windows\Servicing\StartComponentCleanup"
方法二:Dism.exe
Dism.exe 的 /Cleanup-Image 参数为高级用户提供更多选项,进一步减小 WinSxS 文件夹的大小。 有关详细信息,请参阅 DISM 操作系统包服务命令行选项。
使用 /StartComponentCleanup 参数
在 Windows 10 或更高版本的运行版本上使用 Dism.exe 的 /StartComponentCleanup 参数可提供类似于在任务计划程序上运行 StartComponentCleanup 的结果,除了早期版本的更新组件将立即删除(没有 30 天的宽限期),且将没有 1 小时的超时限制。
在提升的命令提示符处,运行:
cmd
Dism.exe /online /Cleanup-Image /StartComponentCleanup
将 /ResetBase 开关和 /StartComponentCleanup 参数一起使用
在 Windows 10 或更高版本的运行版本中,将 /ResetBase 参数和 DISM.exe 的 /StartComponentCleanup 参数一起使用,将删除组件存储区中每个组件的所有替换版本。
在提升的命令提示符处,运行:
cmd
Dism.exe /online /Cleanup-Image /StartComponentCleanup /ResetBase
警告:完成此命令后,无法卸载所有现有的服务包和更新。 但可以卸载未来的服务包或更新。
使用 /SPSuperseded 参数
要减少服务包使用的空间量,请在 Windows 的运行版本上使用 Dism.exe 的 /SPSuperseded 参数来删除卸载服务包所需的任何备份组件。 服务包是特定 Windows 版本的累积更新的集合。
在提升的命令提示符处,运行:
cmd
Dism.exe /online /Cleanup-Image /SPSuperseded