Mac

Macのコマンドラインからセーフモードを有効にする方法

Macのコマンドラインからセーフモードを有効にする方法

MacのセーフブートモードMac の複雑な問題のトラブルシューティングは、それ自体が困難な場合があります。特に複雑な状況に直面した場合、コマンドラインが大きな助けとなることがあります。このような場合、上級ユーザーであれば、ファームウェア変数を直接操作できるツールである nvram ユーティリティを使用して、Mac をセーフモードで起動できます。nvram を使用することで、コマンドラインから完全にセーフブートが可能になります。これにより、Mac OS X のシステム起動時に Shift キーを押しながらセーフモードで起動するという Mac の標準的な方法が不要になります。これにより、リモートでセーフモードを有効にしてリモートトラブルシューティングを改善したり、さまざまなスクリプトアプリケーションを使用したりできます。


これはかなり高度なアプリケーションでしか使えないトリックなので、ほとんどのユーザーはこれを使う必要はないでしょう。とはいえ、nvramコマンドは完全なリモートトラブルシューティングを可能にし、MacのキーボードやUSBインターフェースに問題があり、Shiftキーを使ってセーフブートを通常通りに実行できない場合にも役立ちます。

Mac OS Xのターミナルからセーフブートを有効にする

NVRAM を搭載したターミナルからセーフ モードを有効にするコマンド シーケンスは次のとおりです。

sudo nvram boot-args="-x"

注意: これはブート引数を適用してセーフ モードが常に有効になるように設定します。つまり、明示的に再度無効にするまで、すべてのブートは付随するすべての制限付きで「安全」になります。

トラブルシューティングが完了したら、Mac が通常どおり起動して再び通常どおり動作できるように、ファームウェアから boot-arg を削除します。これは、次のコマンド文字列で boot-args をクリアすることで実行できます。

sudo nvram boot-args=""

次のコマンドを使用して、現在の nvram ブート引数を確認することもできます。

nvram boot-args

クリアされている場合は、変数が見つからなかったことを示すエラー メッセージが表示されます。

Mac OS Xのターミナル

これは明らかに Mac OS X のローカル端末から直接使用できますが、別のマシンでリモート管理の目的でこの nvram コマンドを使用できるようにするには、対象の Mac で SSH サーバーを有効にして、Mac を管理するためのリモート ログインを許可する必要があります。

-x ブート引数は -v 引数と組み合わせて使用​​して、セーフモードでのブートと常に詳細モードでのブートを組み合わせることもできますが、リモートで管理されている Mac で詳細ブートがどの程度役立つかは疑問です。

キーボードとUSBインターフェースが機能しなくなり、不可解な動作をするMacのトラブルシューティングにこのトリックを使う必要がありました。最終的にMacが水に濡れていたことが判明し、乾燥させることでマシンは回復しました。この場合はトラブルシューティングのトリックは必要ありませんでしたが、必要な状況は他にもたくさんあります。