「OS X Yosemite」ではセキュリティが強化されているため「Trim Enabler」を有効化したままPRAMリセットを実行すると不味いことになります。
具体的には上の写真のように、起動時のグレー画面で禁止アイコンが表示されここから進まなくなってしまうのです。
以前のエントリーを書いた時、試しにTrim Enablerを有効化したままPRAMリセットを実行してみたところ、なぜかそのタイミングでは問題なく動いていたのですが、本日ついにグレー画面が発動してしまいました(すぐに発動するわけではないらしい)。
ということでこの状況から復旧するための方法を説明したいと思います。
公式情報を元に復旧
Trim Enabler開発元の公式情報「FAQ and support for using Trim Enabler in OS X Yosemite」が一番信頼できる情報です。ここの「Recovering from stop sign on boot screen」にグレー画面からの復旧方法が書かれています。以下日本語で説明しますが、事前に最新公式情報を確認しておくことをおすすめします。
方法1: Trim有効のまま復旧
まずは一番穏当にTrim有効のまま復旧させる方法です。各コマンドは実際は1行で入力します。
- Step 1: Cmd+Rを押しながら電源を入れリカバリモードで起動します。
- Step 2: 「ユーティリティ > ターミナル」で、ターミナルを起動します。
- Step 3: 以下のコマンドを実行します。 “kext-dev-mode=1″と表示されたらStep 6へ。"error getting variable"と表示されたらそのまま続けます。
nvram boot-args
- Step 4: 以下のコマンドを実行します。
nvram boot-args=kext-dev-mode=1
- Step 5: リカバリモードで再度起動します。
- Step 6: 以下のコマンドを実行します。"Your Disk Name"のところは自分のMacのディスクの名前と置き換えます(ls /Volumesで確認可能)。ダブルクォートとSystemの前のスラッシュに注意してください。
cd "/Volumes/Your Disk Name"
touch System/Library/Extensions
kextcache -prelinked-kernel System/Library/Caches/com.apple.kext.caches/Startup/kernelcache -K System/Library/Kernels/kernel System/Library/Extensions
- 5〜10分終了するまで待ち再起動すれば完了です。
方法2: Trim無効にして復旧
次はTrim Enablerの変更を全部リセットし無効状態にして復旧させる方法です。
- Step 1: Cmd+Rを押しながら電源をいれリカバリモードで起動します。
- Step 2: 「ユーティリティ > ターミナル」で、ターミナルを起動します。
- 以下のコマンドを実行します。"Your Disk Name"のところは自分のMacのディスクの名前と置き換えます(ls /Volumesで確認可能)。ダブルクォートとSystemの前のスラッシュに注意してください。
nvram -d boot-args
cd "/Volumes/Your Disk name"
rm -rf System/Library/Extensions/IOAHCIFamily.kext
cp -r /System/Library/Extensions/IOAHCIFamily.kext System/Library/Extensions/IOAHCIFamily.kext
chown -R root:wheel System/Library/Extensions
chmod -R 755 System/Library/Extensions
touch System/Library/Extensions
kextcache -prelinked-kernel System/Library/Caches/com.apple.kext.caches/Startup/kernelcache -K System/Library/Kernels/kernel System/Library/Extensions
- 5〜10分終了するまで待ち再起動すれば完了です。
方法3: OSの上書きインストール
最後はターミナルの操作に自信がない/あるいはめんどくさいという方のための方法で、リカバリモードで起動し「OS X を再インストール」するというものです。普通に進めればシステムファイルが上書きされるだけなので、自分のファイルや設定などは残ったままシステムがクリーンな状態になり普通に起動できるようになる
まとめ
Trime Enablerが原因で発生するグレー画面から復旧する方法を説明しました。どの方法もそれなりに危険をともなうので、PRAMリセットを実行する前にはTrimを無効化しておくという予防策を忘れないようにしたほうがよさそうです。
そもそも署名なしのドライバーが読み込めなくなったのならTrim Enabler開発元が署名すればよいのではないかという疑問があったのですが、Appleがそのようなドライバーは認めない方針みたいなので致し方無い状況の様子。