F.Ko-Jiの「一秒後は未来」

Macですべてのアプリを終了してるにも関わらず外付けディスクを取り出せない状態になったら

ディスクを交換したことが原因なのか定かではないのですが、MacBook Airに外付けハードディスクやmicroSDカードリーダーなどを接続すると、使用したアプリケーションを終了しているにも関わらず「1つ以上のプログラムが使用している可能性があります。」と出てディスクを取り外せないという事態になってしまいました。

mac-volume-unmount-problem-01.jpg

↑ アプリケーションでファイルを開いたままだと、こういうの出ますよね。

本来は使用しているアプリケーションをすべて終了させれば取り外せるようになるのですが、今回はMacの電源を落とさないと無理な状態に。

これはきっと何かのプロセスが悪さしているに違いないと思ったのですが、じゃあどうやって調べればいいのだろう・・・と色々ググって以下のページを見つけました。

» 外付けHDDがアンマウントできない: Apple サポートコミュニティ

ターミナルで下記のコマンドから、どのファイルが開いているのか確認してみては如何でしょうか。

sudo lsof /Volumes/[W社のHDのボリューム名]

lsof コマンドでボリュームを指定すればOKと。早速コマンドを実行してみると、今回の場合は「mds」というコマンドがディスク内のファイルを大量に使用中と出ました。

mac-volume-unmount-problem-02.jpg

↑ 使用中のファイルに「.Spotlight」の文字が・・・。

この「mds」というのはどうやら Spotlight のプロセスのようです。(またお前かw)

だったら Spotlight のプライバシー設定で除外項目が設定できたはずでは、と思ってやってみたのですがエラーで除外できず、今回は仕方なく Spotlight を無効にすることにしました。

» How to Disable (or Enable) Spotlight in Mac OS X Mountain Lion

このページにある通りですが、Mountain Lion の場合以下のコマンドで Spotlight を無効にできます。

sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.metadata.mds.plist

逆に再度有効にしたい場合は以下のコマンドで。

sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.metadata.mds.plist

ちなみに「mdutil」というコマンドを使うとボリューム指定で Spotlight のインデクシングを無効にしたりインデックスの再構築したりできるようですが、今回の問題のボリュームに対してはなぜか効きませんでした。

というわけで、これでようやく外付けディスクを取り外せるようになりました。もしすべての起動中のアプリケーションを終了しているのも関わらず、外付けハードディスクやらメモリーカードやらを取り外せない状態になったら、lsofコマンドで使用中のファイルを調べるということを覚えておきましょう。

P.S. あとこのあたりのコマンドはすべて「ターミナル」というアプリケーションを起動して実行しますが、よく分からない場合は周りの詳しい人に聞いてみてください。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

著者について

fkoji

F.Ko-Ji

Webエンジニアやってます。最近は ドットインストール の開発がお仕事です。その傍ら、個人で Meity電車遅延なう梅酒.in#グラドル自画撮り部 の部室といったネットサービスを開発・運営してます。梅酒と草野球とリアル脱出ゲームが好きです。

» 詳しいプロフィールや運営サービスの一覧など