2015年1月29日木曜日

OS X10.10.2 アップデートとTrimについて

OS X 10.10.2アップデートをインストールした。
今のところは何も問題はない、問題が起きてもらっては困る。Wi-Fiの安定化とかBluetoothの安定化とか、いろいろとアップデートされているらしいが、もともとWi-Fiは問題なかったので、よくわからないというのが本音ではある。一部のユーザはまだWi-Fiに問題を抱えているとのこと。


アップデートする際に気をつけたいのが自力換装したSSDへのTrimコマンド有効化に関する部分だ。

OS X 10.10.2にアップデートする前にしておかねばならないことがある。
自分で換装したSSDを起動ディスクに使っていて、Chameleon SSD OptimizerでTrimコマンドの有効化を施している場合、そのアプリケーションでTrimコマンド有効化をオフにしてシステムを再起動。

再起動が完了してからOS X 10.10.2 のアップデートを行う。

インストール直後に行われる再起動時に、 command + r でリカバリーモードに入り、ターミナルで次のコマンドを入力し実行。
$ nvram boot-args
kext-dev-mode=1 が出力されたならば、シェルを閉じターミナルを終了させシステムを再起動。問題なく起動するはずだ。
もしも上記のコマンドを実行して error getting variable と出力される場合、そのまま起動ボリュームからのブートを行うとブロックサイン(白丸にスラッシュ)が出て起動不可になっているはずだ。
起動できなくなっている場合は修復作業が必要となる。

Chameleon SSD Optimizerのサイトに書かれている復旧方法を簡単に書くと、
(http://chameleon.alessandroboschini.com/faq.php)
まず command + r でリカバリモードで起動し、
強制的にIOAHCIFamily.kextを削除、(起動ボリューム名はMacintosh HDにしているが、自分の使っているMacの起動ボリューム名にすること)
$ rm -rf /Volumes/Macintosh\ HD/System/Library/Extensions/IOAHCIFamily.kext

次にリカバリボリューム内のIOAHCIFamily.kextをコピー、
(FAQのページでは cp の引数は -r となっているが -R と記述、気になるなら -r のままでいい (今のところは、だけど)
$ cp -R /System/Library/Extensions/IOAHCIFamily.kext /Volumes/Macintosh\ HD/System/Library/Extensions/IOAHCIFamily.kext
ここで注意したいのは、リカバリボリュームがYosmite版であることが必須条件になるかもしれないということ。比較したわけではないが、旧OSのリカバリボリュームのままであった場合、IOAHCIFamily.kextの中身がYosemiteと同一のものである保障などないからだ。

続いて、タイムスタンプの更新
$ touch /Volumes/Macintosh\ HD/System/Library/Extensions

そしてシステムキャッシュの再構築
$ kextcache -u /Volumes/Macintosh\ HD

その後再起動させ、Chameleon SSD Optimizerを使ってTrimコマンドの有効化をして完了

Volume名にしている Macintosh HDMacintosh\ HD と記述。\(バックスラッシュ)が¥(Yen)と表示されているかもしれないので注意。

Trim Enablerの開発元による復旧方法によるとプレリンクカーネルの作成作業が必要らしいが、Chameleon SSD Optimizerの開発元FAQに書かれていない対処法は試してない。

Trimコマンドの有効化後にブロックサインが出て起動できなくなる場合は kext signing と呼ばれている操作が必要になる。コマンドはすでに上記に。
command + r でリカバリモードで起動、touch コマンドでタイムスタンプの更新、続いてシステムキャッシュの再構築を行ってから再起動。こちらもFAQのページに書かれてある。

0 件のコメント:

コメントを投稿