コンフィギュレーション レジスタの概要
Cisco CSR 1000V では NVRAM の 16 ビット コンフィギュレーション レジスタがあります。各ビットの値は 1(オンすなわち設定)または 0(オフすなわち解除)です。各ビットの設定が次回リロードまたはオフ/オン時のルータ動作を左右します。Cisco CSR 1000V では、他のシスコ ルータの ROMmon オプションと対比されるコンフィギュレーション レジスタ オプションのサブセットをサポートしています。
コンフィギュレーション レジスタを使用すると、次の作業を行うことができます。
• ルータで GRUB(ブートストラップ プログラム)を強制的に起動させる
• ブート ソースおよびデフォルトのブート ファイル名を選択する
• 忘れたパスワードを回復する
表 1 に、コンフィギュレーション レジスタの各ビットについての説明を示します。
表 1 コンフィギュレーション レジスタ ビットの説明
|
|
|
00 ~ 03 |
0x0000 ~ 0x000F |
ブート フィールド。ブート フィールドの設定によって、ルータがオペレーティング システムをロードするかどうか、どこからシステム イメージを取得するかが決まります。 詳細については、 表 2 を参照してください。 |
06 |
0x0040 |
システム ソフトウェアに NVRAM の内容を無視させます。これは、パスワード回復に使用できます。 |
表 2 にブート フィールドについての説明を示します。ブート フィールドは、コンフィギュレーション レジスタの下位 4 ビット(ビット 3、2、1、および 0)です。ブート フィールドの設定によって、ルータがオペレーティング システムをロードするかどうかが決まります。
表 2 コンフィギュレーション レジスタのブート フィールド ビットの説明
|
|
0000 (0x0) |
次回の電源再投入またはリロード時に、ルータは GRUB(ブートストラップ プログラム)を起動します。 GRUB モードでは、 boot コマンドを使用して、システム イメージまたはその他のイメージを手動でブートする必要があります。 |
0001 ~ 1111 (0x01 0x0F) |
次回のオフ/オン時またはリロード時に、ルータはシステムが正常に起動するまで、コンフィギュレーション ファイルに指定されているグローバル コンフィギュレーション モードの各 boot system コマンドを順番に処理します。 boot system コマンドがコンフィギュレーション ファイルに指定されていない場合、またはコマンドの実行がすべて失敗した場合、ルータはフラッシュ メモリの最初のイメージ ファイルを起動しようとします。 |
(注) ルータのブート時に自動的に GRUB モードになるように Cisco CSR 1000V を設定するには 0x000 設定を使用します。
コンフィギュレーション レジスタ(confreg)の変更
ここでは、 confreg GRUB コマンドを使用して、コンフィギュレーション レジスタを変更する方法について説明します。このコマンドは、他のシスコ製ハードウェア ルータの confreg ROMmon コマンドに似ています。Cisco CSR 1000V には ROMmon モードが含まれていないため、同様の機能は GRUB コマンド モードで処理されます。
グローバル コンフィギュレーション モードで config-register コマンドを使用して、Cisco IOS CLI からコンフィギュレーション レジスタの設定を変更することもできます。
(注) 変更したコンフィギュレーション レジスタ値は、NVRAM に自動的に書き込まれますが、新しい値が有効になるのは、ルータをリセットまたはオフ/オンしてからです。
|
|
|
ステップ 1 |
confreg [ value ]
grub > confreg 0x2102 |
GRUB コマンド モードでコンフィギュレーション レジスタの設定値を変更します。 • 任意で、コンフィギュレーション レジスタに対応する新しい 16 進値を入力します。値の範囲は 0x0~0xFFFF です。 • 値を入力しなかった場合、16 ビットのコンフィギュレーション レジスタの各ビットについて、入力が求められます。 |
次に、コンフィギュレーション レジスタの使用例を示します。
GNU GRUB version 0.97 (638K lower / 3143616K upper memory)
[ Minimal BASH-like line editing is supported. For the first word, TAB
lists possible command completions. Anywhere else TAB lists the possible
completions of a device/filename. ESC at any time exits to menu. ]
[ Minimal BASH-like line editing is supported. For the first word, TAB
lists possible command completions. Anywhere else TAB lists the possible
completions of a device/filename. ESC at any time exits to menu. ]
confreg [VALUE] help [--all] [PATTERN ...]
(Virtual Configuration Register: 0x0)
do you wish to change the configuration? y/n [n]:
(Virtual Configuration Register: 0x0)
do you wish to change the configuration? y/n [n]:
ignore system config info? y/n [n]:
automatically boot default system image? y/n [n]:
Configuration Register: 0x0
(Virtual Configuration Register: 0x0)
do you wish to change the configuration? y/n [n]:
ignore system config info? y/n [n]:
automatically boot default system image? y/n [n]:
Configuration Register: 0x42
Configuration Register: 0x2102
(Virtual Configuration Register: 0x2102)
do you wish to change the configuration? y/n [n]:
GNU GRUB version 0.97 (638K lower / 3143616K upper memory)
-------------------------------------------------------------------
0: CSR1000v - packages.conf
1: CSR1000v - csr100v-packages-adventerprisek9
2: CSR1000v - GOLDEN IMAGE
-------------------------------------------------------------------
Use the ^ and v keys to select which entry is highlighted.
Press enter to boot the selected OS, or 'c' for a command-line.
Booting 'CSR1000v - packages.conf'
Filesystem type is ext2fs, partition type 0x83
kernel /packages.conf rw root=/dev/ram console=ttyS1,9600 max_loop=64 HARDWARE=
virtual SR_BOOT=harddisk:packages.conf
Calculating SHA-1 hash...done
calculated 817e1716:e8e62778:7dd0b806:32db2bdd:13e51407
expected 817e1716:e8e62778:7dd0b806:32db2bdd:13e51407
package header rev 1 structure detected
Calculating SHA-1 hash...done
calculated d4eaba99:34cbda63:26151233:9d0e9aa4:9c625302
expected d4eaba99:34cbda63:26151233:9d0e9aa4:9c625302
Package type:0x7531, flags:0x0
[Linux-bzImage, setup=0x2e00, size=0x2c18c00]
[isord @ 0x7e6d0000, 0x191f000 bytes]
コンフィギュレーション レジスタの設定変更
コンフィギュレーション レジスタの設定値は、GRUB からでも Cisco IOS XE CLI からでも変更できます。ここでは、Cisco IOS XE CLI からコンフィギュレーション レジスタの設定値を変更する方法について説明します。
Cisco IOS XE CLI からコンフィギュレーション レジスタの設定値を変更する手順は、次のとおりです。
ステップ 1 ルータの電源を投入します。
ステップ 2 初期ダイアログを開始するかどうか尋ねられるので、no と応答します。
Would you like to enter the initial dialog? [yes]: no
数秒後にユーザ EXEC プロンプト( Router>
)が表示されます。
ステップ 3 enable を入力して特権 EXEC モードを開始し、プロンプトにパスワードを入力します。
ステップ 4 グローバル コンフィギュレーション モードを開始します。
Router# configure terminal
Enter configuration commands, one per line.
Edit with DELETE, CTRL/W, and CTRL/U; end with CTRL/Z
ステップ 5 コンフィギュレーション レジスタの設定値を変更するには、 config-register value コマンドを入力します。 value は 0x を前に加えた 16 進数です。
Router(config)# config-register 0xvalue
ステップ 6 グローバル コンフィギュレーション モードを終了します。
ステップ 7 変更した設定を NVRAM に保存します。
Router#
copy running-config startup-config
新しいコンフィギュレーション レジスタの設定値が NVRAM に保存されても、有効になるのは次回のルータ リロード時またはオフ/オン時です。
コンフィギュレーション レジスタの設定の表示
現在有効なコンフィギュレーション レジスタの設定値および次回のルータ リロード時に使用される設定値を表示するには、特権 EXEC モードで show version コマンドを入力します。
コンフィギュレーション レジスタの設定値は、 show version コマンド出力の最終行に示されます。
Configuration register is 0x142 (will be 0x142 at next reload)