GPUを無効化したMacBook Pro 2011でmacOSをアップデート

GPUを無効化したMacBook Pro 2011でmacOSをアップデート

GPU の不具合のため、ディスクリートGPU(AMD Radeon HD 6750M)を無効化した MacBook Pro 2011 で、macOS(High Sierra)をアップデートする方法です。

MacBook Pro 15インチ Early 2011モデルで、GPU の切り替えを無効化して、内蔵GPU に固定対策済みです。

GPU 不具合の対策済みの記事になりますので、GPU の不具合の解決法は、次のリンク先の記事をご覧ください。
MacBook Pro 15 Early 2011年モデルのGPUの不具合(3回目)解決法

macOS のアップデートの問題点

macOS High Sierra は、2020年現在でもセキュリティアップデートがリリースされているので、アップデートをあてたいものです。

2020年7月現在の最新のアップデートは、2020年7月15日に公開された「セキュリティアップデート 2020-004 High Sierra」になります。

アップデート内容は、About the security content of macOS Catalina 10.15.6, Security Update 2020-004 Mojave, Security Update 2020-004 High Sierra になります。

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

今回参考にさせて頂いた MacRumors のフォーラムの投稿

MacRumors のフォーラムにある nsgr 氏の投稿(2019年4月11日)に方法がありました。

Macbook Pro 2011 with failure AMD GPU - High Sierra 10.13.6
I did the new High Sierra Security Update 2019-002 (29 March 2019) with Safe Mode enabled all the time by boot-args (-x).
Force 2011 MacBook Pro 8,2 with failed AMD GPU to ALWAYS use Intel integrated GPU (EFI variable fix)

常にセーフモードで Mac を起動して、セキュリティーアップデートをあてる方法です。

macOS のアップデートは、インストール中に何度か再起動をするので、AMDRadeonX3000.kext を読み込まない「セーフモード」で起動することでフリーズを回避します。これで、正常にアップデートをあてることができるかと思います。

内蔵GPUに固定した MacBook Pro で macOS のアップデートをする方法

nsgr 氏の投稿を元に実際にアップデートをあててみました。

SIP(システム整合性保護)を無効にするので、通常実行できないコマンドを実行することが可能になります。Macが起動しなくなったりデータの消失等が発生する可能性があります。必ずバックアップを取得するようにしてください。

※ SIP を有効に戻すコマンドは、作業の最終段階で紹介していますので、必ず SIP を有効に戻してください。

手順1 リカバリーモードで起動

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

手順1 は、セーフモードをオンにして、SIP(システム整合性保護)を無効化するのが目的です。

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

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

画面上部にあるメニューの「ユーティリティ」にある「ターミナル」をクリックして、ターミナルを起動。

macOSのリカバリーモードのターミナル画面
macOSのリカバリーモードのターミナル画面

ターミナルで以下のコマンドを入力して、順番に実行(リターンキーを押す)します。

NVRAM (不揮発性ランダムアクセスメモリ) に保存されている Mac の起動方法(boot-args)を -d オプションでリセットします。

nvram -d boot-args

Mac の起動方法を -v(verbose モード)と -x(常にセーフモード)に設定します。

nvram boot-args="-v -x"

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

csrutil disable

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

reboot

手順2 Mac App Store からアップデート

手順1 で Mac は、verbose モード(白い文字列が表示)とセーフモードで起動するようになりました。

セーフモードでは、必要最低限のファイルしか読み込まれない為、macOS の動作やが描画が非常に遅くなるので、ご注意ください。

Mac の画面が無事に表示されたら、Mac App Store のアップデートからアップデートを実施してください。

macOS High Sierra セキュリティアップデート 2020-004
macOS High Sierra セキュリティアップデート 2020-004

アップデートファイルのダウンロードが完了後、自動で再起動(3回ぐらい再起動したと思います)を繰り返しインストールされます。アップデートが完了するまでは、少し時間がかかります。

手順3 AMDRadeonX3000.kext を移動

手順3 からは、アップデートでインストールされた dGPU の「AMDRadeonX3000.kext」を移動させて、Mac の起動時に読み込ませないようにする作業になります。

コマンドを入力することができる「シングルユーザーモード」で起動する必要がある為、command+sの同時押しで、Mac を起動させます。

画面に文字列が流れるので停止するまで待ちます。
※ 私の場合何故か リターンキーを押さないと :/ root# と表示されず、文字を入力できる状態になりませんでした。

文字を入力できる状態になってから、読み書きできる状態でディスクをマウントする mount コマンドを実行します。

/sbin/mount -uw /

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

mkdir -p /System/Library/Extensions-off

上記の mkdir コマンドで作成したディレクトリに AMDRadeonX3000.kext を移動する為に、mv を実行して移動させます。

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

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

touch /System/Library/Extensions/

reboot を実行すると Mac が再起動します。
※ 初回は、少し起動に時間がかかります。

reboot
このままだと、手順1 で設定したセーフモードで起動してしまうのと SIP が無効になっている状態なので、次の手順4 で設定を元に戻します。

手順4 Mac の起動設定と SIP(システム整合性保護)を元に戻す

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

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

NVRAM (不揮発性ランダムアクセスメモリ) に保存されている Mac の起動方法(boot-args)を -d オプションでリセットします。

nvram -d boot-args

もし、Mac の起動方法を verbose モードのままにするには、以下のコマンドを実行します。
通常の起動の場合は、コマンドの実行は必要ありません。

nvram boot-args="-v"

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

csrutil enable

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

reboot

以上で作業は完了です。

最後に確認事項

2020年7月15日に公開された「セキュリティアップデート 2020-004 High Sierra」をあてると macOS Hight Sierra のバージョンは、バージョン 10.13.6(17G14019)となります。

macOS Hight Sierra のバージョン 10.13.6(17G14019)
macOS Hight Sierra のバージョン 10.13.6(17G14019)

Mac の起動モードの確認

手順4 でセーフモードを解除しているので問題はないかと思いますが、念のため「通常かセーフモード」で起動しているかは、「システム情報.app」のソフトウェアにある「起動モード」の項目で確認できます。

「システム情報.app」は、Mac の画面上部の Finder メニューのりんごマーク → このMacについて → システムレポート... をクリックで表示されます。もしくは「アプリケーション」フォルダ にある「ユーティリティ」フォルダ の中にあります。

システム情報 app での起動モードの確認
セーフモードで起動している場合は、「セーフ」と表示されます。

意図せずにセーフモードで Mac が起動する設定になっている場合は、手順4 の nvram -d boot-args を実行してください。

SIP(システム整合性保護)のステータスを確認

同様に「システム情報.app」の「システム整合性の保護」の項目で、SIP(システム整合性保護)のステータスを確認することが可能です。

システム情報.appでSIPのステータス確認
システム情報.appでSIPのステータス確認

ターミナル.app でも以下のコマンドを実行することで確認することができます。有効になっている場合は、System Integrity Protection status: enabled. と表示されます。※ ターミナル.app は、「アプリケーション」フォルダ → 「ユーティリティ」フォルダの中にあります。

csrutil status

意図せずに SIP(システム整合性保護)が無効になっている場合は、手順4 の csrutil enable を実行してください。

以上で、GPU を無効化したMacBook Pro 15インチ 2011年モデルで macOS をアップデートする作業は終了です。ご参考になれば幸いです。

コメントをどうぞ

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