MacBook Pro Early 2011のオーナーとして、2013年末以来頻発している同モデルのGPU不具合問題に注目し続けています。
この問題が最初に話題になったのは2013年の10月ごろなんですが、それ以来サポートフォーラムの不具合報告は日々増え続けているものの、Appleから表立った対応はいまだに何もありません。
ひょっとしたらGPUのリコールはもうないのかも…。壊れたら有償修理しかない…?
そんな不安な日々を送るオーナーのための最終手段として、AMDのGPUを使わず、内蔵GPUのみで常に起動するテクニックが公開されていました(AsyncRO.com、あれやこれや備忘録)。
自分のためにもこの方法をメモしておきたいと思います。
概要
gfxCardStatusというユーティリティで、内蔵GPUの使用を強制できるのですが、起動時に外部GPUに切り替わってしまう現象は制御できません。
そのため、AMDのドライバーを退避して、kextcacheを再構築する必要があるようです。
ソフトウェアアップデートを行うともとにもどってしまう必要があるため、自動ソフトウェアアップデートを禁止しておく必要もあるようです。
手順1: 起動できない場合
すでにGPU問題で起動できなくなったMacBook Proの場合、以下の手順に従って無理やり起動します。
- gfxCardStatus(最大バージョン2.2.1)をダウンロードし、USBメモリに保存。
- ドライバーなどをMacが壊れる前とそっくり同じ配置にしておく(?)
- Macを起動する。しばらく動かすとブルー/グレースクリーンなどでフリーズする。
- 蓋を閉じてケースやバッグに入れ、macを冷やさないようにする。数分後ファンが狂ったように回り出す。しばらくすると電源が自動的に落ちる。
- 電源が落ちた後、素早くmacを取り出して電源を入れる。冷やさないように注意。まだ熱いうちに電源を入れること。
- macは高確率で内蔵GPUを使用するため起動できる。USBドライブに入れたgfxCardStatusを起動し、内蔵GPUに切り替える。
熱い状態で起動すると内蔵GPUを使うというライフハックが使われています。
手順2: kextcacheの再構築
起動できたら、以下の手順に従ってkextcacheの再構築を行います。
- Macを再起動し、Command + Sでコンソールモードに入る。
- mount -uw /
- フォルダを作成する。/_temp
- AMDフォルダを退避する
sudo mv /System/Library/Extensions/AMD*.* /_temp
- 以下のコマンドを実行する。ソフトウェア・アップデートは無効にすること。
sudo kextcache -v 1 -m /System/Library/Caches/com.apple.kext.caches/Startup/Extensions.mkext /System/Library/Extensions/
- 再起動する。sudo reboot。
- macは内蔵GPUのみを使って起動するようになる。
まとめ
公式にサポートされた方法ではないので実行する場合は自己責任にてお願いします。幸いまだ私のMacBook Pro 2011のGPUは問題なく動いているため、実際に試していません。起動しなくなったら試してみようと思います。
ソフトウェア・アップデートすると元に戻るという致命的な弱点はありますが、一応もう一度動かせるようになる方法があるというの心強いのではないでしょうか。
GPUリコールが無理ならば、せめてAMD GPUの使用を抑制する公式パッチでもリリースしていただければ助かる人も多そうな気がするのですが…。はたして。
今後もこの問題に注目していきたいと思います。