时间机器不让你推出驱动器
你的时间机器驱动器无法推出,因为 backupd 或聚焦仍在访问它。了解如何辨认阻止的进程并安全断开。
你完成了备份。时间机器显示已完成。你点按推出,macOS 却告诉你磁盘正在使用。听起来耳熟吗?
快速答案: 你的时间机器驱动器无法推出,是因为
backupd(时间机器的后台守护进程)或聚焦的mds/mds_stores进程仍在使用它。在 Terminal 中运行lsof /Volumes/YourDriveName确认,然后用sudo mdutil -i off “/Volumes/YourDriveName”停止对该驱动器的聚焦索引,再试着推出。强行拔掉线缆有损坏你备份的风险。
这在时间机器驱动器上不断发生,是 Apple 这套原本出色的备份系统中最令人沮丧的部分之一。备份完成了,却有东西一直攥着驱动器不放。你被困在两难之间:要么拔掉线缆(别这么做),要么无限期地等待某个神秘的进程完成。
罪魁祸首几乎总是两者之一:backupd 守护进程尚未完全释放驱动器,或聚焦正忙着为你的备份编制索引。有时两者兼有。
为什么 backupd 会攥着你的驱动器
时间机器备份由一个名为 backupd 的后台进程处理。当你看到那个备份进度条走完时,备份中可见的部分完成了,但 backupd 往往会在后台继续工作。它可能在更新元数据、验证备份完整性,或清理临时文件。
在 Apple 芯片的 Mac 上,backupd 在能效核心上运行,以尽量减少对你工作的影响。这对性能很好,但意味着清理任务可能比你预期的更久。这个进程被设计得不引人注意,而这有时也意味着它很慢。
你可以打开活动监视器并在搜索框中搜索“backup”,来检查 backupd 是否仍处于活动状态。如果你看到 backupd 或 backupd-helper 列在其中,那时间机器还没有完全释放驱动器。
聚焦让情况更糟
接下来这部分让大多数人措手不及:macOS 会用聚焦为时间机器备份编制索引。这让你能直接从聚焦搜索你的备份历史,当你需要找一个文件的旧版本时,这确实有用。
问题在于,聚焦索引可能在你的备份完成后很久仍在继续。mds 和 mds_stores 进程(聚焦的元数据服务器)会在你的备份驱动器上忙活好几分钟,在大型备份上有时甚至好几小时。
你会在活动监视器中看到这些进程正访问你的时间机器宗卷。它们做的是正当的工作,但同时也在阻止你推出驱动器。这正是大量“磁盘正在使用”错误背后同样的根本原因——我们在 macOS 磁盘正在使用排查指南和专门的聚焦推出问题中讲解了完整的图景。
安全地检查是什么在阻止推出
在强行做任何事之前,你应当确认到底是什么在访问你的驱动器。打开 Terminal 并运行:
lsof /Volumes/YourDriveName
将“YourDriveName”替换为你的实际驱动器名称。如果它含有空格,就用引号把整个路径括起来:
lsof "/Volumes/Time Machine Backup"
这条命令会列出每一个在该宗卷上打开着文件的进程。你很可能会在结果中看到 mds、mds_stores、backupd 或访达。现在你就确切知道该处理什么了。(要更深入地了解 lsof,请参阅我们的面向 Mac 用户的 lsof 命令指南。)
临时停止聚焦索引
如果聚焦是问题所在,你可以临时为你的备份驱动器禁用索引:
sudo mdutil -i off "/Volumes/YourDriveName"
这会停止聚焦为那个特定宗卷编制索引。命令完成后,再试着推出。它应该会成功。
当你为下次备份重新连接该驱动器时,你可以重新启用索引:
sudo mdutil -i on "/Volumes/YourDriveName"
或者,如果你反正从不通过聚焦搜索你的时间机器备份,那就让它一直关着。许多用户发现自己并不需要这项功能,而更喜欢更快的推出。
省去手动步骤: Ejecta 会准确告诉你是哪个进程在占用硬盘——只需在菜单栏中点击一下即可退出它。 了解更多 →
停止一个进行中的备份
如果 backupd 仍在运行,最干净的解决办法是通过菜单栏停止时间机器。点按时间机器图标并选择“跳过此次备份”或“停止备份”(措辞因 macOS 版本而异)。这告诉系统从容地收尾它正在做的事。
停止后等一两分钟,然后再试着推出。驱动器应该会被释放。
如果你的菜单栏里没有时间机器图标,你也可以从系统设置(在较旧的 macOS 版本上为系统偏好设置)停止备份。前往时间机器设置并临时将它关闭。
当别的办法都不奏效时
有时某个进程就是不肯松手。在你诉诸强制推出之前(我们写过强制推出是否安全——简而言之:通常没事,偶尔有事),试试这套流程:
首先,注销当前用户账户,再重新登录。这会终止大多数可能打开着文件的用户级进程。
如果那不奏效,你可以从活动监视器强制退出特定的进程。选中那个进程,点按工具栏中的 X 按钮,然后选择“强制退出”。对系统进程要小心,因为退出它们可能引发不稳定。
作为最后的手段,完全重启肯定会释放驱动器。关闭你的 Mac,等它完全断电,然后断开驱动器。这始终是安全的,因为 macOS 在关机过程中会刷新所有待处理的写入。
绝不要在你的 Mac 运行时直接拔掉线缆。时间机器驱动器使用 APFS(带写时复制保护)或 HFS+(带日志记录),它们有助于防止损坏,但在一次活动的写入操作进行期间发生意外断开,仍可能损坏你的备份目录,或让你的备份处于不一致的状态。
更快的做法
如果你已厌倦每次想拔备份驱动器时都在 Terminal 命令和活动监视器里翻找,Ejecta 会自动处理这一切。它驻留在菜单栏中,明确告诉你是哪些进程在阻止推出,并让你一键退出它们。
具体到时间机器驱动器,Ejecta 会辨认出究竟是 backupd、聚焦索引,还是别的什么,并给你有针对性的选项来安全释放驱动器。无需记忆 Terminal 命令,无需猜测该退出哪个进程。
预防今后的推出问题
几个习惯能减少你撞上这个问题的频率。
在备份完成后给它几分钟,再试着推出。进度条走完并不意味着所有后台工作都完成了。如果你不需要通过聚焦搜索时间机器备份,就在系统设置中把你的备份驱动器添加到聚焦隐私列表。这会彻底阻止索引,让推出快得多。你或许还可以考虑把备份安排在你不需要立即断开驱动器的时段,比如夜间或午餐时间。
时间机器值得你偶尔为推出费点周折。拥有可靠的备份太重要了,不该仅仅因为推出过程有时恼人就略过它。但你不该非得去猜是什么在阻止你的驱动器,也不该担心不当断开带来的损坏。合适的工具能让整个过程毫无痛苦。
如果你不想每次都动用终端,Ejecta 会准确告诉你是哪个进程在占用硬盘——只需在菜单栏中点击一下即可退出它。
立即购买 — $9.99