ガイド/ディスクを取り出せない
Macで外部ドライブを取り出せないときに、使っているものを見つける方法
結論
どれかのプロセスがディスク上のファイルやフォルダを開いている間は、ディスクを取り出せません。ディスクを使ったアプリを終了し、ディスク内のフォルダにいるターミナルウインドウを閉じて、もう一度試します。それでもだめなら、ターミナルでsudo lsof /Volumes/NAMEを実行してディスクを使っているすべてのプロセスを一覧表示し、それらを終了します。SpotlightとTime Machineは、たいてい1分以内に自然に離れます。書き込み中のファイルが壊れることがあるので、“強制的に取り出す”は最後の手段です。Mac用アクティビティモニタ兼プロセスインスペクタのVitalsなら、すべてのディスクを、そこでファイルを開いているアプリとともに表示し、“終了して取り出す”で、確認のあとにそれらを終了してディスクを取り出せます。
ターミナルでディスクを使っているものを見つける方法
- 01 “アプリケーション”→“ユーティリティ”にあるターミナルを開きます。
- 02
sudo lsofとスペースを入力し、Finderからディスクをウインドウにドラッグしてパスを入力してから、Returnキーを押します。 - 03 パスワードを入力します。1行が開いているファイル1つで、最初の列がプロセス、2列目がPID、最後の列がファイルです。
- 04 一覧にある各アプリを終了します。ウインドウのないプロセスには、PIDを付けて
kill <PID>を実行します。 - 05 Finderでもう一度ディスクを取り出すか、同じパスを付けて
diskutil ejectを実行します。
一覧が空なのにディスクを取り出せない場合は、1分ほど待ってからもう一度試します。macOSが書き込みを終えようとしているのかもしれません。ディスクのパスを付けてmdutil -sを実行すると、そのディスクでSpotlightのインデックス作成がオンかどうかがわかります。
macOSが使用中のディスクの取り出しを拒むのは、プログラムが使っている最中にマウント解除すると、そのプログラムが書き込んでいた内容が失われることがあるからです。Finderのメッセージはアプリの名前を示すこともありますが、示さないことのほうが多いです。下の表に、よくある原因と、それぞれを離させる方法をまとめました。
ディスクの取り出しを妨げているもの
| 使っているもの | 見分け方 | 離させる方法 |
|---|---|---|
| 書類を開いているアプリ | lsofの一覧にアプリがある、またはFinderが名前を示す | 書類を閉じるか、アプリを終了する |
| ターミナルウインドウ | 一覧にzshなどのシェルがあり、FD列がcwd | そのウインドウでcd ~を実行するか、ウインドウを閉じる |
| Spotlight | 一覧にmdsかmds_storesがある | 待つか、システム設定 → Spotlight → 検索のプライバシーにディスクを追加する |
| Time Machine | 一覧にbackupdがある、またはメニューバーでバックアップが進行中 | バックアップが終わるのを待つか、“このバックアップをスキップ”を選ぶ |
| クイックルックまたはプレビュー | 一覧にQuickLookUIServiceかプレビューがある | プレビュー表示を閉じるか、プレビューを終了する |
| ディスク上の“写真”または“ミュージック”のライブラリ | 一覧に“写真”、photolibraryd、“ミュージック”がある | アプリを終了し、ヘルパーが終わるまで数秒待つ |
| ディスクから実行されているアプリ | アプリ自体のパスがそのディスク上にある | アプリを終了する |
取り出しのメッセージの意味
Finderが表示するメッセージは2種類あります。“1つ以上のプログラムが使用している可能性があるため、ディスクは取り出されませんでした”は、何かのプロセスがディスク上で何かを開いているものの、macOSがどれかを示していないという意味です。アプリがわかっている場合は、代わりにその名前がメッセージに表示されます。どちらの場合も“再試行”は安全で、“強制的に取り出す”は何が開いていてもディスクをマウント解除します。
“強制的に取り出す”は安全ですか?
“強制的に取り出す”は、使っているプログラムがあってもディスクをマウント解除します。読み込まれていただけのファイルに害はありません。書き込み中のファイルは不完全なまま残ることがあり、開いていた“写真”、“ミュージック”、Final Cutのライブラリは、次に開くときに修復が必要になることがあります。使うのは、使っているものを見つけたのにそれが終了しないときだけにして、その前には使わないでください。
ディスクユーティリティまたはdiskutilで取り出す
ディスクユーティリティの“マウント解除”と“取り出す”はFinderと同じルールに従うので、何かがディスクを使っている間は同じように失敗します。ターミナルでは、diskutil eject /Volumes/NAMEでディスクを取り出し、diskutil unmountDisk force /Volumes/NAMEで強制的に取り出せますが、“強制的に取り出す”と同じリスクがあります。
何も使っていないように見えるとき
一度ログアウトしてからログインし直すと、自分のアプリとヘルパーがすべて終了するので、そのあとで取り出します。それで取り出せたなら、バックグラウンドのヘルパーがディスクを使っていたということです。それでもだめなら、Macをシステム終了し、電源が切れてからディスクを取り外します。システム終了すると、すべてのディスクが安全にマウント解除されます。
繰り返さないために
取り出せなくなる原因の多くは、いくつかの同じ習慣です。
- 取り出す前に、ディスク上のファイルを開いたアプリを終了する
- ターミナルウインドウをディスク内のフォルダに置いたままにしないか、先に閉じる
- 検索しないディスクは、Spotlightの検索のプライバシーに追加する
- Time Machineのバックアップが終わってから、そのディスクを取り外す
Vitalsでできること
Vitalsは、ディスクを使っているものの名前を示し、ディスクを取り出します。
- “デベロッパ”タブの“開いているファイル”:すべてのディスクを、開いているファイルの数と、“使用中”か“取り出し可能”かとともに表示
- ディスクの下に、それを使っている各アプリとプログラムを、作業しているフォルダと開いているファイルとともに表示
- “終了して取り出す”:Vitalsがアプリの名前を示して確認し、⌘Qと同じ方法で終了してから、ディスクを取り出す
- SpotlightとTime Machineは何をしているかがわかる名前で表示し、離れるまで再試行
知っておくと便利なこと
- Vitalsは強制的に取り出しません。終了しないアプリがあれば、どれかを伝え、ディスクはマウントしたままにします。
- “システム全体の計測”がオフだと、macOS自身のプロセスのファイルは表示されず、Vitalsがその数を伝えます。
- “開いているファイル”はウインドウにあり、メニューバーのドロップダウンにはありません。
よくある質問
Macで“1つ以上のプログラムが使用している可能性があるため、ディスクは取り出されませんでした”と表示されるのはなぜですか?
まだ何かのプロセスがディスク上のファイルやフォルダを開いているからです。アプリ、ターミナルウインドウ、Spotlight、Time Machineのどれかの場合があります。どれかを確認するにはsudo lsof /Volumes/NAMEを実行します。
Macで外部ドライブを使っているプログラムを確認するには?
ターミナルでsudo lsof /Volumes/NAMEを実行します。1行ごとに、プロセスと、それがディスク上で開いているファイルが表示されます。Vitalsでは、同じ内容が“開いているファイル”にアプリごとに表示されます。
Macでディスクを強制的に取り出しても安全ですか?
何も書き込んでいない場合に限ります。“強制的に取り出す”を使うと、ファイルが不完全なまま残ったり、ライブラリの修復が必要になったりすることがあります。先に使っているものを見つけて終了してください。
そのままドライブを取り外してもいいですか?
マウントされている間はやめてください。macOSがまだ書き込んでいるかもしれず、あとでディスクの修復が必要になることがあります。先に取り出すか、Macをシステム終了してください。
Spotlightが外部ドライブを使っているのはなぜですか?
Spotlightは、検索できるようにディスクのインデックスを作成しています。これは自然に終わります。ずっと止めておきたい場合は、システム設定 → Spotlight → 検索のプライバシーにディスクを追加します。
ディスクの取り出しを妨げているものを表示するアプリはありますか?
Vitalsで確認できます。“開いているファイル”セクションはすべてのディスクを、そこでファイルを開いているアプリとともに表示し、“終了して取り出す”は確認のあとでそれらを終了してディスクを取り出します。
用語集
ほかのガイド
- Macが遅い原因
- Macのバッテリーを消耗させているもの
- CPUやメモリを使っているアプリ
- Macがスリープしない原因
- Chromeのメモリ使用量が多すぎる
- Macのファンがうるさい原因
- Macのファン速度を制御する方法
- MacでRAMを解放する方法
- Dockerのメモリ使用量が多すぎる
- Dockerコンテナを停止する方法
- Mac用の音量ミキサー
- CursorのCPU使用率が高い
- Claude Codeのメモリ使用量が多すぎる
- Claude CodeとCodexの使用上限
- ClaudeアプリのCPU使用率が高い
- CodexのCPU使用率が高い
- Ollamaのメモリ使用量が多すぎる
- SSH経由のVitals
- ファイルを使っているアプリ
- アクティビティモニタの代替アプリ
- iStat Menusの代替アプリ
- Statsの代替アプリ
- Mac用のタスク マネージャー
- Mac向けシステムモニタのおすすめ
- Mac向けメニューバー型モニタのおすすめ
- Mac向け音量ミキサーのおすすめ
- Mac用htop
- Mac用Process Explorer
- Mac向けプロセスモニタのおすすめ
- Mac向け温度モニタのおすすめ