为什么聚焦会阻止磁盘推出

聚焦索引是你无法推出外置驱动器最常见的原因之一。这里教你如何应对它。

你试着推出外置驱动器,macOS 却拒绝了。你检查活动监视器,看到名为 mdsmds_stores 的进程正在访问你的驱动器。恭喜你,你遇上了聚焦索引。

这大概是 Mac 上外置驱动器无法推出最常见的原因。聚焦想要为一切编制索引,好让你日后能搜索,它才不管你两分钟后就得去开会。

聚焦究竟在做什么

聚焦的索引系统通过几个后台进程运行。主要的一个是 mds(元数据服务器),它协调整个操作。然后是 mds_stores,它处理已索引元数据的实际存储。你可能还会看到 mdworkermdworker_shared 在干读取、归类文件的重活。

当你连接一个外置驱动器时,聚焦把它当作一片待探索的新领地。它开始扫描每一个文件、提取元数据,并构建一个可搜索的索引。除非你明确告诉过聚焦别碰那个驱动器,否则这都会自动发生。

问题在于,聚焦在工作时会保持文件句柄打开。只要那些句柄存在,macOS 就认为驱动器“正在使用”,不会让你推出它。

如何检查聚焦是否是罪魁祸首

打开活动监视器(讽刺的是,可以在聚焦里搜索它),查找这些进程名称:mdsmds_storesmdworkermdworker_shared。如果其中任何一个在进程信息里显示了你外置驱动器的名称,那聚焦就是罪魁祸首。

你也可以从 Terminal 检查。运行这条命令,把驱动器名称替换成你的:

lsof /Volumes/YourDriveName

如果你在输出中看到与 mds 相关的进程,那就是聚焦在攥着你的驱动器。

快速修复:临时禁用索引

最快的解决办法是为那个特定的宗卷关闭聚焦索引:

sudo mdutil -i off /Volumes/YourDriveName

你需要输入密码。命令完成后,聚焦会释放该驱动器,你应该就能正常推出了。

当你稍后重新连接该驱动器、又想恢复索引时:

sudo mdutil -i on /Volumes/YourDriveName

永久修复:彻底排除该驱动器

如果你永远不想让聚焦为某个特定的外置驱动器编制索引,你可以把它添加到隐私列表。

打开系统设置,前往 Siri 与聚焦(在较旧的 macOS 版本上就是聚焦),然后点按底部的“聚焦隐私”。把你的外置驱动器拖进这个列表,或点按加号按钮来添加它。

在这个列表上的驱动器会被聚焦完全忽略。你将无法从聚焦菜单搜索它们的内容,但它们每一次都会瞬时推出。

还有一个使用隐藏文件的技巧。在你外置驱动器的根目录创建一个名为 .metadata_never_index 的空文件:

touch /Volumes/YourDriveName/.metadata_never_index

聚焦会检查这个文件,并跳过为任何含有它的宗卷编制索引。这对于你在多台 Mac 之间搬动的驱动器很有用,因为这项设置跟着驱动器走,而不是存储在每台电脑上。

当聚焦不肯松手时

有时聚焦会卡住。你已经禁用了索引,但那些进程仍不肯释放驱动器。在活动监视器中,你可以选中那个肇事的 mds 进程并点按 X 按钮来强制退出它。

请注意,强制退出系统进程可能引发暂时的怪异现象。聚焦会自动重启,但你可能会看到短暂的变慢,或需要等一会儿一切才安定下来。

如果在终止聚焦进程后驱动器仍无法推出,那就是还有别的东西也在占用着它。再运行一次 lsof 命令,看看还剩下什么。

为什么这种情况总是发生

每次你连接外置驱动器时,除非你已把它排除,否则聚焦都会重新开始为它编制索引。即便是你以前用过的驱动器,如果它的索引过时或损坏,也会被重新编制索引。

macOS 更新也可能重置聚焦的隐私设置。一些用户报告说,在升级到新的 macOS 版本后,他们先前排除过的驱动器又突然被编制索引了。重大更新后值得检查一下你的聚焦隐私列表。

更简单的做法

每次想拔个驱动器都要在活动监视器和 Terminal 里翻找,很快就会让人厌烦。Ejecta 明确告诉你究竟是哪些进程在阻止推出,并让你一键退出它们。具体到聚焦,它会辨认出相关的 mds 进程并干净地处理它们,这样你就不必去猜该终止哪一个,也不必担心系统稳定性。

底层的问题(聚焦积极地为外置驱动器编制索引)短期内不会消失。但应对它,不必每次你需要带着驱动器出门时都变成一项研究课题。

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

立即购买 — $9.99