Ciscoルータとコンフィギュレーションレジスタ

コンフィギュレーションレジスタ

CiscoルータのNVRAMには16bitのコンフィギュレーションレジスタが保存されています。 コンフィギュレーションレジスタでは以下の項目について設定することができる。
ビット番号 16進値 意味
00 0x0001 電源投入または再起動時にROMモニタを起動
01 0x0002 フラッシュメモリの最初のイメージをシステム・イメージとして起動
02 0x0004 フラッシュメモリからのデフォルト起動のイネーブル設定
06 0x0040 システム・ソフトウェアでNVRAMの内容を無視
07 0x0080 OEMビットのイネーブル設定
08 0x0100 Breakのディセーブル設定
09 0x0200 システムでセカンダリ・ブートストラップを使用
10 0x0400 IPブロードキャストを全ビット0とする
05、11、12 0x0020、0x0800、 0x1000 コンソール回線速度
13 0x2000 ネットワーク・ブートの失敗時にデフォルトROMソフトウェアを起動
14 0x4000 IPブロードキャストにネット番号を付けない
15 0x8000 診断メッセージをイネーブルにし、NVRAMの内容を無視
コンフィギュレーションレジスタは16進数で設定しますが、意味の割り当ては2進数でされています。従って設定・変更をするときは2ビットで立てるフラグを考えてから16進数に変換して入力することになります。デフォルトの値は"0x2102"になっていると思います。

変更方法

コンフィギュレーションレジスタの値を変えたいときはいろいろあります。 IOSが起動しているのであれば、変更は簡単です。
> enable
# configure terminal
# config-register <VALUE>
と打ちましょう。

問題はIOSが上がってこない場合です。レジスタの値を間違えるとよく起こります。 まずルータへコンソールで接続しましょう。これで起動しても何も表示されない場合、かなり焦りますがコンソールの回線速度が違う場合が多いです。

コンソールの回線速度はビット5, 11, 12で設定されます。現在のレジスタの値を覚えている場合は、ルータの回線速度にターミナルクライアントの設定を合わせましょう。覚えていない場合は、一つ一つ試すしかありません。
速度 ビット 5 ビット 12 ビット 11
115200 1 1 1
57600 1 1 0
38400 1 0 1
19200 1 0 0
9600 0 0 0
4800 0 0 1
2400 0 1 1
1200 0 1 0
回線速度が合っている場合は、まずブレーク信号を送ります。無事プロンプトが表示されたらとりあえず
> o
と入力してみましょう。1行目に現在のレジスタの値が表示されるはずです。ここから
> o/r <VALUE>
と打つと値を変更できます。
パスワードを忘れて復旧したい場合は6bitめを0にしてコンフィグを無視させます。
IOSが壊れちゃって起動しないのを復旧させたいときはとりあえず1bitめを1にしてフラッシュメモリから起動させます。
状況に応じて適宜変更させましょう。繰り返しになりますが、デフォルトは"0x2102"です。