如何在 Mac 上修复“磁盘未正确推出”
“磁盘未正确推出”警告意味着某个进程在驱动器卸载之前抢占了它。这里教你如何找到它并彻底消除该警告。
你唤醒 Mac,它就出现了:“磁盘未正确推出。”你的外置驱动器在 Mac 睡眠时断开了,又或者你没先推出就拔掉了线缆。无论哪种情况,macOS 都对此很不高兴。
这条警告不只是唠叨。不当推出确实可能损坏你的数据。理解它为何发生以及如何预防,能让你免于文件损坏和工作丢失。
为什么正确推出很重要
当你在外置驱动器上处理文件时,macOS 不会立即把每一处更改写入磁盘。它会把一些数据缓存在内存中,稍后再分批写入。这样更快,也能减少对驱动器的磨损,但这意味着可能有数据悬而未决,等着被写入。
当你点按“推出”时,macOS 会把所有待处理的写入刷新到磁盘、关闭所有打开的文件句柄,并告诉驱动器可以安全断电了。只有在所有这些都完成之后,驱动器图标才会消失。
如果驱动器在这个过程完成之前断开,任何已缓存但尚未写入的数据都会丢失。更糟的是,如果驱动器当时正在写入某些东西(比如更新目录结构),你可能会落得一个损坏的文件系统。
文件系统因素
风险高低取决于驱动器的格式。HFS+(Mac OS 扩展)使用日志记录,这是一种在做出更改之前先记录更改的恢复机制。APFS 使用一种类似的保护,称为写时复制,即在释放旧数据之前先把新数据写入一个新位置。如果写入途中出了问题,这两种做法都有助于文件系统恢复到一致的状态。
exFAT 和 FAT32(在 Mac 与 Windows 共用的驱动器上很常见)没有日志记录。它们更容易因不当推出而损坏。如果你经常使用 exFAT 驱动器,正确推出就变得更加关键。
话虽如此,这些保护并非魔法。它们能从某些问题中恢复,但无法重建那些从一开始就根本没写入磁盘的数据。一个被不当推出的驱动器上的受保护文件系统,可能能正常启动,却仍然丢失了你最近的更改。
不当推出的常见原因
这条警告会在几种不同的情形下出现。
睡眠与唤醒问题:一些外置驱动器在你的 Mac 睡眠时会断电,尤其是总线供电的驱动器(从 USB 端口而非自带适配器取电)。当 Mac 唤醒时,驱动器没了,macOS 便注意到它没有被正确推出。这在使用 USB 拓展坞时尤为常见。
线缆问题:松动或失效的线缆可能导致瞬时断开。驱动器在总线上掉线几分之一秒,然后又重新连接。macOS 会把这看作一次不当推出,随后跟着一次新的连接。
USB 拓展坞不稳定:廉价的 USB 拓展坞以供电和信号问题而臭名昭著。它们多数时候可能工作正常,但偶尔会掉线,尤其是在多个设备同时取电时。
真的拔了线缆:有时最简单的解释就是对的。你需要那个驱动器,你拔掉了它,没先推出。我们都干过这事。
如何预防这条警告
断开前先推出:这看似显而易见,但它是最有效的解决办法。右键点按驱动器并选择“推出”,或把它拖到废纸篓,或使用访达边栏中的推出按钮。等图标消失后再去碰线缆。
防止睡眠断开:如果你的驱动器在睡眠期间断开,你有几个选项。系统设置在“节能”(笔记本电脑上为“电池”)下有一个“显示器关闭时阻止自动进入睡眠”的选项。你也可以找到“尽可能让硬盘进入睡眠”并禁用它。
使用优质的线缆和拓展坞:如果你正经历随机断开,换一根线缆试试。USB-C 线缆的质量尤其参差不齐。拓展坞也一样。带电源的拓展坞(自带交流适配器的那种)比总线供电的更可靠。
检查驱动器健康状况:正在损坏的驱动器可能表现出间歇性的连接问题。如果你在某个特定驱动器上频繁看到这条警告,请对它运行磁盘工具的“急救”。也要考虑一下这块驱动器是不是快要坏了。
当推出不奏效时
有时你试图正确推出,macOS 却拒绝,说磁盘正在使用。这令人沮丧,但至少你在断开之前就知道了问题所在。
通常的肇事者是某个在驱动器上打开了文件的进程。它可能是聚焦正在为驱动器编制索引、一个当前目录位于该驱动器的 Terminal 窗口,或一个尽管你已关闭文稿窗口、却仍打开着文件的应用程序。
你可以打开 Terminal 并运行以下命令,来查清是什么在阻止推出:
sudo lsof /Volumes/YourDriveName
这会列出每一个在该驱动器上打开着文件的进程。一旦你辨认出阻止者,就可以退出那个应用程序或终止那个进程,然后再试着推出。
如果你还是看到了这条警告
已经收到警告了?这里是该做的事。
首先,检查驱动器是否真的重新连接上了。如果你在桌面上或访达里看到它,那它就回来了。如果没有,就重新连接它。
对该驱动器运行磁盘工具的“急救”。这会检查文件系统错误并尽力修复。即便一切看起来都好,不当推出后也值得运行一次,以捕捉任何细微的损坏。
从驱动器打开几个你最近正在处理的文件。确认它们能正确打开并包含你最新的更改。如果断开时有东西正在写入,你就能这样发现问题。
对于你不常使用的驱动器,可以考虑即便没看到警告也定期运行“急救”。小问题会随时间累积。
省去手动步骤: Ejecta 会准确告诉你是哪个进程在占用硬盘——只需在菜单栏中点击一下即可退出它。 了解更多 →
更顺畅的工作流程
如果你总是在和推出问题较劲,那问题可能出在工作流程本身。在 Terminal 里翻找阻止进程、手动终止它们、然后再试着推出——这很快就会让人厌烦。
Ejecta 驻留在菜单栏中,让你一眼看清驱动器状态。当有东西在阻止推出时,它会明确告诉你是什么,并让你一键解决。无需 Terminal,无需猜测,无需祈祷着拔掉线缆。
“磁盘未正确推出”警告的存在是有原因的。你的数据值得你花上那几秒钟去安全推出。但当 macOS 不让你推出时,你需要的是一种快速解决它的办法,而不是一个干脆强制断开的理由。
如果你不想每次都动用终端,Ejecta 会准确告诉你是哪个进程在占用硬盘——只需在菜单栏中点击一下即可退出它。
立即购买 — $9.99