在 Mac 上强制推出安全吗?

强制推出可能是安全的——也可能损坏你的文件。区别就在于一件你几秒钟就能检查的事。这里说明何时安全、何时该等待。

你的驱动器推不出来。你还有地方要去。强制推出的选项就摆在那里。但你听过关于文件损坏和驱动器损毁的恐怖故事。强制推出到底安不安全?

诚实的答案是:这完全取决于你这样做时正在发生什么。

强制推出究竟做了什么

当你通过 macOS 强制推出(按住 Option 键点按驱动器并选择“强制推出”,或使用磁盘工具)时,你是在告诉系统停止所有磁盘操作并立即卸载该宗卷。这和直接拔掉线缆不同。

macOS 的强制推出命令会在释放驱动器之前,尝试从容地终止待处理的操作。它不是一次干净的关机,但也不是突然的断电。驱动器有片刻时间停下它正在做的事。

问题在于,“停下手头的事”并不等于“做完手头的事”。任何正在传输途中的数据,都会停在当时的进度上被直接丢弃。

何时强制推出多半没问题

如果阻止的进程只是在读取文件,那么强制推出几乎总是安全的。读取不会修改驱动器,所以没有什么可损坏的。聚焦索引、快速查看生成预览,或一个为查看而打开着文件的应用程序,这些都是读取操作。强制推出会中断它们,但你的数据保持完好。

如果你完成了工作并关闭了一切,驱动器却仍然无法推出,那么强制推出通常也没问题。阻止者很可能是某个对驱动器持有陈旧引用的后台进程,实际上并没有什么正在进行、可能被损坏的操作。

如果你正在推出一个本次会话中你只读取、从未写入的驱动器,那么强制推出是安全的。没有写入就没有不完整写入的风险。

何时强制推出有风险

如果你在任何地方看到进度条,停下。正在进行的文件拷贝、向驱动器的下载,或应用程序的存储操作,是强制推出最危险的时刻。正被写入的文件几乎肯定会损坏或不完整。

如果你刚完成一次拷贝操作,等一等。macOS 出于性能会使用写入缓存。看似已完成的传输,可能仍有数据留在内存中等着被刷新到磁盘。进度条可能在实际写入完成之前就消失。在看似完成后给它 30 秒,再强制推出。

如果驱动器是一个正处于备份途中的时间机器备份,要小心。在备份途中中断时间机器可能损坏备份目录,潜在地影响你的整个备份历史,而不只是当前这次备份。

如果某个应用程序在处理驱动器上的文件时崩溃了,情况就不可预测。该 App 可能有一次写入正在进行。强制推出只会在原有故障之上再添一个新故障。

实际可能出什么差错

最坏的情况是文件系统损坏。如果在你强制推出时,驱动器正在更新目录结构(那些告诉系统文件位于何处的元数据),那些结构可能会处于不一致的状态。这可能让文件无法访问,或导致整个驱动器无法装载。

更常见的是,你会得到单个文件的损坏。正被写入的那个文件变得无法读取或被截断。这很糟,但至少它仅限于那一个文件。

对于 APFS 和 HFS+ 驱动器,日志记录(在 APFS 的情形下是写时复制)提供了一些保护。即便被中断的文件丢失了,文件系统通常也能恢复到一致的状态。exFAT 和 FAT32 驱动器没有这种保护,更容易遭受大范围的损坏。

在少数情况下,反复的强制推出可能助长驱动器的硬件问题。SSD 和 HDD 是为应对突然断电而设计的,但这对它们没有好处。

如何安全地强制推出

如果你已决定强制推出是必要的,这里是最安全的做法。

首先,检查到底是什么在使用驱动器。打开 Terminal 并运行:

sudo lsof /Volumes/YourDriveName

查看输出。如果你看到像 mds(聚焦)或 QuickLookUIService 这样的进程,你多半是安全的。如果你看到你正在积极使用的应用程序,那就三思。

其次,试着正常退出那些阻止的应用程序。在你强行处理之前,给它们一个干净地关闭文件的机会。

第三,使用 macOS 的强制推出,不要直接拔掉。右键点按驱动器(或按住 Option 键点按)并选择“强制推出”。或者打开磁盘工具,使用那里的卸载按钮。这给了系统一个终止操作的机会。

第四,等待图标消失。强制推出不是瞬间完成的。驱动器图标应当从你的桌面消失。只有到那时,物理断开才是安全的。

最后,如果驱动器是一个时间机器备份,或存有你正在积极编辑的文件,请在下次连接它时对它运行磁盘工具的“急救”。这会检查并修复文件系统问题。

省去手动步骤: Ejecta 会准确告诉你是哪个进程在占用硬盘——只需在菜单栏中点击一下即可退出它。 了解更多 →

更好的做法

强制推出的存在是有原因的,但它是最后的手段。如果你发现自己经常要用到它,那你的工作流程就出了某种问题。

底层的症结通常在于你不知道是什么在阻止驱动器。macOS 给你一条含糊的错误消息,留你去猜。你要么盲目地强制推出、祈祷一切顺利,要么开始在活动监视器和 Terminal 里翻找。

Ejecta 通过明确告诉你究竟是什么在使用每个驱动器来解决这一点。你无需盲目强制推出,而是可以看清聚焦正在编制索引(可安全退出),还是 Photoshop 打开着一个文件(也许先保存)。你做的是明智的决定,而不是赌博。

当没有任何东西正在积极向驱动器写入时,强制推出是安全的。问题在于如何知道那是不是真的。没有那份信息,你就只是在掷骰子。

如果你不想每次都动用终端,Ejecta 会准确告诉你是哪个进程在占用硬盘——只需在菜单栏中点击一下即可退出它。

立即购买 — $9.99