释放C盘空间:WinSXS文件夹真实性大小判断及释放占用空间

简介: WinSXS文件夹存储了不同版本的系统组件和动态链接库(DLL),包括各个Windows更新、Service Pack和功能更新安装后保留的旧版文件。即使新版本已经安装并投入使用,旧版本文件仍被保存以确保与依赖旧版本的应用程序兼容。

WinSxS文件分析

组件存储(WinSxS 文件夹)包含组成 Windows 并允许你操作系统的组件。 这些组件保存在此文件夹中,以防需要回滚更改或修复损坏的文件。

此文件夹中的文件看起来可能存储在操作系统的多个位置中,但通常只有一个文件副本,其余副本实际上是硬链接。 某些工具(如文件资源管理器)会在不考虑包含的文件可能是硬链接的情况下确定目录的大小,这可能导致你认为 WinSxS 文件夹占用的磁盘空间较多,然而实际上有一部分空间并未被实际占用。

C:\Windows\WinSxS 文件大小参考下图:
image.png

判断WinSxS文件真实大小

我们通过运用DISM 来帮助确定 WinSxS 文件夹实际使用多少磁盘空间。
完整指令参考如下:

Dism.exe /Online /Cleanup-Image /AnalyzeComponentStore

执行后,需要进度100%,可以看到如下输出内容:

C:\Windows\system32>Dism.exe /Online /Cleanup-Image /AnalyzeComponentStore

部署映像服務與管理工具
版本: 10.0.19041.746

映像版本: 10.0.19045.3208

[==========================100.0%==========================]

元件存放區 (WinSxS) 資訊:

Windows 檔案總管所顯示的元件存放區大小 : 9.24 GB

元件存放區的實際大小 : 8.94 GB

    與 Windows 共用 : 5.82 GB
    備份和停用的功能 : 3.12 GB
    快取和暫存資料 :  0 bytes

上次清理的日期 : 2023-11-09 10:37:12

可收回的套件數目 : 0
建議使用元件存放區清理 : 否

操作順利完成。

C:\Windows\system32>

以上,我们可以看出,WinSxS 文件夹看上去为 9.24 GB,但实际开销(备份和禁用功能的大小与缓存和临时数据的大小之和)为 3.12GB。那么多出来的这部分空间,我们要如何清理呢?

清理WinSxS文件夹

一些重要的系统文件仅位于 WinSxS 文件夹中。 删除 WinSxS 文件夹中的文件或删除整个 WinSxS 文件夹可能会严重损坏系统,导致你的计算机可能无法启动,并且无法进行更新。

鉴于清理系统文件可能的风险,请勿删除 WinSxS 文件夹,可使用 Windows 的内置工具减少 WinSxS 文件夹的大小。

==Dism.exe 的 /Cleanup-Image 参数可以清理 WinSxS 文件夹的无用空间==。

使用 /StartComponentCleanup 参数来清理,在 Windows 10 或更高版本的运行版本上使用 Dism.exe 的 /StartComponentCleanup 参数可自动清理组件。

Dism.exe /online /Cleanup-Image /StartComponentCleanup

执行后,除了早期版本的更新组件将立即删除(没有 30 天的宽限期),且将没有 1 小时的超时限制。

在 Windows 10 或更高版本的运行版本中,将 /ResetBase 参数和 DISM.exe 的 /StartComponentCleanup 参数一起使用,将删除组件存储区中每个组件的所有替换版本。

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

完成此命令后将无法卸载所有现有的更新程序包,但可以卸载将来的更新程序包。

清理完成后,备份和停用的功能由3.12GB减小到1.81GB
image.png

WinSXS文件夹为什么会占用大量的空间

WinSXS(Windows Side-by-Side)文件夹会占用大量磁盘空间,主要原因如下:

  1. 系统组件备份:该文件夹存储了不同版本的系统组件和动态链接库(DLL),包括各个Windows更新、Service Pack和功能更新安装后保留的旧版文件。即使新版本已经安装并投入使用,旧版本文件仍被保存以确保与依赖旧版本的应用程序兼容。

  2. 组件存储:WinSXS用于存放系统补丁和组件的多个版本,以便在需要时进行回滚或为不同的应用程序提供所需的特定版本组件。

  3. 累积更新:随着时间推移,通过Windows Update接收的累积更新会不断添加新的文件,并且不会自动删除之前版本的文件,导致文件夹内容不断增长。

  4. 组件共享:为了支持多个应用同时使用相同组件的不同版本,WinSXS采用了一种称为“组件隔离”的机制,这意味着同一组件的不同版本可能都会被存储在该文件夹中。

因此,尽管WinSXS对于维护系统的稳定性和兼容性至关重要,但其内部的冗余和历史数据积累也会造成硬盘空间的大量占用。用户可以通过系统内置的磁盘清理工具或者使用DISM命令行工具等方法来安全地清理不必要的WinSXS组件备份,释放部分磁盘空间。

以上就是解决C盘空间的解决方法之一,分享给大家,希望以上对大家有所帮助。

目录
相关文章
|
4月前
|
存储 Linux Apache
释放磁盘空间:解决文件删除但空间未释放的困扰
在管理Linux系统的日常中,最令人头疼的时刻之一就是发现尽管已删除了巨大的文件,但是磁盘空间的占用率仍然没有任何下降。这种情况不仅让我怀疑自己的操作是否正确,同时也给操作系统的运行带来了隐患。 究竟问题出在哪,又该如何解决?本次记录,将演示释放磁盘空间:解决文件删除但空间未释放的困扰。
释放磁盘空间:解决文件删除但空间未释放的困扰
|
6月前
|
缓存 Windows
清理C盘,释放C盘空间
清理C盘,释放C盘空间
58 0
|
6月前
|
存储 算法 Java
某操纵系统采用可变分区分配存储管理方法,用户区为512K且始址为0,用空闲分区表管理空闲分区。若分配是采用分配空闲区低地址部分的方案,且初始时用户区的512K空间空闲,对下述申请序列:申请300K,申
某操纵系统采用可变分区分配存储管理方法,用户区为512K且始址为0,用空闲分区表管理空闲分区。若分配是采用分配空闲区低地址部分的方案,且初始时用户区的512K空间空闲,对下述申请序列:申请300K,申
120 0
【读paper】比kmer更省空间的minimizer
【读paper】比kmer更省空间的minimizer
498 1
【读paper】比kmer更省空间的minimizer
|
存储 C语言
(指针内容)当你申请一个变量,在这期间内存会发生什么?
(指针内容)当你申请一个变量,在这期间内存会发生什么?
120 0
(指针内容)当你申请一个变量,在这期间内存会发生什么?
|
安全
C盘空间满了怎么清理?
C盘空间满了怎么清理?
550 0
缓冲区提前释放,导致H264保存及播放错误
缓冲区提前释放,导致H264保存及播放错误
92 0
|
算法 Linux Windows
如何找到系统里的重复文件,快速释放磁盘空间?
不管是 Windows 电脑还是 Linux 电脑,在使用的过程中,或多或少都会留下很多重复的文件。这些文件不仅会占用我们的磁盘,还会拖累我们的系统,所以,很有必要干掉这些重复的文件。
363 0
如何找到系统里的重复文件,快速释放磁盘空间?
|
SQL 数据库 关系型数据库
如何解决临时空间暴增导致磁盘满问题?
报错信息: Cannot create temp file ...: No space on device 或者 实例因磁盘空间暴增,导致磁盘满而锁定 解决方案: 这种情况可能是由于嵌套SQL、多表关联SQL编写不当,导致的大量内存溢出磁盘。
2376 0