MacでUSBメモリを取り出せなくなったときの対処法

久しぶりに取り出せなくなって2時間くらいハマってなんとか解決したので備忘録として残しておく。最近は取り出せなくなることがなかったのだが、今までは諦めて強制的に取り出すか電源を切って外していたので、実は初めて解決できた。

一般的な解決方法としては、まずはすべてのアプリケーションを終了する。ログアウトしてから再度ログインし、もう一度ディスクを取り出してみる。それでダメなら電源を切る。というものがある。電源を切るのはできればやりたくない。ログアウトすると解決することも多いのだが、今回はできなかった。

他にはSpotlightが原因にもなるらしい。オープン中のファイルを表示するlsofというコマンドがあり、試してみた。work2019はUSBメモリーのボリューム名で、以下のコマンドを実行してみたところmdsやmds_storesといったプロセスが表示された。

sudo lsof /Volumes/work2019

macOS Ventura 以降では、システム設定(システム環境設定)のサイドバーで「Siri と Spotlight」を開き、一番下にある「Spotlight のプライバシー」をクリックすると検索から除外する場所のリストを開ける。ここで追加ボタンをクリックしてUSBメモリーのルートディレクトリを選択した。しかしまだ外せない。これだけではmdsは止まっていなかった。

Applications(アプリケーション)のUtilities(ユーティリティ)にあるActivity Monitor.app(アクティビティモニタ)でmdsやmds_storesを選択し(一つずつ選択する)、ウインドウの左上隅にある「停止」ボタンをクリックする。強制終了ではなく終了で大丈夫みたいだった。これでやっとエラーなく取り出しできた。

つい最近Venturaにアップグレードして、このUSBメモリーはアップグレード直前に久しぶりに使ったもので、アップグレードと何か関係があるんだろうかとも思った。Spotlightのプロセスが動いていたのかなんなのかファイルの読み込みが少し重い気がしたので、もしかしたら一度に大量にファイルを保存したのが原因かもしれない。USB端子が二つあるけどとても近くにあるせいで充電はできないんで、いままではあきらめてたけど今回はなんとかなって良かった。

まとめとしては、とりあえず以下を上から順番に試してみる。一つの項目を試しても取り出せないなら、ログアウトしてからログインして再度取り出してから次を試す。

  • アプリケーションをすべて終了する

  • ログアウトしてから再度ログインする

  • lsofコマンドで現在開いているファイルを確認する

  • Spotlightを無効にする、除外する

  • lsofコマンドを再度実行し、もしまだmds_stores等のプロセスが動いていたらアクティビティモニタで終了する

  • それでもダメならシステム終了するか取り出せないのウィンドウで強制的に取り出すをクリックする

参考