释放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盘空间的解决方法之一,分享给大家,希望以上对大家有所帮助。

目录
相关文章
|
2天前
|
缓存 Windows
清理C盘,释放C盘空间
清理C盘,释放C盘空间
11 0
|
5月前
C盘爆满?简单几招教你释放、清理C盘几十G空间,最有效的C盘清理方法
C盘爆满?简单几招教你释放、清理C盘几十G空间,最有效的C盘清理方法
|
2月前
|
数据库 OceanBase
"磁盘空洞"通常指的是磁盘上有空间未被使用
【2月更文挑战第29天】"磁盘空洞"通常指的是磁盘上有空间未被使用
12 2
|
安全
C盘空间满了怎么清理?
C盘空间满了怎么清理?
465 0
|
存储 缓存 安全
清理C盘非必要文件(从认识到C盘空间管理)
认识C盘 C盘在计算机中发挥的作用 1:C盘与其它盘符的关系 C盘是计算机的硬盘分区之一,同我们计算机系统中可以看见的其它盘符一样,都可以进行存储数据。 说明一下D,E盘这些类似的盘符只是计算机系统中可见的盘,但是在实际的物理状态下是不存在的。都是逻辑上建立的分区,所谓逻辑不过就是虚拟出来的而已。
794 0
清理C盘非必要文件(从认识到C盘空间管理)
|
算法 Linux Windows
如何找到系统里的重复文件,快速释放磁盘空间?
不管是 Windows 电脑还是 Linux 电脑,在使用的过程中,或多或少都会留下很多重复的文件。这些文件不仅会占用我们的磁盘,还会拖累我们的系统,所以,很有必要干掉这些重复的文件。
322 0
如何找到系统里的重复文件,快速释放磁盘空间?
|
SQL 数据库 关系型数据库
如何解决临时空间暴增导致磁盘满问题?
报错信息: Cannot create temp file ...: No space on device 或者 实例因磁盘空间暴增,导致磁盘满而锁定 解决方案: 这种情况可能是由于嵌套SQL、多表关联SQL编写不当,导致的大量内存溢出磁盘。
2256 0
|
Unix 应用服务中间件 Linux