两天前我的C:
硬盘满了,之后我删除了 8 GB 的数据。第二天硬盘又满了,于是我继续删除了另外 5 GB,第二天硬盘又满了。
在查找导致磁盘空间如此快速填满的原因后,我使用该windirstat
工具查找哪些文件占用了最多的空间。我发现CBS.log
位于 的文件c:\windows\logs\cbs\
有 20 GB 大。
我正在使用 Windows 8。
- 这个文件应该这么大吗?如果不是,我该如何减小它的大小?
- 这个文件的用途是什么?
- 我可以刪除它嗎?
答案1
这是由 Microsoft Windows 资源检查器 (SFC.exe) 生成的文件。
不,它不应该那么大。当 CBS 的大小达到 50 MB 左右时,应该会生成 CBS.persist.log。应将 CBS.log 复制到 cbs.persist.log,并启动一个新的 cbs.log 文件。
您可以尝试压缩文件:
- 如果你右键单击 CBS.log 文件
- 然后点击属性
- 在常规选项卡上,单击高级
- 勾选“压缩内容以节省磁盘空间”,然后点击确定
或者,如果您确定系统运行正常,则可以删除此文件。SFC.exe 将在下次运行时创建一个新文件。但是,它可能对解决问题有用。
答案2
我有一个 17 GB 的 cbs.persist.log 文件,因为我确定不是我填满了我的 SSD,所以我在 Windows 日志目录中搜索了异常大的文件。无论如何,只能想到压缩问题。
因此,为了重置 CBS 文件夹中的压缩,我使用了以下方法:
- 在 Taskmanager 服务中禁用 TrustedInstaller.exe(Windows 模块安装程序)
- 删除 C:\Windows\Logs\ 中的所有 .log 文件哥伦比亚广播公司目录,同时删除 .persist 和 .cab 文件
- 再次启用 TrustedInstaller.exe
注意:清理 CBS 文件夹会重置压缩过程,因此新创建的日志文件在压缩为 .cab 文件之前不应大于 50 Mb。
没有直接的视觉结果,您需要等到这样的日志文件足够大。
一年后,此解决方案在 Windows 7 / 8 / 8.1 上仍然有效
虽然我不能确定压缩不会再次失败,但如果失败了……那么只需再次重复解决方案,但一定要在删除 CBS 文件夹中的文件之前禁用 TrustedInstaller。
希望这可以帮助。
答案3
以防万一有人想知道为什么会发生这种情况。我相信我已经重现了特殊情况(我确信这些条件的其他变化可能会导致相同的结果):
- 我启动了大量非常大的 Windows 更新(一堆语言包和服务包等),同时还打开了大量其他应用程序和窗口(我是一名开发人员)。然后我去吃午饭了。
- Windows 更新一直运行,直到系统内存 (RAM) 耗尽。我有 32 GB 的内存,但还不够。
- “Trusted Installer.exe”(“Windows 模块安装程序”服务)尝试压缩快速增长的日志文件,但无法运行,原因可能是日志增长速度过快,也可能是由于内存不足而无法启动,或者两者兼而有之。因此,当需要它时,Windows 模块安装程序服务根本无法启动(即使是暂时的)。
- 从那时起,它就无法处理日志文件,因为它对于 .CAB 压缩来说太大(大约 25 GB!),因此恶性循环开始了,没有什么可以阻止它(除了上面“Gin”描述的手动干预)。
- 一旦日志文件在我的 SSD 上增长到 60 GB,它就会用尽我所有的可用空间,并且我会收到“存储空间不足”警告,然后开始寻找原因。
以下过程似乎已修复该问题:“禁用 Windows 模块安装程序服务,删除 C:\Windows\Logs\CBS\ 文件夹的内容以及‘C:\Windows\Temp’文件夹 - 跳过任何正在使用的文件,然后再次启动 Windows 模块安装程序服务并将其设置为‘手动’启动(默认)”。重新启动。
答案4
就我而言,即使禁用后也无法停止服务。以下步骤帮助我停止服务并删除 CBS 日志。
C:\Windows\system32>net stop TrustedInstaller
The requested pause, continue, or stop is not valid for this service.
More help is available by typing NET HELPMSG 2191.
C:\Windows\system32>sc qc TrustedInstaller
[SC] QueryServiceConfig SUCCESS
SERVICE_NAME: TrustedInstaller
TYPE : 10 WIN32_OWN_PROCESS
START_TYPE : 4 DISABLED
ERROR_CONTROL : 1 NORMAL
BINARY_PATH_NAME : C:\Windows\servicing\TrustedInstaller.exe
LOAD_ORDER_GROUP : ProfSvc_Group
TAG : 0
DISPLAY_NAME : Windows Modules Installer
DEPENDENCIES :
SERVICE_START_NAME : localSystem
C:\Windows\system32>tasklist | find /i "TrustedInstaller.exe"
TrustedInstaller.exe 2164 Services 0 132,404 K
C:\Windows\system32>taskkill /f /im "TrustedInstaller.exe"
SUCCESS: The process "TrustedInstaller.exe" with PID 2164 has been terminated.
以防万一它能帮助到别人。