# 存储感知与磁盘清理：哪些能删、哪些删了会疼

> 哪些清理项只是腾空间、哪些有代价，WinSxS 清理怎么做，以及现代硬盘到底被什么占满。

**测试环境**

- 版本号: 26300.9457 / 26100.33650
- 版本: Pro (26H2) / Server
- 架构: x64
- 证据: E1
- 核验日期: 2026-10-29

## 一句话结论

三套机制、三种风险：

| 工具 | 腾出 | 风险 |
|---|---|---|
| **存储感知** | 临时文件、回收站、旧下载 | 低，可自动运行 |
| **磁盘清理（`cleanmgr`）** | 更新残留、旧安装、缩略图 | 低，但部分项目单向 |
| **WinSxS 清理（`/StartComponentCleanup`）** | 被取代的组件版本 | 中——之后无法回滚 |

最大的空间往往**不在**这些工具里：是 40GB 的游戏、20GB 的 OneDrive 缓存，或休眠文件。

## 先看清真实情况

```powershell
Get-Volume | Select-Object DriveLetter,FileSystemLabel,@{n='SizeGB';e={[math]::Round($_.Size/1GB,1)}},@{n='FreeGB';e={[math]::Round($_.SizeRemaining/1GB,1)}}
Get-ChildItem $env:USERPROFILE -Directory -Force -ErrorAction SilentlyContinue |
  ForEach-Object {
    $s = (Get-ChildItem $_.FullName -Recurse -Force -File -ErrorAction SilentlyContinue | Measure-Object Length -Sum).Sum
    [pscustomobject]@{ Folder = $_.Name; GB = [math]::Round($s/1GB,2) }
  } | Sort-Object GB -Descending | Select-Object -First 10
```

先找到真正的占用者，再动系统文件。

## 各项到底是什么

| 项目 | 安全？ | 说明 |
|---|---|---|
| 临时文件 | 是 | 应用会重建 |
| 回收站 | 是 | 它本来就是垃圾桶 |
| 下载 | **先确认** | 存储感知可自动清空它 |
| 缩略图 | 是 | 按需重建 |
| 传递优化文件 | 是 | 更新缓存 |
| Windows 更新清理 | 是 | 移除旧更新包 |
| 以前的 Windows 安装 | **单向** | 之后无法回滚 |
| WinSxS 被取代组件 | **单向** | 见下 |
| 休眠文件 | 可配置 | 关闭会禁用休眠/快速启动 |
| 页面文件 | **不要动** | 由系统管理 |

## WinSxS：最被误解的文件夹

`C:\Windows\WinSxS` 不是 Windows 的备份副本，而是组件存储。它包含指向在用文件的**硬链接**，所以显示的体积远大于实际占用。

用受支持的命令清理：

```powershell
Dism.exe /Online /Cleanup-Image /AnalyzeComponentStore
Dism.exe /Online /Cleanup-Image /StartComponentCleanup /ResetBase
```

- `AnalyzeComponentStore` 告诉你值不值得清。
- `/ResetBase` 会移除**卸载已装更新**的能力。可能需要回滚补丁的机器不要用。

> **警告: 不要手动删 WinSxS**
>
> 取得所有权后删除那里的文件会破坏服务与后续更新。除了修复安装，没有受支持的回头路。

## 磁盘清理（`cleanmgr`）：别靠猜

存储感知是自动那条路，`cleanmgr` 是手动那条，而它有两个容易混淆的配置档：

| 方式 | 启动的是 | 能看到 |
|---|---|---|
| `cleanmgr` | 标准档 | 只有用户级临时文件 |
| **清理系统文件** | 提权档 | 更新残留、旧安装、WinSxS |

真正能腾出空间的是第二遍，能让你失去回滚能力的也是第二遍。要有意识地跑：

```powershell
cleanmgr /lowdisk        # 预选体积最大的安全项
cleanmgr /sageset:11     # 选一次项，记在这个编号下
cleanmgr /sagerun:11     # 以后无人值守地按这套选择执行
```

`/sageset` 会把选择写进注册表，所以 `/sagerun` 可以被计划任务调用。有两个项目值得你做决定，而不是接受默认值：

- **「以前的 Windows 安装」**——删掉 `Windows.old` 就等于放弃 10 天内退回旧版本的机会。过了这个窗口系统会自己清理；提前删只是省点时间，省不出你会想念的空间。
- **「传递优化文件」**——本地更新缓存。安全，但下次更新会重新下载。

> **警告: cleanmgr 清不掉它看不见的东西**
>
> 标准档以你的身份运行。`C:\Windows\Temp` 里属于 SYSTEM 的文件、服务配置文件里的文件，它都看不见——那些需要**清理系统文件**那一遍，或者手动去看。如果清理跑完空间没动，真正的占用者很可能根本不在列表里：回头用上面的文件夹占用查询。

## 休眠与快速启动

`hiberfil.sys` 通常是内存的 40–100%。删掉它同时会移除**快速启动**与休眠：

```powershell
powercfg /hibernate off   # 删除 hiberfil.sys，禁用快速启动与休眠
powercfg /hibernate on    # 恢复
```

从不休眠、SSD 又小的台式机，关掉它是合理的 8–32GB。笔记本要想想——见[睡眠、休眠与快速启动](https://winbook.fyi/zh/windows/perf/sleep-hibernate-faststartup/)。

## 把低风险部分自动化

**设置 → 系统 → 存储 → 存储感知**：开启，把"下载"清理设为"从不"（如果你用这个文件夹），让它每周跑一次。

## 相关

- [OneDrive 按需文件](https://winbook.fyi/zh/windows/files/onedrive-files-on-demand/)
- [Windows 11 资源管理器](https://winbook.fyi/zh/windows/files/explorer/)
- [睡眠、休眠与快速启动](https://winbook.fyi/zh/windows/perf/sleep-hibernate-faststartup/)

## 实验室边界

E1。清理命令有微软文档依据；本文没有在实验室虚拟机上执行清理，因此不声称任何释放空间数字。

## 来源

- [Microsoft Learn — 清理 WinSxS 文件夹](https://learn.microsoft.com/zh-cn/windows-hardware/manufacture/desktop/clean-up-the-winsxs-folder)
- [Microsoft Learn — Windows 安装程序命令行选项](https://learn.microsoft.com/zh-cn/windows-hardware/manufacture/desktop/windows-setup-command-line-options)
- [Microsoft Learn — Powercfg 命令行选项](https://learn.microsoft.com/zh-cn/windows-hardware/design/device-experiences/powercfg-command-line-options)

---

来源页面: https://winbook.fyi/zh/windows/files/storage-sense/
