macOS 救砖指南:硬盘爆满、删除无效?从恢复数据到强制清理记录

2026-01-17 21:10:29 0点赞 0收藏 0评论
macOS 救砖指南:硬盘爆满、删除无效?从恢复数据到强制清理记录

前两天准备上架一款 APP,编译时提示空间不足,和 AI 为此折腾了两天,故分享下处理过程。

具体现象:空间快满了,各个程序都提示没有空间无法运行,然后删除文件全跑到系统数据里去了,系统数据特别大(其实都是时间机器的本地快照)。然后就是死循环删文件不会腾出空间,删快照提示没空间命令执行不了,整个人都不好了。

如果你也遇到了,并且终端命令都提示没有空间直接跳到第三部分。


🛠️ 第一部分:常规环境下的快照管理(正常操作)

如果系统还能运行,首选终端命令。但要注意系统卷数据卷的区别。

1. 查看本地快照

不要只看 /(根目录),因为在较新的 macOS 中,根目录是只读的系统卷。真正的快照在数据卷上。

# ❌ 错误做法:只看根目录(可能只看到系统更新快照,删不掉) tmutil listlocalsnapshots / # ✅ 正确做法:直接列出数据卷快照(如果 tmutil 报错,改用 diskutil) diskutil apfs listSnapshots /System/Volumes/Data

2. 删除快照(释放空间)

方案 A:温柔版 (tmutil)适用于空间还没彻底满的情况。

# 只需要日期部分,例如 2026-01-15-171217 sudo tmutil deletelocalsnapshots <日期> # 方案 B:强力版 (diskutil) ⭐️ 推荐当 tmutil 报错 Stale NFS file handle时,使用此命令直接操作文件系统底层。 # 必须指定完整路径 /System/Volumes/Data# 使用名字删除:sudo diskutil apfs deleteSnapshot /System/Volumes/Data -name <快照日期> # 或者使用 UUID 删除(更精准): sudo diskutil apfs deleteSnapshot /System/Volumes/Data -uuid <快照UUID>

⚠️ 避坑指南:如果你看到 Purgeable: No 且名字包含 com.apple.os.update 的快照,千万别删!那是你的操作系统本体(Signed System Volume)。


🚑 第二部分:从快照中抢救数据(挂载与恢复)

在删除快照释放空间之前,如果里面有重要数据,可以像插 U 盘一样挂载它。

1. 创建挂载点并挂载

# 1. 在桌面建个空文件夹 mkdir ~/Desktop/TimeMachineView # 2. 挂载快照(需要快照全名,用 tmutil listlocalsnapshots / 查看) # 语法: mount_apfs -s <快照全名> <数据卷路径> <挂载点> sudo mount_apfs -s com.apple.TimeMachine.2026-01-15-XXXXXX.backup /System/Volumes/Data ~/Desktop/TimeMachineView

2. 拷贝数据(推荐使用 rsync)

硬盘爆满时,Finder 复制极慢,建议用 rsync 拷贝到外接移动硬盘

# -avh 显示进度且保留属性 rsync -avh --progress ~/Desktop/TimeMachineView/Users/你的用户名/Documents/Volumes/移动硬盘名/Backup/

# 卸载快照,用完必须卸载,否则无法删除该快照。 diskutil unmount force ~/Desktop/TimeMachineView


🆘 第三部分:绝境求生(恢复模式 Recovery Mode)

当系统彻底卡死,或者所有命令都报“没有空间”时,进入恢复模式是唯一的解法。但注意:恢复模式下硬盘默认是锁住的,必须手动解锁挂载。

进入方法:

  • Apple Silicon (M1/M2/M3): 关机 -> 长按电源键直到出现选项 -> 选项 -> 终端。

  • Intel: 重启 -> 按住 Cmd + R -> 实用工具 -> 终端。

1. 关键步骤:解锁并挂载数据卷

进入终端后,直接运行命令是找不到数据的,必须先挂载。

  1. 查找磁盘标识符

    diskutil list

    在列表中找到名为 Macintosh HD - DataData 的卷。

    记下右侧的标识符,例如 disk3s5(请根据实际情况替换)。

  2. 解锁并挂载(如果是加密硬盘): 这是最容易被忽略的一步。

    # 语法:diskutil apfs unlockVolume /dev/<你的磁盘ID> diskutil apfs unlockVolume /dev/disk3s5

    系统会提示 Passphrase,输入你的开机登录密码(输入时不会显示),按回车。

    如果提示 unlocked and mounted,说明成功。

3. 确认挂载路径

解锁成功后,硬盘通常会挂载在 /Volumes/Macintosh HD - Data。你可以检查一下:

ls /Volumes # 必须确认能看到 "Macintosh HD - Data" 才能继续

4. 强制删除文件(打破死锁)

恢复模式下没有 Time Machine 进程守护,删除文件会立即释放物理空间。

# 删除用户缓存(注意路径中有引号) rm -rf /Volumes/"Macintosh HD - Data"/Users/你的用户名/Library/Caches/* 强制删除顽固快照

既然已经挂载了,就可以直接操作快照了:

# 1. 列出快照(注意路径) diskutil apfs listSnapshots /Volumes/"Macintosh HD - Data" # 2. 删除(使用名字或UUID) diskutil apfs deleteSnapshot /Volumes/"Macintosh HD - Data" -name 2026-01-15-171217

(建议收藏备用,毕竟 APFS 的空间问题总是在你最忙的时候出现 🌚)

作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

展开 收起
0评论

当前文章无评论,是时候发表评论了
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
相关好价
最新文章 热门文章
0
扫一下,分享更方便,购买更轻松