如何在 Mac 上安全推出外置硬盘

学习在 macOS 上安全推出外置硬盘的正确方法。通过我们的全面指南避免数据损坏并修复“磁盘正在使用”错误。

不先推出就把外置硬盘从 Mac 上拔下来,是在赌运气。虽然现代 macOS 版本比过去更具韧性,但在写入途中拔掉连接仍可能导致文件损坏、目录结构损毁,或驱动器在你下次插入时拒绝装载。

为确保数据完好无损,你必须遵循一套特定的流程,告诉 macOS 完成所有待处理的写入操作并安全地卸载文件系统。

推出驱动器的标准方法

macOS 提供了几种内置方法来触发安全推出。根据你偏好的系统操作方式,你可以使用以下任意一种:

1. 使用访达边栏

访达边栏往往是管理多个驱动器最快捷的方式。打开一个访达窗口,查看边栏中的“位置”部分。在外置驱动器名称旁边,你会看到一个小小的推出图标(一个下方带横线的三角形)。点按该图标即可启动卸载流程。

2. 使用桌面图标

如果你已将访达设置配置为在桌面上显示外置磁盘,你只需点按驱动器图标并将其拖到程序坞中的废纸篓即可。你会注意到,在拖动过程中废纸篓图标会变成推出图标。这是一个直观的确认,表明 macOS 正准备断开该设备。

3. 使用右键菜单

对于偏好快捷菜单的用户,你可以右键点按(或按住 Control 键点按)桌面上或访达窗口中的驱动器图标。从下拉菜单中选择推出“[驱动器名称]”

4. 使用“文件”菜单

如果你已有一个处于活动且被选中状态的访达窗口,你可以前往顶部的菜单栏,选择文件 > 推出“[驱动器名称]”

提示: 如果你习惯以键盘为中心的工作流程,你可以在访达中选中驱动器图标,然后按 Command + E 立即触发推出。

为什么 macOS 说“磁盘正在使用”

Mac 用户最常见的挫败感,来自“磁盘未正确推出”的警告,或“磁盘未能推出,因为可能有一个或多个程序正在使用它”的错误对话框。

之所以会这样,是因为 macOS 使用了一套“缓存”机制。为了提升性能,macOS 并不总是在你保存文件的那一毫秒就把数据写入物理硬盘;相反,它会把这些数据暂存在一个临时缓冲区(内存)中。当你尝试推出时,macOS 会检查是否仍有进程对驱动器持有“锁”,或缓冲区中是否还有尚未物理写入的数据。

如果某个进程仍在访问该驱动器,macOS 就会阻止推出,以防该进程试图向一个已不存在的驱动器写入——这正是数据损坏的首要原因。如果你发现自己陷入了这个循环,你或许需要参阅一份指南:macOS“磁盘正在使用”错误:排查指南,以理解底层的系统行为。

阻止驱动器的常见肇事者

当 macOS 告诉你某个磁盘正在使用时,它很少告诉你哪个 App 才是肇事者。通常,它是以下后台进程之一:

聚焦索引

聚焦会不断扫描已连接的驱动器,为文件编制索引以供搜索。如果你刚插入一个大容量驱动器,或往上面移动了成千上万个文件,聚焦很可能正在后台埋头苦干。这可能让驱动器“忙碌”好几分钟。

云同步服务

iCloud、Dropbox 和 Google Drive 这类服务以扣住驱动器而声名狼藉。如果你的外置驱动器上有一个正同步到云端的文件夹,这些应用程序就会与该驱动器保持持续的连接以监测变化。你可以在我们的指南如何阻止 iCloud 和 Dropbox 妨碍驱动器推出中进一步了解如何管理这些特定的中断。

快速查看预览

如果你打开了一个访达窗口并正在滚动浏览文件,macOS 会使用一项名为快速查看的功能来生成预览。如果你选中了一个大体积视频文件或一个复杂的 PDF,快速查看进程可能会扣住驱动器以完成该预览的渲染。如果这是你的主要问题,请参阅快速查看正在扣押你的驱动器

专业视频剪辑软件

对于创意专业人士来说,Final Cut Pro 或 Adobe Premiere Pro 是常见的肇事者。即便你以为自己已经结束了工作,这些 App 也常常仍保持着“后台渲染”任务或媒体连接处于活动状态。如果你从事视频工作,请查阅在 Final Cut Pro 中使用外置驱动器而不出现推出问题,了解专门的工作流程。

高级排查:使用 Terminal

如果标准的图形界面方法都失败了,而你又无法通过活动监视器辨认出肇事者,你可以使用 Terminal 来获得更深入的洞察。

lsof 找出阻止的进程

lsof(列出打开的文件)命令是一个强大的工具,它能确切地告诉你哪个进程在你的外置宗卷上打开了文件。

  1. 打开 Terminal(位于“应用程序 > 实用工具”中)。
  2. 输入以下命令,将 [DriveName] 替换为驱动器的实际名称: lsof | grep /Volumes/[DriveName]
  3. 这会返回一份进程列表。第一列将显示占用着驱动器的应用程序或进程的名称。

要更深入地了解如何有效使用这条命令,请阅读面向 Mac 用户的 lsof 命令详解

通过 diskutil 强制推出

如果你确信没有关键数据正在被写入,你可以尝试通过命令行卸载驱动器:

  1. 在 Terminal 中输入:diskutil list 以找到驱动器的标识符(例如 disk4s1)。
  2. 输入:diskutil eject /dev/disk4(将 disk4 替换为你的具体标识符)。

文件系统在推出中的作用

驱动器的格式也会影响 macOS 如何处理推出,以及它出错的概率有多高。

格式 最佳用途 在 Mac 上的推出表现
APFS 仅限 macOS 的存储(SSD) 高度优化;卸载非常快速且安全。
Mac OS 扩展(HFS+) 较旧的仅限 Mac 的存储(HDD) 较旧 macOS 版本的标准格式;非常稳定。
exFAT 跨平台(Mac 与 Windows) 处理大文件更快,但若未正确推出则更易损坏。
FAT32 小容量 U 盘 / 旧设备 兼容性高,但文件大小受限且出错风险更高。

如果你正在为一个新驱动器在各种格式之间做抉择,请参阅我们的对比:APFS 与 exFAT:你的 Mac 外置驱动器该用哪种格式

当一切方法都失败时该怎么办

有时,你正赶时间,或系统完全失去响应。你可能会忍不住想“强制推出”或干脆拔掉线缆。

警告: 在驱动器正积极写入数据时强制推出,是“磁盘不可读”错误最常见的原因。虽然它可能有 90% 的时候都管用,但那 10% 的失败率可能导致该宗卷上的数据全部丢失。

如果你实在必须强制推出,请按顺序尝试以下步骤:

  1. 退出肇事的 App: 使用活动监视器强制退出由 lsof 辨认出的进程。
  2. 重新启动你的 Mac: 这会清除所有活动进程和文件锁,使其成为最安全的“核选项”。
  3. 通过磁盘工具强制推出: 打开磁盘工具,选择该驱动器,并点按那里的推出按钮。

要理解这一最后手段所涉及的技术风险,请阅读在 Mac 上强制推出安全吗?

安全推出的总结清单

为避免今后的烦恼,在拔下驱动器之前,请遵循这份简短的心理清单:

  • 关闭所有文件: 确保来自该驱动器的任何文稿、视频或项目都没有在任何应用程序中打开。
  • 检查云端状态: 确保 Dropbox、iCloud 或 OneDrive 已完成同步。
  • 等待“闪烁”停止: 如果你的驱动器有物理活动指示灯,在尝试推出前请等待它停止闪烁。
  • 使用推出命令: 始终使用正式的 macOS 推出方法,而不只是拔掉线缆。

如果你发现自己总是要和 macOS 较劲才能让驱动器断开,那你不必再手动去做了。

别再猜是哪个进程在阻止你的驱动器了。

试用 Ejecta,看清究竟是什么在扣押你的外置驱动器,并一键退出它。