NVRAM・SMCのリセットを確認する方法は?確実にNVRAM・SMCをリセットする手順

Macにトラブルが起きた際はAppleサポートが様々なページでトラブル対処法として「MacのSMCやNVRAMをリセットする」という方法を推奨している。

ただ、MacのSMCやNVRAMのリセットを行ったとしても「実際にリセットが行われたかどうか」をユーザーがわかりやすく確認する方法はない。

ここではSMCリセットと同等の処理、及びNVRAMのリセットをターミナルで行う方法、リセットが行われたかどうかを確認する方法をまとめる。

なお、SMC・NVRAMのリセットを行う際はeGPU(外付けGPU)を接続していると予期せぬ問題が起こることがあるため、あらかじめ接続を解除しておこう。

Appleサポートの手順

画像出典 Apple

AppleサポートではSMCNVRAMのリセット手順が解説されているが、必ずしも説明通りの挙動を示すとは限らず、しかもNVRAMやSMCのリセットが行われたかどうかを確認する方法も載っていない。

また、管理人の環境ではNVRAMをリセットしてもAppleが言うように画面解像度や音量・時刻に変化は現れなかった(ただし省エネルギーの設定はデフォルトに戻った)。

Appleサポートの説明するSMC・NVRAMのリセット手順は下記のようになる。

SMCのリセット方法(T2チップ搭載ノート型Mac)

  1. Macをシステム終了します。
  2. 内蔵キーボードで、以下のキーをすべて長押しします。場合によっては、Macの電源が入ります。
    • キーボードの左側の「control 」キー
    • キーボードの左側の「option (Alt) 」キー
    • キーボードの右側の「shift 」キー
  3. 上記3つのすべてのキーを7秒間押し続け、電源ボタンも長押しします。Macの電源が入っている場合は、キーを押し続けている間に電源が切れます。
  4. 4つすべてのキーをさらに7秒押し続けてから、指を放します。
  5. 数秒待ってから、電源ボタンを押してMacの電源を入れます。

SMCのリセット方法(デスクトップコンピュータ)

  1. Macをシステム終了し、電源コードを外します。
  2. 15秒待ってから、電源コードを接続し直します。
  3. 5秒待ってから、電源ボタンを押してMacの電源を入れます。

NVRAMのリセット方法

  1. Macをシステム終了してから、電源を入れ、すぐに「option」「command」「P」「R」の 4つのキーを同時に押し、20秒ほど押し続けてからキーを放します。その間、Mac は再起動しているように見えます。
  2. 起動音が鳴るMacの場合は、2回目の起動音が鳴った時点でキーを放してかまいません。
  3. Apple T2セキュリティチップを搭載したMacコンピュータの場合は、2 回目の Appleロゴが表示され、消えた後でキーを放すことができます。
  4. Macの起動が終わったら、必要に応じて、システム環境設定を開いて、リセットされた設定内容 (音量、画面解像度、起動ディスクの選択、時間帯など) を調整してください。

T2チップ非搭載Macでのリセット方法

T2チップ非搭載MacのSMCリセット方法は全て掲載すると記事が長くなってしまうため、下記のリンクを参照していただきたい。

NVRAM・SMCのリセットと同等の処理をターミナルで行う方法

通常はAppleサポートの手順通りにやればSMC・NVRAMのリセットが可能だが、キーを押すタイミングによっては普通に起動してしまう場合もある。

SMCリセットと同等のことはターミナルでも可能であり、更にNVRAMリセットに関してはキーボードの同時押しと同一のことが可能なため、まずはターミナルコマンドを使用してみよう。

なお、管理人は実際に下記のコマンドをMac mini 2018及びMacBook Pro 13 Mid 2019で試し、正常にコマンドが実行されることを確認している。

ちなみに下記の方法はMacが正常に起動している場合を前提としているため、そもそもMacの電源が入らない、正常に起動しない、効果が見られないといった場合は前述のAppleの案内する通常の方法も試して頂きたい。

SMCのリセット処理と同等のターミナルコマンド

SMCのリセットと同等の処理をターミナルで行うには下記のコマンドをターミナルに入力してエンターキーを押す。

sudo pmset -a restoredefaults

パスワードの入力を求められたら管理者パスワードを入力してエンターキー。

「Restored Default settings」という表示が出ればリセット成功。

コマンドの「pmset」の「pm」は「Power Management(電源管理)」を表しており、上記コマンドでバッテリー関係・電源ボタン関係・蓋を閉じた時の挙動などがリセットされる。

NVRAMのリセットのターミナルコマンド

NVRAMの場合はSMCとは違い、下記コマンドをターミナルで実行することで完全なリセットが可能である。

sudo nvram -c

パスワードの入力を求められたら管理者パスワードを入力してエンターキー。

なお、NVRAMのリセットは実行しても処理結果などは表示されない。

ちなみに「nvram -c」とは「NVRAMの全ての情報の消去」を意味し、「nvram -d」コマンドと変数名を組み合わせることで特定のNVRAM情報を消去することもできる。

例えばNVRAMには音量情報なども保存されているが、音量情報だけを消去したい場合以下のようなコマンドとなる。

sudo nvram -d SystemAudioVolume

なお、先ほどのコマンドを実行してもエラーが出る場合は後述するリカバリーモードでの実行を試してほしい。

ちなみに「nvram: Error clearing firmware variables: (iokit/common) not permitted」というエラーが表示される場合はエラーは出ているがNVRAMのリセットには成功している。

Macを再起動させる

上記のいずれか、または両方のコマンドを実行したらMacを再起動しよう。

先ほどのコマンドは再起動しないと効果がない。

なお、再起動は通常の方法、あるいはターミナルに下記コマンドを入力する方法、どちらでも構わない。

sudo shutdown -r now

再起動が終わったら先ほどのコマンドの処理はほぼ確実に行われたと判断してよい。

上記の方法でエラーが出たり、万全を期してコマンドを実行したい場合

上記の方法でエラーが出る場合や万全を期して先ほどのコマンドを実行したい場合はリカバリーモードのターミナルからコマンドを実行しよう。

Macを起動・または再起動してすぐにCommand+Rキーを押し続け、リカバリーモード(macOS復旧)を起動させる。

「日本語」をクリックして次へ。

管理者ユーザーを選択して次へ。

メニューバーの「ユーティリティ」から「ターミナル」を起動する。

前述の方法と同じように下記のコマンドを続けて実行した後、再起動する。

pmset -a restoredefaults
nvram -c

NVRAMに保存されている情報を確認する方法

NVRAMに保存されている情報は下記のコマンドをターミナルで実行することで出力できる。

nvram -p

なお、これらの情報には個人情報が含まれているため画像をぼかしている。

管理人は出力された情報を完全に理解できる知識は持ち合わせていないが、リセット後とリセット前の情報を比較することでNVRAMのリセットの確認方法として使える。

更に下記コマンドであればXML形式で情報を出力することも可能だ。

nvram -xp

まとめ

個人的にリカバリーモードにしろSMCやNVRAMのリセットにしろ、Macはキーボードの同時押しによるモードの移行はタイミングがシビアであるため、Macが正常に起動する状態であればターミナルで今回紹介したコマンドを実行した方が早い。

ただ、前述の通りMacがそもそも正常に起動しない、ターミナルコマンドで効果が見られないといった場合はキーボードによるリセットも試して頂きたい。