Mac がスリープから復帰すると外付けドライブが取り出せない問題
Mac がスリープから復帰すると「ディスクが正しく取り出されませんでした」と表示されますか?なぜ起きるのか、そして macOS Sonoma と Sequoia でこれを根本から止める方法を解説します。
Mac がスリープに入り、目を覚ますと、そこに現れるのが「ディスクが正しく取り出されませんでした」という表示です。ドライブはまだ物理的に接続されたままで、どこにもおかしなところはないのに、macOS は何かがうまくいかなかったと確信しています。これは偶然の出来事ではありません。M チップ搭載の Mac mini から MacBook Pro まで、あらゆる機種に影響するよく知られたパターンであり、少なくとも Ventura の頃から Apple のディスカッションスレッドに登場し続けています。
ここでは、実際に何が起きているのか、そしてそれに対して何ができるのかを解説します。
なぜスリープが取り出しエラーを引き起こすのか
Mac がスリープに入ると、ほとんどのプロセスが一時停止されます——ただし、必ずしもきれいで秩序だった形でとは限りません。問題は、macOS が、USB や Thunderbolt のバスに接続されたドライブを適切にマウント解除する前に、そのバスへの電源を切ってしまうことがある点です。ドライブの側から見れば、接続がセッションの途中で突然消えたように見えます。macOS は復帰時にこれを検出し、ドライブに触れていなくても、不適切な取り出しとして報告するのです。
具体的には、いくつかの仕組みが関係しています。
- USB バス電源の一時停止。 ディープスリープ中、macOS は USB ポートへの電源を完全に切ることがあります。これをうまく処理できないドライブは、適切なマウント解除の手順を経ずに接続を失います。
- バックグラウンドプロセスがまだ書き込み中。 Spotlight のインデックス作成、Time Machine、クラウド同期エージェント、さらには Finder までもが、スリープが始まったときに処理の途中である場合があります。それらが悪いタイミングでドライブに触れていると、強制的な一時停止がファイルシステムにはクラッシュのように見えます。
- 復帰時の Thunderbolt/USB 3 のネゴシエーション。 一部のドライブ——特に外付け SSD——は、復帰時に接続プロトコルを再ネゴシエーションしなければなりません。そのハンドシェイクが失敗したり時間がかかりすぎたりすると、macOS は諦めて、そのドライブを不適切に取り出されたものとして記録します。
これはMac で外付けドライブが切断され続けるというより広いパターンと密接に関連していますが、スリープ/復帰という引き金があることで、より予測しやすく、そして幸いにもより直しやすくなっています。
本当に危険なのか
「ディスクが正しく取り出されませんでした」という警告を繰り返し目にするなら、真剣に受け止める価値があります。回転式のハードドライブの場合、書き込み中の突然の切断はファイルシステムの破損を引き起こすことがあります。SSD の場合、リスクは低いもののゼロではありません——不完全な書き込みによって、ファイルが整合性のない状態で残ることがあります。
実際のリスクの程度を理解したい方は、外付けドライブを取り出さずに引き抜くと壊れる? がその仕組みを詳しく取り上げています。手短に言えば、スリープが引き金となる切断がたまに起きる程度ならデータを破壊する可能性は低いものの、繰り返し起きる場合——特に書き込みが活発なとき——は、無視するのではなく解決すべき問題です。
警告: ドライブが APFS でフォーマットされている場合、不適切な取り出しが繰り返されることによるファイルシステムの不整合は、ときにディスクユーティリティでの First Aid 修復を必要とすることがあります。こうしたエラーが続いた後で動作が遅くなったりファイルが見当たらなくなったりした場合は、そのドライブに対してディスクユーティリティ → First Aid を実行してください。
ステップごとの対処法
1. ドライブが接続されている間は macOS をスリープさせない
最も確実な対処法は、外付けドライブが接続されているときに Mac がシステム全体のスリープに入らないようにすることです。バッテリー駆動のノートでは必ずしも現実的ではありませんが、デスクトップやワークステーションとして使う Mac には、これが正しい答えです。
macOS Ventura 以降の場合:
- システム設定 → バッテリー(デスクトップ Mac では省エネルギー)を開きます。
- **「ディスプレイがオフのときに自動でスリープさせない」**を有効にします——MacBook では、電源接続時に適用されるよう設定します。
- **「次の時間が経過後にディスプレイをオフにする」**で、ディスプレイを別途スリープするように設定します。システムをスリープさせずに、ディスプレイだけをスリープさせることができます。
これにより USB/Thunderbolt バスが動作したままになり、電源状態が変わる前にバックグラウンドプロセスがきれいに処理を終えられます。
2. Power Nap(およびネットワークアクセスによる起動)を無効にする
Power Nap は、スリープ中に Mac がバックグラウンドタスクを実行できるようにする機能です——しかし、接続されたドライブとうまくかみ合わない部分的な起動サイクルを引き起こすこともあります。
- システム設定 → バッテリー → オプション(または省エネルギー → Power Nap)に移動します。
- Power Nap をオフにします。
- **「ネットワークアクセスによってスリープ解除」**が有効になっていれば、これも無効にします。
これらの設定は、M シリーズの Mac で特に重要です。これらの機種では効率コアがスリープ中も動作し続け、Power Nap の途中で Spotlight や iCloud の同期を再開させることがあるためです。
3. スリープ前にドライブを使っていたものを特定する
スリープを有効にしたままにしたい場合、次のステップは、Mac がスリープに入ったときにどのプロセスがドライブを開いたままにしていたのかを突き止めることです。ここで多くの一般的なアドバイスは役に立たなくなります——原因がシステムのデーモンであるとき、「アプリを閉じましょう」では解決しないからです。
スリープに関連した取り出しの失敗でよくある原因:
- Spotlight(mds / mdworker) — 新しく接続されたドライブを、ちょうどスリープが始まるタイミングでインデックス作成している
- backupd — Time Machine のバックアップの途中
- cloudd / bird — iCloud Drive がドライブにファイルを同期している
- Finder — サムネイルの生成や、残っているファイル操作
Ejecta は、その瞬間にどのプロセスがドライブを掴んでいるのかを正確に表示します。パターンが見えてくれば——たとえば、スリープが始まるときにいつも Spotlight が動いているようだ、というように——当て推量ではなく、その特定のプロセスに対処できます。
4. ドライブを Spotlight のインデックス作成から除外する
Spotlight は、最もよくあるバックグラウンドの原因の一つです。新しいファイルや変更されたファイルを絶えずインデックス化しており、インデックス作成の途中でスリープが訪れると、ドライブがその足元から引き抜かれてしまいます。
ドライブを Spotlight から除外するには:
- システム設定 → Siri と Spotlight → Spotlight のプライバシー(古い macOS では:システム環境設定 → Spotlight → プライバシー)を開きます。
- + をクリックして、外付けドライブを追加します。
これで Spotlight はそのドライブを一切インデックス化しなくなります。ドライブ上での検索が必要になれば、後で除外リストから外せます——ただし、メディアやバックアップ専用に使うドライブなら、除外しておくのがたいてい正解です。同じことをするクラウド同期エージェントについては、iCloud と Dropbox がドライブの取り出しをブロックするのを止める方法をご覧ください。
5. ドライブのファイルシステム形式を確認する
予期しない切断をより上手に処理できるファイルシステム形式もあります。APFS にはジャーナリングがあり、不適切な取り出しからの復旧を助けてくれます。Mac と Windows の間で共有されるドライブによく使われる exFAT には、ジャーナリングがまったくありません。つまり、スリープが引き金となる切断によって、ファイルシステムが不整合な状態で残りやすいのです。
ドライブが exFAT でフォーマットされていて、スリープ後に取り出しエラーが繰り返し出ているなら、本当にクロスプラットフォームの互換性が必要かどうかを考えてみてください。Mac 専用のドライブなら、APFS への再フォーマットには価値があります。APFS と exFAT の比較が、そのトレードオフを余すところなく取り上げています。
6. ケーブルとハブを更新または交換する
あまりに単純に聞こえますが、これがスリープ関連の取り出しエラーのかなりの割合の原因になっているのは本当です。状態の悪いケーブルや、スリープ中に電源を失うバスパワー駆動のハブは、ハードウェアレベルでドライブを切断させることがあります——そうなると、どんなソフトウェア上の対処も役に立ちません。
確実に動くケーブルを使って、ドライブを Mac のポートに直接つないでテストしてみてください。スリープ時の取り出しエラーが止まれば、ケーブルかハブが問題だったということです。
ヒント: Thunderbolt ケーブルは、同じコネクタを使っていても、USB-C ケーブルとは別物です。外付け SSD に USB-C ケーブルが付属していて、それを Thunderbolt ポートで使っているなら、ちゃんとした Thunderbolt ケーブルを試してみてください——復帰時のネゴシエーションがより確実になります。
7. SMC / NVRAM をリセットする(Intel Mac)
Intel Mac では、システム管理コントローラ(SMC)がスリープ中の USB の電源状態を管理しています。SMC が壊れると、復帰時の不適切なドライブ取り出しを含む不安定な挙動を引き起こすことがあります。
- SMC のリセット: Mac をシャットダウンし、Shift + Control + Option + 電源ボタンを10秒間押し続け、放してから通常どおり電源を入れます。
- NVRAM のリセット: 再起動し、起動音が2回鳴るまで(新しい Intel モデルでは Apple ロゴが2回表示されて消えるまで)Option + Command + P + R を押し続けます。
M シリーズの Mac には従来の意味での SMC はありません——30秒間の完全なシャットダウン(再起動ではなく)で、同様の効果が得られます。
それでもエラーが繰り返し戻ってくるとき
上のリストをひととおり試しても、スリープサイクルのたびに「ディスクが正しく取り出されませんでした」という警告がまだ出るなら、それは設定の問題ではなく macOS のバグかもしれません。Ventura や Sonoma を搭載した Apple シリコンの Mac には、スリープ関連の USB の問題が一連の報告として記録された時期があり、Sequoia でも特定のハードウェア構成でこれを報告するユーザーがいまだにいます。
その場合の最も現実的な回避策は、Mac をスリープさせる前に手動でドライブを取り出すこと——そして、それをすばやく行えるツールを使うことです。Mac で「ディスクが正しく取り出されませんでした」を解決する方法は、繰り返しの事象によってすでにファイルシステムのエラーが出ている場合の、一連の復旧手順を取り上げています。
何がドライブをブロックしているのか、当て推量はもうやめる
スリープ関連の取り出しエラーを直すうえで最も難しいのは、どのプロセスが原因だったのかを macOS が決して教えてくれないことです。警告を表示して、そのまま先に進んでしまう。Ejecta はそれを解決します。メニューバーに常駐し、今ドライブを開いたままにしているすべてのプロセスを表示して、ブロックしているものを終了させ、ワンクリックで安全に取り出せるようにします。ターミナルも、アクティビティモニタも、当て推量も不要です。ドライブを引き抜いては最善を祈る、という日々にうんざりしているなら、ぜひ試してみてください。