MacBook Pro 15 Early 2011年モデルのGPUの不具合(3回目)解決法

MacBook Pro 15 Early 2011年モデルのGPUの不具合(3回目)解決法

Macbook Pro 15インチ Early 2011年モデルのdGPU(グラフィックス プロセッシング ユニット)問題再びです。
すでにAppleで保守パーツは無くAppleでは修理はできないので、AMD Radeon HD 6750MのdGPU(ディスクリートGPU)を使わず、iGPU(内蔵GPU / Intel HD Graphics 3000)で起動するように固定する方法を試してみました。

MacBook Pro 15インチ Early 2011年モデルの症状

Macを起動すると林檎マークの画面から進まず再起動を繰り返す状態に。画面は薄いピンク色の横線が表示されている状態です。3回目ですが前回(2016年)より画面の乱れは少なく、文字は見えるレベルです。前回の症状の記事はMacBook Pro 15 Early 2011(ビデオ問題)がAppleから戻ってきましたです。
Appleのリペアプログラムでリコール(無償修理)対象モデルとなってたのでロジックボードを交換しましたが、根本的な解決にはなっていなかったようです。

とはいえ2011年モデルなので製品寿命としては納得できるものの、愛着のあるMacBook ProでSSDに交換して速度的に不満は無いし、AMDのGPUの不具合だけで捨ててしまうのは勿体無いですね!

AMDのGPUをハードウェア的に無効にするModボード「MuxHat」やロジックボードをオーブンやヒートガンで熱する方法などありますが、費用がかからず安全?でシンプルな方法を探しました。

実行してみて有効でなかったGPUの不具合の解決法

GPUの切り替えや固定ができるアプリのgfxCardStatusをインストールできれば、もしかすると考え、色々と調べながら以下の対策を実行してみましたが、上手い事いかなかったです。

  • NVRAM または PRAM をリセット(option + command + P + R)
  • セーフモード(shiftキー)で起動
  • Apple Hardware Test(Dキー)で起動
  • 内蔵のmacOS復元システム(Command + R)で起動
  • SIPを無効化できるらしい(Command + S + R)の起動

Macが起動しないし、gfxCardStatusがmacOS High Sierraでうまいこと動作しないようなので、アプリをインストールする方法は諦めました。

シングルユーザーモード(command + S)のみMacが起動しましたが、OS X 10.11 El Capitan以降で採用されているSIP(システム整合性保護)を無効にできないため、シングルユーザーモードでシステムファイル(AMDのカーネル)を移動する対処法は有効ではありませんでした。

MacBook Pro 15インチ Early 2011年モデルのAMDのGPUを停止して内蔵GPUで起動

内蔵のmacOS復元システム(Command + R)で起動して、SIP(システム整合性保護)を無効にして内蔵GPUに固定できるバッチリの対処法がありました。

Works for macOS Sierra and High Sierra (Improved version) · GitHub

次の対処法は、上記のウェブサイトからの引用です。
記事を書かれた方 Artem Kirienko の環境は、Macbook Pro 2011 15インチ(2 GHz Intel Core i7)で、macOS High Sierra Version 10.13.6 17G5019とのことです。
※私の環境も同じmacOS High Sierraで10.13.6ですが17G8030でした。

SIP(システム整合性保護)を無効にしてシステムファイルを変更する作業がありますので、Macが起動しなくなったりデータの消失等が発生する可能性があります。必ずバックアップを取得するようにしてください。

※シングルユーザーモードでデータをUSBドライブにバックアップする方法は、OSX backup from Single User Modeなどに方法が記載されています。
※以下に記載の色が付いているコマンド部分が閲覧環境によって折り返していると思いますが改行はありません。

  1. boot using Command + s
  2. manually type nvram fa4ce28d-b62f-4c99-9cc3-6815686e30f9:gpu-power-prefs=%01%00%00%00 and run it
  3. manually type nvram boot-args="-v" and run it
  4. reboot
  5. boot using Command + r (this time it boots fine, no grey screen)
  6. disable SIP: manually type csrutil disable and run it
  7. manually type nvram fa4ce28d-b62f-4c99-9cc3-6815686e30f9:gpu-power-prefs=%01%00%00%00 and run it
  8. manually type nvram boot-args="-v" and run it
  9. reboot
  10. boot using Command + s
  11. manually type /sbin/mount -uw / and run it
  12. manually type mkdir -p /System/Library/Extensions-off and run it
  13. manually type mv /System/Library/Extensions/AMDRadeonX3000.kext /System/Library/Extensions-off/ and run it
  14. manually type touch /System/Library/Extensions/ and run it
  15. reboot

AMDのGPUを停止して内蔵GPUから起動する方法の補足

前述の方法で問題はありませんが、備忘録を兼ねた補足です。
※キーを同時押ししてMacを起動する際は、Appleロゴとプログレスバーが表示されたらキーを離してもOKです。

手順1 シングルユーザモードで起動

Macの電源を入れて、command+sの同時押しで、シングルユーザモードで起動します。
画面に文字列が流れるので停止するまで待ちます。※私の場合何故か リターンキーを押さないと :/ root# と表示されず、文字を入力できる状態になりませんでした。

手順2 内蔵のGPUに固定

次にメモリに記憶されているGPUの設定をnvramコマンドを実行して、AMDのGPUに切り替わらないように内蔵のGPUに固定する内容に書き換えます。

nvram fa4ce28d-b62f-4c99-9cc3-6815686e30f9:gpu-power-prefs=%01%00%00%00

nvram以降の文字列の意味は、GUID:NVRAM Variable=内蔵GPUの値 となります。

手順3 verboseモードで起動する設定に

これでmacOS復元システムで起動するようになりますが、何かしらトラブルがあった場合にエラーが表示されると便利なので、以下のコマンドを実行して、起動プロセスやエラーをテキストベースで表示する設定にします。

nvram boot-args="-v"

手順4 内蔵のmacOS復元システムからMacを起動

ここまでで、内蔵のmacOS復元システムからSIP(システム整合性保護)を無効にする手順が整いました。以下のコマンドを実行します。

reboot

Macが再起動するので、command+rを同時押ししながら起動します。

手順5 SIP(システム整合性保護)を無効に

Mac の起動後に言語選択の画面が表示されるので、言語を選択すると次のような画面が表示されます。※ MacBook Pro のスクリーンを直で撮影したので、画像が汚くて申し訳ありません。

macOSのリカバリーモードの起動後画面
macOSのリカバリーモードの起動後画面

画面上部にあるメニューの「ユーティリティ」にある「ターミナル」をクリックして、ターミナルを起動。SIP(システム整合性保護)を無効にするために以下のコマンドを実行します。

csrutil disable

成功すると「Successfully disabled System Integrity Protection. Please restart the machine for the changes to take effect.」と表示されます。

手順6 再度内蔵のGPUに固定しverboseモードで起動する設定に

csrutil disable のコマンドに続けて、以下のコマンドを順番に実行していきます。
コマンドの内容は、再度AMDのGPUに切り替わらないように内蔵のGPUに固定する内容に書き換え、verboseモードを設定して再起動となっています。

nvram fa4ce28d-b62f-4c99-9cc3-6815686e30f9:gpu-power-prefs=%01%00%00%00
nvram boot-args="-v"
reboot

再起動の後にcommand+sを同時押しの「シングルユーザモード」で起動します。

手順7 Macのディスクをマウント

手順7からは、dGPUのAMDRadeonX3000.kextを読み込まないようにする作業になります。
手順1のシングルユーザーモードと同じで入力できる状態になってから、読み書きできる状態でディスクをマウントするmountコマンドを実行します。

/sbin/mount -uw /

手順8 AMDRadeonX3000.kextの移動先ディレクトリを作成

mkdirを実行してディレクトリを作成します。ディレクトリ名や場所は自由です。/temp などでも問題はありません。

mkdir -p /System/Library/Extensions-off

手順9 AMDRadeonX3000.kextを移動

mvを実行して、手順8で作成したディレクトリにファイルを移動します。

mv /System/Library/Extensions/AMDRadeonX3000.kext /System/Library/Extensions-off/

手順10 システムのExtensionsを反映させ設定完了

touchを実行して、Extensionsディレクトリのタイムスタンプを変更更新して反映させます。

touch /System/Library/Extensions/

rebootを実行すると再起動します。これで内蔵GPU固定でMacが起動するはずです。

reboot
正常に Mac が起動するようでしたら、次の手順11 で、起動設定の「verboseモード」と SIP(システム整合性保護)の設定を元に戻します。

手順11 verboseモードと SIP(システム整合性保護)を元に戻す

※ 手順11 は、2020年7月19日に追記しました。

Mac の電源を入れて、command+rの同時押しで、リカバリーモードで起動します。

Mac の起動後に言語選択の画面が表示されるので、言語を選択すると次のような画面が表示されます。※ MacBook Pro のスクリーンを直で撮影したので、画像が汚くて申し訳ありません。

macOSのリカバリーモードの起動後画面
macOSのリカバリーモードの起動後画面

画面上部にあるメニューの「ユーティリティ」にある「ターミナル」をクリックして、ターミナルを起動。
ターミナルで以下のコマンドを入力して、順番に実行(リターンキーを押す)します。

NVRAM (不揮発性ランダムアクセスメモリ) に保存されている Mac の起動方法(boot-args)を -d オプションでリセットします。これで、白い文字列が画面に表示される verboseモードで起動しなくなります。

nvram -d boot-args

次に SIP(システム整合性保護)を有効化(enable)します。
成功すると「Successfully enabled System Integrity Protection. Please restart the machine for the changes to take effect.」と表示されます。

csrutil enable

reboot と入力して、Mac を再起動します。

reboot

手順12 Mac App Store の自動アップデート設定をオフに

※ 手順12 は、2020年7月19日に追記しました。

macOS のアップデートは、AMDRadeonX3000.kext を再インストールするので、Mac の起動時にフリーズする原因になります。

システム環境設定にある App Store の設定項目は、「アップデートを自動的で確認」のみチェックあり、もしくは全てチェック無しをお勧めします。特に「システムデータファイルとセキュリティアップデート」にチェックが入っていると自動的にアップデートされてします。

High SierraのMac App Storeの設定画面
High SierraのMac App Storeの設定画面
自動でセキュリティアップデートがインストールされてしまった場合は、次の項目「High Sierraのセキュリティアップデートを実行して起動しない場合の解決法」を参照ください。
セーフモードで、セキュリティアップデートをする方法があります。記事にしましたので、GPUを無効化したMacBook Pro 2011でmacOSをアップデートを参照ください。

以上で、GPU の不具合の対処法の作業は終了です。

High Sierraのセキュリティアップデートを実行して起動しない場合の解決法

2019年9月26日に公開されたセキュリティアップデート2019-005をApp Storeからアップデートしてみました。
※ セキュリテイアップデートのバージョンは関係なく最新のバージョンでも有効な手段になります。

High Sierraのセキュリティアップデート2019-005(10.3.6)
High Sierraのセキュリティアップデート2019-005(10.3.6)

懸念の通り、やはりMacが起動しない
林檎マークは表示されますが、プログレスバーが途中で止まったまま再起動を繰り返します。

今回は内蔵GPUに固定して起動するように設定済みの為、MacBook Pro 15インチ 2011年モデルの画面の乱れはありませんでした。
ということは、AMDRadeonX3000.kextをシステムに読み込ませないように別の場所に移動させましたが、セキュリティアップデート2019-005で復活したということですね。

アップデートで復活したAMDRadeonX3000.kext
アップデートで復活したAMDRadeonX3000.kext

shiftを押しながらMacをセーフモードで起動して、/System/Library/Extensions/ ディレクトリに「AMDRadeonX3000.kext」が配置されてるのを確認しました。

今回は、以下の手順でMacが正常に起動するようになりました。

手順1 SIP(システム整合性保護)を無効に

Macをcommand+rを同時押ししながら起動します。
起動後に画面上部にあるメニューの「ユーティリティ」にある「ターミナル」をクリックして、ターミナルを起動。SIP(システム整合性保護)を無効にするために以下のコマンドを実行します。

csrutil disable
macOS リカバリモードで起動し、ターミナルでSIPを無効
macOS リカバリモードで起動し、ターミナルでSIP(システム整合性保護)を無効

成功すると「Successfully disabled System Integrity Protection. Please restart the machine for the changes to take effect.」と表示されます。

次に再起動する為に以下のコマンドを実行します。

reboot

Macが再起動したらcommand+sを同時押ししながらシングルユーザモードで起動します。

手順2 Macのディスクをマウント

ここからAMDRadeonX3000.kextを読み込まないようにする作業になります。
読み書きできる状態でディスクをマウントするmountコマンドを実行します。

/sbin/mount -uw /

手順3 AMDRadeonX3000.kextの移動先ディレクトリを作成

mkdirを実行してディレクトリを作成します。ディレクトリ名や場所は自由です。

mkdir -p /System/Library/Extensions-off

手順4 AMDRadeonX3000.kextを移動

mvを実行して、手順3で作成したディレクトリにファイルを移動します。

mv /System/Library/Extensions/AMDRadeonX3000.kext /System/Library/Extensions-off/

手順5 システムのExtensionsを反映させ設定完了

touchを実行して、Extensionsディレクトリのタイムスタンプを変更更新して反映させます。

touch /System/Library/Extensions/

rebootと入力して実行してMacを再起動させます。

reboot

私の場合、起動に少し時間がかかりましたが、無事にMacが起動するようになりました。
アップデート後のmacOS High Sierraのバージョンは、10.13.6(17G8037)となっています。
アップデート前は、10.13.6(17G8030)です。

手順6 SIP(システム整合性保護)の設定を元に戻す

このままだと、手順1 で SIP(システム整合性保護)を無効にしたままの状態なので、設定を元に戻します。

Mac の起動時に command+rの同時押しで、リカバリーモードで起動します。

Mac の画面が表示されたら画面上部にあるメニューの「ユーティリティ」にある「ターミナル」をクリックして、ターミナルを起動。ターミナルで以下のコマンドを入力して順番に実行(リターンキーを押す)します。

SIP(システム整合性保護)を有効化(enable)します。
成功すると「Successfully enabled System Integrity Protection. Please restart the machine for the changes to take effect.」と表示されます。

csrutil enable

reboot と入力して、Mac を再起動します。

reboot

以上で作業は終了です。

これからHigh Sierraのセキュリティアップデートを実行する方へ

Mac App Store から「セキュリティアップデート」を実行してしまうと、内蔵GPU に固定する対処法の際に削除した AMDRadeonX3000.kext というカーネル拡張(.kext)をインストールしてしまい、アップデートをインストールするのに何度か再起動するので、Mac が起動時にフリーズしてしまいます。

対策を記事にしましたので、GPUを無効化したMacBook Pro 2011でmacOSをアップデートをご覧ください。

これでまたMacBook Proを少し延命できました!

MacBook Pro 15 Early 2011年モデルのGPUの不具合(3回目)解決法” に8件のコメントがあります

  1. 10年愛用のMacBook Pro 15インチ 2011年。リコールに出してから、6〜8年?振りに症状が再発しました。もはやこれまでか…。と思いきや、このサイトをみて、正直パソコンには詳しくは無いのですが、何とか英文字を打ち、おぉ、ログイン画面が…。立ち上がりました。キセキです。
    60のジジィには難易度が高いハードルでした。
    KEN-G.comに、救われました。
    症状が出る寸前、本体が凄く熱くなっていた記憶があり、今は熱くなりかけたら、休み休み使用しています。勿論、電源を落とすのが怖く、使用しない時は、常時スリーブ状態です。
    しかし、有難うございました。感謝。

    1. 嬉しいご報告ありがとうございます!
      夏は本当に本体が熱くなりますね。GPUの不具合は、熱でGPUのAMD Radeon HD 6750Mのハンダ部分にクラックが入るのが原因のようです。

      内蔵GPUには、そういう不具合は無いようですが、MacBook Proを長く使っていくには仰るとおり本体の熱が上がらない様にするのが良いですね。
      電源については、記事の方法で内蔵GPUに切り替えていますので、落としても問題はないかと考えます。

      ただ、macOSのアップデートやPRAMクリアの実行には注意が必要で、実行するとリセットされAMD Radeon HD 6750Mで起動してしまい、元に戻ってしまいます。
      両方ともに対処法があり、macOSのアップデートの場合は以下を参考にして頂ければ幸いです。
      GPUを無効化したMacBook Pro 2011でmacOSをアップデート

      PRAMクリア後に内蔵GPUに戻す場合の記事は現在執筆中です。今週中には公開予定です。

  2. こんにちは。この度はこのサイトにたどり着きやっと私のMacbook pro 15inc early 2011が使えるようになりました!本当に感謝しております。ありがとうございました。
    事の発端は去年2017年頃にクラッシュして、いろいろググってやってみてもだめだったので、Appleストアーに修理依頼したところGPUの不具合で無償修理してもらったのですが、その後順調に使用できまた再度2019年9月頃から起動しなくなり、もう寿命と思い新しくMacbook Pro 13inc 2019を購入しました。そして使わなくなったMacbook Pro 15inc 2011は今年2020年6月まで眠ったままだったのですが、このコロナの影響で仕事も無くなり十分に時間があったため眠っていたMacbook Pro 2011を取り出しなんとか動かないかネットでググりながら試みていたところでした。
    OSの再ンインストールなどいろいろやり始めて約3週間経って、このサイトに辿り着きまして、解決できました!
    つい先日もSafariなどのアップデートがありまた起動しなくなりましたが、この対処法で問題なく起動することができましたので、今後もサブ機として使えそうです。
    素人では到底分からない事を、細かく掲載して頂いて大変ありがたく思っています。
    感謝!感謝です!

    1. 嬉しいご報告ありがとうございます!
      記事を書いて良かったと思う瞬間です。
      まだまだ、動画編集など重い処理をしなければ十分に使えるMacBook Proですね。
      ちなみにハードディスクをSSDに変えるとかなり快適になるのでおすすめです。↓ 交換した際の記事です。
      MacBook ProのハードディスクをSSDに交換 Crucial MX300 525GB

      アップデートですが、セキュリティアップデートは、AMDRadeonX3000.kext というファイルをインストールするので、Macが起動時にフリーズしてしまいます。
      対処法は、この記事に書いていますが、もう少し簡単安全にする方法を今執筆しています(明日ぐらいには公開予定)ので、今後セキュリティアップデートがあった際には参考にしていただければ幸いです。

  3. お返事ありがとうございます。今までセーフモードは大丈夫だったのですが、最近はセーフモードでもブルー画面から先に進めなくなったので、こんどこちらのコマンドとカーネルテキストの移動を試してみようと思います。スノーレオパードで使っています。

    1. snow leopardは、El Capitan以降のSIP(システム整合性保護)が無いので、SIPを解除する以下の方法は必要ないかと思います。
      command+rでMacを起動して、csrutil disableのコマンドを実行

      記事中で紹介している内蔵GPUに固定する方法の以下のページですが、
      Works for macOS Sierra and High Sierra (Improved version)

      私の場合、うまく動作せず、同じページのartkirienko氏のコメントにある方法で上手いこと行きました。
      artkirienkoのコメント部分
      OSのバージョンなどによって、少し環境依存があるのかも知れません。

      macOS SierraとHigh Sierra向けの対策ですが、snow leopardのユーザーが成功しているようなので、無事に起動することを祈ってます。
      kolaborador-anonimo氏のコメント部分

  4. こんにちは。うちの17インチも同じ症状になりこちらをみつけました。

    内蔵gpuで起動させるだけなら、このコマンドだけで大丈夫でしょうか?
    nvram fa4ce28d-b62f-4c99-9cc3-6815686e30f9:gpu-power-prefs=%01%00%00%00

    今まではgfxCardStatusでインテルgpu固定してうまくいっていたのですが、起動時はどうしてもダイナミックになってしまうようで、起動後にインテル固定にしようとするとフリーズするようになりした。

    そこで、起動時は内蔵gpu固定

    起動した、gfxCardStatusでインテル固定

    にするとうまくいくのでは?と思っての質問でした。

    アドバイスどうぞよろしくお願いいたします。

    1. コメントありがとうございます。
      上記のコマンドだけでは回避できないようです。起動時にAMD Radeon HD 6750M(dGPU)の「AMDRadeonX3000.kext」というファイルを読み込みに行っているので、起動する際にフリーズしてしまいます。

      gfxCardStatusですが、インストールしていないので細かい仕様やその現象など詳細は分かりませんが、アプリの開発がストップしているようです。
      ソフトアンテナブログ - macOS SierraではgfxCardStatusに要注意」によるとmacOS Sierra以降ではうまく動作しないようなので、使い続けるのは厳しいかなと思います。

コメントをどうぞ

コメントは確認後に反映されます。
コメント内容、名前(ニックネーム可)、メールアドレスの項目は必須となります。メールアドレスは公開されません。