Time Machine 备份磁盘已满?如何删除旧备份
如果你的 Time Machine 备份磁盘已满,不必急着买新硬盘。多数情况下,你只需删除磁盘上已有的一些旧备份,就能在几分钟内让自动备份重新运行起来。
先明确一下本文的范围:这里说的是 Time Machine 备份所在的外置磁盘,而不是 macOS 保存在 Mac 内部磁盘上的本地快照。如果你想释放的是 Mac 本身的空间而不是备份磁盘的空间,你需要的是如何在 Mac 上禁用 Time Machine 本地快照这篇文章。
备份磁盘已满或接近已满,往往根本不需要你去处理。按照 Apple 的说明,当磁盘空间快用完时,Time Machine 会自动删除最旧的备份来腾出空间,然后继续正常备份,所以这个警告经常会自行消失。值得你亲自动手的情况是:备份确实开始失败了、你想把这部分空间挪作他用,或者你希望保留比当前磁盘容量所能容纳的更长的备份历史。如果你符合这些情况之一,下面是确实有效的方法。更多内容可参考 Apple 的如何解决 Time Machine 备份磁盘已满的问题指南。
如何删除旧的 Time Machine 备份
Time Machine 把每次备份存成一个独立的、带日期的快照,所以你需要一次删除一整份备份,而不是从旧备份中挑出某个文件删掉。Apple 并没有发布关于删除已有备份的官方教程,因此下面这些内容来自实际操作测试和资深 Mac 用户的验证,而不只是菜单表面看起来能做到的事。
你可能会在 Time Machine App 的“…”菜单下看到“删除备份”选项。如果它在你这里能用,那很好,直接用它就行。但在很多使用 APFS 格式备份磁盘(自 macOS Big Sur 起就是默认格式,也就是现在大多数人的情况)的 Mac 上,这个选项要么完全不存在,要么是灰色不可用,即便存在,点了往往也没有任何反应。不要把它当作主要方案来依赖。
真正可靠的方法:直接在访达(Finder)中从磁盘本身删除备份。 在访达中打开备份磁盘,可以在侧边栏或桌面上双击它,你会看到一个个按日期命名的备份文件夹或包。按住 Control 点击你要删除的那个备份,然后删除它。这是永久删除,不会经过“废纸篓”,一旦删除就无法撤销。请始终删除整份带日期的备份,永远不要试图从旧备份里单独取出某个文件删除。由于 APFS 备份之间会共享数据,在备份内部按文件删除往往会失败,或者让备份陷入损坏状态。
最稳定的方法,尤其是当访达删除出问题时:在终端中使用 tmutil 命令。 它不依赖图形界面,无论 Time Machine App 当天表现如何,都能以同样的方式工作。
- 在系统设置 > 隐私与安全性 > 完全磁盘访问权限中,为“终端”授予完全磁盘访问权限。没有这个权限,
tmutil命令可能什么都看不到,或者直接执行失败。 - 运行
tmutil listbackups,查看磁盘上按日期列出的备份。 - 使用以下命令删除某个备份:
sudo tmutil delete -d "/Volumes/<YourBackupDrive>" -t <timestamp>
你可以在一条命令里重复使用 -t 参数,一次删除多个备份。请坚持使用 -d/-t 这种写法,一些老教程里出现的旧式纯路径写法,在 APFS 备份磁盘上并不可靠。
如果你的备份存放在 NAS 或网络共享盘上,而不是直接插在 Mac 上的磁盘,那么它们会以 .sparsebundle 磁盘映像的形式保存,而不是零散的文件夹。这时需要先挂载这个 sparsebundle(在网络位置中双击它即可),之后就可以用同样的访达方法操作,不过在网络 sparsebundle 内部逐个清理备份比较麻烦,也不是官方支持的操作,务必谨慎进行。
如今大多数备份磁盘都是 APFS 格式,Time Machine 会把每份备份存成一个只读快照,这正是为什么你要删除整份带日期的备份,而不是编辑旧备份的内容。如果你的磁盘从 macOS Big Sur 之前就一直没有重新格式化过,它可能仍在使用旧版的 Backups.backupdb 文件夹结构,规则略有不同,不过现在这种情况已经很少见了。
修复备份磁盘已满的其他方法
删除旧备份并不是唯一的办法。如果有些文件夹你并不需要被备份,比如一个很大的视频资料库,或者一个你并不在意历史版本的“下载”文件夹,可以把它们加入 Time Machine 设置中的排除列表,这样以后每次备份都会变小。你可以在 Mac 上的 Time Machine 设置中管理这份排除列表。
如果无论怎么删除或排除,空间始终不够用,Apple 官方的建议是更换一块新的、更大的备份磁盘,通常建议容量大约是 Mac 存储容量的两倍。删除旧备份只能争取到一些时间,同时也会丢掉以后可能用得上的恢复历史,所以要把它当作一种权衡,而不是一劳永逸的解决办法。如果这种情况反复出现,换一块更大的磁盘才是更持久的答案。
为什么删除之后 Time Machine 备份磁盘仍然显示已满
删除单个备份释放出的空间,往往没有你想象的那么多,因为只要文件没有变化,不同备份之间就会共享数据。相比只删除最近的一份备份,一次性删除多个较旧的备份通常能回收更多可见空间。
还有一点很多人会搞混:系统设置 > 通用 > Time Machine 下的“−”(减号)按钮并不会删除磁盘上的任何内容。它只是把该磁盘从备份目标列表中移除,也就是让系统“忘记”这个目标,并不会擦除已经存在其中的备份。如果你想真正腾出空间,请使用上面介绍的删除方法之一。你可以在 Mac 上的 Time Machine 设置中查看当前的配置情况。
如果你在清理之后要设置一块新的备份磁盘,我的如何在 Mac 上设置 Time Machine一文完整介绍了从零开始的操作步骤。另外,如果占用外置硬盘空间的不只是旧备份,还有重复文件,可以看看如何在 Mac 外置硬盘上查找和删除重复文件。想更全面地了解如何释放 Mac 本身的存储空间,如何释放 Mac 存储空间是个不错的下一站。
用 Zero Duplicates 释放更多空间
占满磁盘空间的不只是旧备份。Zero Duplicates 会通过比较实际文件内容,扫描你的外置硬盘和 Mac 上的重复文件,让你在清理备份的同时也能一并回收更多空间。