年末にYosemiteに移行して快調に作業していたのですが、ある日、起動時のグレー画面に禁止アイコンが表示され、そこからまったく進まなくなってしまいました。
別のOSをインストールしているディスクなら起動OK。Yosemiteが入っているディスクもちゃんとマウントできますので、故障ではないようです。アクセス権の修復などを施して、再度Yosemiteで起動。…やっぱりダメです。禁止マークから進みません。あんまり見たことない画面で、どうしたらいいのかと焦ってしまいました。さて、どうやって解決しましょう?
鍵を握るのはTrim Enabler
管理人はThunderbolt Goflex Adapterを使って、外付けSSDから起動しています。書き込み速度の低下を防ぐため、使用しているアプリは「Trim Enabler」。Yosemite移行時に当然のごとくインストールしたのですが、そのときに英語でなにやら警告が表示されていたのを思い出しました。もしや? はい、ビンゴ。開発元のFAQを見ていると、グレー画面からの復旧方法が書かれていました。
YosemiteはTrimが使えない?
どうやら、OS X Yosemiteからはサードパーティ製SSDでTrimをサポートしていないようですね。kext署名を無効にしたら使えるので、Trim Enablerを有効にするとkext署名が自動的に切られるのだそうです。なにやらよくわかりませんが、kext署名を切ることに対しての警告だったんでしょうね。kext署名無効の情報はメモリに保存されます。この情報がふとしたときにリセットされ、kext署名が再度有効になったとき、Macに禁止マークがでて起動できなくなるみたいです。
※Apple純正のSSDはTrim Enablerの必要性はありません。デフォルトでTrimが有効になっています。
ターミナルを使って復旧できる
公式サイトに復旧方法が載っていましたのでメモ。
ステップ1:Cmd+Rでリカバリモードで起動
ステップ2:メニューバーからターミナルを起動
ステップ3:以下のコマンドを打ち込み
1 2 3 4 |
<p class="">nvram boot-args</p> <p class="">cd "/Volumes/Your Disk Name"</p> <p class="">touch System/Library/Extensions</p> <p class="">kextcache -prelinked-kernel System/Library/Caches/com.<wbr />apple.kext.caches/Startup/<wbr />kernelcache -K System/Library/Kernels/kernel System/Library/Extensions</p> |
※上記のYour Disk NameはYosemiteのインストールディスクを入れて下さい。
ステップ4:kextcacheコマンドが終了するまで数分間待機。
以上の工程で復旧することができました。実際に作業する場合は公式サイトを確認して下さい。
管理人の言いたいこと
YosemiteにおけるTrim Enablerの必要性ってどうなんでしょうね。復旧には時間がかかるので、できればもうしたくないのが本音です。今のMacはストレージが交換できないモデルも多いですから、Trim自体気にしていない人も多そう。くれぐれもYosemite環境下でインストールする際は自己責任でお願いします。
(2015年1月13日 追記)Trim Enablerの制作者も無理してまでTrim有効にしても、そんなにいいことないってHPで言っているみたいです。
(2015年1月27日 追記)コードの表示が美しくなかったので、WordPressのプラグイン「Crayon Syntax Highlighter」で整えました。参考にしたのはこちらのサイトです。ありがとうございました。