
Mac OS XのターミナルからMacのNVRAMの内容を表示・消去する方法
Macの上級ユーザーの中には、コンピュータのNVRAM(不揮発性RAM)内にあるファームウェア変数を確認したり、直接操作したりする必要があると感じる人もいるかもしれません。NVRAMには通常、システムオーディオレベル、起動ディスクの詳細、アクティブなユーザー名、画面のバックライトと解像度、その他の技術的な詳細といったシステム固有のデータが含まれています。ほとんどのユーザーはNVRAMを操作することはありませんが、トラブルシューティングのためにNVRAM変数を手動で確認したりクリアしたりすることが役立つ場合があります。
Mac OS X のコマンドラインツールを使用すると、Mac ユーザーは、Mac を再起動したり、一般的な NVRAM リセットを実行したりすることなく、Mac OS でファームウェアを直接読み取り、調整できます。
これは言うまでもないかもしれませんが、NVRAM の内容を一覧表示する以外に、ユーザーは、何を実行しているのか、その理由が正確にわからない場合は、NVRAM 変数を削除またはクリアしないでください。
開始するには、/Applications/Utilities/ にあるターミナルを起動し、目的に応じて次のコマンドを発行します。
現在のMacでNVRAMの内容をすべて表示する方法
現在の NVRAM の内容をすべて出力するには、次のコマンドを発行します。
nvram -xp
これにより、出力が XML 形式で表示されます。これは、-p フラグで読み取られるデフォルトの形式よりもはるかに読みやすくなります。
nvram -p
-x フラグを指定しないと、意味不明な文字列や XML、そしておそらく簡単に判読できるプレーン テキストが混在したデータが表示される可能性がありますが、このデータの大部分は、トラブルシューティングの目的で上級 Mac ユーザーにのみ関係します。
nvram -p の出力例は次のようになります。
$ nvram -p
efi-apple-payload-data %20%10%00%CC%00U%00P%00D%00A%20%10%00%CC%00U%00P%00D%00A%20%10%00%CC%00U%00P%00D%00A%20%00U%00P%00D%00A00U%00P%00D%00A00U%00P%00D%00A00U%00P%00D%00A00U%00P%00D%00A00U%00P%00D%00A00U%00P%00D%00A00U%00P%00D%00A00U%00P%00D%00A00U%00P%00D%00A00U%00P%00D%00A00U%00P%00D%00A00U%00P%00D%00A00U%00P%00D%00A00U%00P%00D%00A
efi-boot-device
SystemAudioVolumeDB %00
prev-lang:kbd en:0
繰り返しになりますが、これはほとんどのユーザーにとって意味のないデータですが、Mac の上級ユーザーであれば、何を探せばよいかわかっていれば、NVRAM で役立つ詳細を見つけることができます。
Mac OS XのコマンドラインからすべてのNVRAMをクリアする方法
次に便利なのは、同じコマンド文字列でNVRAMをクリアできることです。NVRAMのすべての変数を削除するには、次の構文を使用します。
nvram -c
変更を有効にするには、Mac を再起動する必要があります。そのため、他に何か作業を行っていない限り、そのついでにコマンドラインから再起動を開始することをお勧めします。
Mac OS Xで特定のNVRAM変数を削除する
より具体的には、-d フラグを使用して、設定された nvram 変数を削除対象として指定することもできます。
nvram -d (variable key name goes here)
たとえば、nvram からシステムオーディオ設定をクリアするには、次のようにします。
nvram -d SystemAudioVolume
NVRAMの変更をさらに進める
nvram コマンドは、上級ユーザー向けに他にも様々な用途があります。Mac の起動時のチャイム音を無効にしたり、Mac OS X で常に詳細モードで起動したり、さらにはターミナルからセーフブートモードを有効にしてリモート管理やヘッドレス/キーボードレス Mac を実現したりといった設定が可能です。この強力なコマンドについてさらに詳しく知りたい方は、nvram のマニュアルページが非常に役立ちます。また、他の構文オプションを表示するための基本的な –help フラグも役立ちます。
% nvram --help
nvram: (usage: no such option as --)
nvram [-x] [-p] [-f filename] [-d name] [-c] name[=value] ...
-x use XML format for printing or reading variables
(must appear before -p or -f)
-p print all firmware variables
-f set firmware variables from a text file
-d delete the named variable
-c delete all variables
name=value set named variable
name print variable
Note that arguments and options are executed in order.
これが必要か簡単かは、あなたのスキルレベルとニーズ次第です。多くの上級Macユーザーは、起動時にキーシーケンスを使ってPRAM / NVRAMをリセットできることをご存知です。これは特定の問題のトラブルシューティングにも役立ちます。この方法は、実際の再起動時に-cフラグを使用するのと同様にNVRAMからすべてのデータを削除するため、多くのユーザーにとって覚えやすいでしょう。これは、SSH接続されたリモートマシンやネットワーク上の別の場所にあるリモートマシンで作業する場合に特に役立ちます。これらのマシンでは、キーボードショートカットシーケンスを使ってNVRAMを手動でリセットすることが不可能です。
NVRAM をクリアするとトラブルシューティングに役立つもう一つの一般的な例として、Mac App Store がコンテンツやストアデータを表示しない空白の画面を読み込む場合が挙げられます。理由はともかく、NVRAM の -c フラグと再起動だけで、ほとんどの場合この問題は解決します。