ドライブがHDDのMacは、今となっては動作が重く感じます。外付SSDを起動ディスクにすれば、手軽に高速化できます。ただし、外付SSDにmacOSを置いた場合、 いろいろと面倒な問題もあります。
Mac mini Late 2014
Mac mini(2014)を中古で入手しました。スペックは以下のとおり。
CPU:1.4GHzデュアルコアIntel Core i5
HDD: 500GB(5,400rpm)
メモリ:4GB DDR3
HDDだと動作がもたつくので、USB3.0で外付SDDをつなぎ、そこからmacOSを起動することにしました。起動はできたのですが、いくつかトラブルに見舞われたので、ここに記録しておきます。
外付SSDからmacOSを起動
SATA-USB変換ケーブルを使って、Mac miniのUSB3.0ポートにSSDを接続しました。
使用する予定のOSはHigh Sierraなので、SSDのフォーマットはAPFSでもHFS+でも、どちらでもOKです。わたしはAPFSでフォーマットしました。これが後に凶と出ます。
(※ SSDのフォーマットやmacOSのインストールの方法は、ネット上にたくさん情報があるので、ここでは省略します。)
外付SSDからの起動には成功したのですが、いくつかの問題点が判明しました。
りんごマークが出るのが遅い
起動時、電源を入れてからAppleのロゴ「りんごマーク」が表示されるまでに約2分かかります。そこから20秒くらいで起動します。
電源オンから起動まで合計2分半かかるわけで、これでは内蔵HDDからの起動より遅いです。起動した後はSSDらしくサクサク動作するのですが、起動だけが異常に遅いです。
こういう場合は、「システム環境設定」を使って起動ディスクを指定するのが定番の解決法ですが、それをやっても改善しません。
ネットで検索したところ、この現象はAPFSでフォーマットしたUSB接続の外付SSDからMacを起動する場合によく発生するようです。
Appleコミュニティに情報がありました。
外付けSSD起動トラブル(macmini2014)USB3接続のSSD
情報によれば、解決法は3つあるようです。
- SSDを本体に内蔵する。
- Thunderbolt経由で外付けする
- USB接続のままフォーマットをHFS+にする。
この現象はAPFSでフォーマットした外付SSDに発生するものなので、昔のmacOSで標準だった「HFS+」(Mac OS拡張フォーマット)形式でSSDをフォーマットすれば、解決します(※後述するように実際に解決しました)。
ただし、HFS+でフォーマットしたドライブにはHigh Sierra(macOS 10.13)までしかインストールできません。APFSが必須のMojave(macOS 10.14)やBig Sur(macOS 11)を使いたい場合は1か2の方法になります。
(※ なお、APFSでUSB接続のままMojaveとBig surにアップデートしたところ、どちらも電源オンから20秒程度でりんごマークが表示されました。しかし、そこから起動完了までの時間は逆に長くなり、1分以上かかります。合計1分半です。やはり何かがネックになっている感じです。)
Catalina(macOS 10.15)については未検証です。
スワップ領域が作成されない
メモリが4GBしかないので頻繁にスワップが発生するはずですが、アクティビティモニタで見ると、こうなっています。
メモリプレッシャーは真っ赤ですが、スワップが発生していません(使用済みメモリと「キャッシュされたファイル」の合計値が物理メモリを超えていないので、スワップが発生していないことがわかります)。
そもそもスワップ使用領域が作成されてない(0バイトのまま)です。
メモリが限界に達してもSSDにページアウトされないため、さらに負荷が増えると動作がおかしくなってPCが落ちるはずです。
この問題は広く発生しているようで、Appleのコミュニティに情報がありました。「APFS上のHigh Sierraのバグ」だと指摘されています。
ここでは「High Sierraのバグ」とされてますが、これはこの記事が2018年のものだからで、Mojaveにアップデートしても同様にキャッシュ領域は作成されませんでした。
解決策としては、
- SSDを本体に内蔵する
- 外付けのままフォーマットをHFS+にする
- Big surにアップデートする
の3つがあるようです。
このうち「フォーマットをHFS+にする」については後述します。
3つめの「Big surにアップデートする」は、実際に試して確認しました。
Big surだと、USB接続のままでも、ちゃんとスワップ領域が作成されています。
Trimを有効にできない
SSDの書込速度の低下を防止するためにTRIMという仕組みが用意されています。内蔵SSDを増設する場合は「trimfoce」コマンドを使ってTRIMを有効にできるのですが、USB経由の外付SSDではできません。
解決策は2つあるようです。
- SSDを本体に内蔵する
- Thunderbolt経由で外付けにする
Thunderbolt接続用のアダプタは非常に高価で2万円くらいします。ちょっと手を出しにくいですね。USB3.0なら700円ですむので、USBでなんとかしたいのですが無理なようです。
将来的に速度低下が我慢できないレベルになったら、SSDのサニタイズ、OSの再インストールという作業をするしかないと思います。または内蔵化ですね。
HFS+で再フォーマットしました
起動時間の問題とスワップ領域の問題は、外付SSDをMac OS拡張フォーマット(HFS+)でフォーマットすれば解決します。
実際にUSB接続のままHFS+で再フォーマットし、High Sierraをインストールしたところ、電源オンから8秒でりんごマークが表示され、そこから20秒ほどで起動するようになりました。
スワップ領域も以下のとおり正常に作成されました。
ただし、TRIMを有効にできない点はあいかわらずです。
なお、Mojave以降のmacOSは、APSFでフォーマットしたドライブにしかインストールできないので、原則としてこの方法は使えません。HFS+でMojaveを使う裏技(APSFのドライブにMojaveをインストールし、そこからHFS+のドライブにクローンする)はあるのですが、その場合の動作がどうなるかは未検証です。
Big surに関してはスワップ領域の問題は生じないので、起動に1分半ほどかかる点に目をつぶれは、そのまま使えなくもないと思います。
まとめ
まとめると、USB接続で外付SSDを使う場合は「HFS+でHigh Sierra」がおすすめです。
もっと新しいmacOSを使いたい場合は、起動に1分半かかる点を我慢すれば「APFSでBig sur」でもなんといけそう、という感じです。
Trim機能については、USB接続である以上、有効化するのは無理なようです。
Trimを含めてSSDが持つ機能をすべて利用したいならば、2万円かけてThunderboltで外付けするか、または、本体に内蔵してSATA接続するほかないようです。
以上です。