はじめに
この罠は執筆時点での最新、macOS Mojave 10.14.2で確認しています。
前提条件
- macOS High Sierra以上
- USB外付けSSD(もしくはUSB接続のSSDケース)を使用
- 上記のディスクをAPFSでフォーマット
発生する罠
OS起動が異常に遅くなる
macOSの起動時、リンゴマークが表示されるまでに非常に時間がかかる現象が発生します。
かかる時間にはばらつきがありますが最大で5分超かかる時もありました。
リンゴマークが表示されたあとは通常通り動作します。
こちらに関しては現状APFSでフォーマットしている以上回避策はないようです。
スワップ領域がマウントされない(危険)
この罠が発動すると物理メモリを使い切ってもスワップが作成されなくなります。
つまり、メモリを使い切った瞬間完全にMacがハングアップすることになります
これは手動でスワップ領域をマウントすればとりあえず解決します。
以下のコマンドでマウントすべきボリュームを確認しましょう。
diskutil list
このリスト上で、APFS Volume VMと表示されているものが本来マウントされるべきスワップ領域です。
diskutil info disk2s4(ボリュームのIDENTIFIERを指定)
diskutil infoでマウント状態を確認し、MountedがNoであればマウントされていない状態です。
このボリュームをdiskutil mountでマウントを行えば正しくスワップが作成されるようになります。
sudo diskutil mount -mountPoint /private/var/vm disk2s4
ただし、これは再起動した際に解除されてしまいますので、起動時にログインスクリプト等で自動実行する必要があります。
(他に自動マウントする方法があればお教えください)
最後に
最近のmacOSは標準でAPFSフォーマットを選択したり復元時にAPFSに変換したりととにかくAPFSを推しているため、この罠にハマる危険性も高くなっています。
完全に回避するためにはTime Machine等を用いずにHFS+でまっさらにフォーマットする必要があります。
参考資料
スワップ領域が確保されない - Apple コミュニティ
MacOS 10.14 Mojave で外付けSSDを起動ディスクにしたら起動が遅い時の対処法