GRUB モードへのアクセスと使用

Cisco Catalyst 8000V は、NVRAM 内に 16 ビットのコンフィギュレーション レジスタを搭載しています。各ビットの値は 1(オン、つまり設定)または 0(オフ、つまり解除)です。各ビットの設定は、次回のリロードまたはオフ/オン時のルータ動作に影響を与えます。GRUB モードでは、他のシスコ ルータの ROMMON オプションに相当するコンフィギュレーション レジスタ オプションのサブセットがサポートされます。

コンフィギュレーション レジスタを使用すると、次の作業を行うことができます。

  • ルータで GRUB モード(ブートストラッププログラム)を強制的に起動させる

  • 起動元およびデフォルトのブートファイル名を選択する

  • 忘れたパスワードを回復する

次の表でコンフィギュレーション レジスタ ビットについて説明します。

表 1. コンフィギュレーション レジスタ ビットの説明

ビット番号

16 進数

意味

00 ~ 03

0x0000 ~ 0x000F

ブート フィールド。ブート フィールドの設定によって、ルータがオペレーティング システムをロードするかどうか、どこからシステム イメージを取得するかが決まります。

詳細については、表「コンフィギュレーション レジスタのブートフィールドビットの説明」を参照してください。

06

0x0040

システム ソフトウェアに NVRAM の内容を無視させます。これは、パスワード回復に使用できます。


(注)  


クラウドソリューションで実行されている Cisco Catalyst 8000V の GRUB モードの開始は、クラウドプロバイダーのコンソールアクセス機能によって異なります。クラウドプロバイダーがコンソールへの制限付きアクセスを提供している場合、パスワード回復のために GRUB モードにアクセスすることはできません。



(注)  


ルータの再起動時に自動的に GRUB モードになるようにルータを設定するには、0x000 設定を使用します。

GRUB モードへのアクセス

GRUB モードにアクセスするには、次の手順を実行します。

手順


ステップ 1

enable

例:


Router> enable

特権 EXEC モードを有効にします。

  • プロンプトが表示されたらパスワードを入力します。

ステップ 2

config-register 0x0000

例:


Router# config-register 0x0000

値「0000」(0x0)を入力して GRUB モードを開始します。

次に、GRUB モードを開始する例を示します。


Router(config)# config-register 0x0000

GNU GRUB  version 2.02

Minimal BASH-like line editing is supported. For the first word, TAB
lists possible command completions. Anywhere else TAB lists possible
device or file completions. ESC at any time exits.

grub> confreg 0x2102

grub> プロンプトで疑問符を入力すると、システムヘルプの表示と config register コマンドの入力の 2 つのオプションが表示されます。


GRUB メニューの使用

GRUB メニューを使用して、ルータにロードされているソフトウェアイメージを表示し、どのイメージから起動するかを選択します。GRUB メニューにアクセスするには、GRUB プロンプトで「ESC 」と入力します。次に、GRUB メニューの表示を示します。

上下の矢印キーを使用して、どのイメージからルータを起動するかを選択します。GRUB プロンプトに戻るには、文字「c 」を入力します。

GRUB モードの開始とイメージの選択

GR およびユニファイドブートローダー(GRUB)モードから新しいシステムイメージをロードするには、EXEC モードで次の手順を実行します。

手順


ステップ 1

dir bootflash:

このコマンドを使用して、ブートフラッシュメモリ内のすべてのファイルおよびディレクトリを表示します。

例:


Router# dir bootflash:
 
Directory of bootflash:/
    3  -rw-     6458388   Dec 18 2020 00:00:58 c8000v.tmp 
 1580  -rw-     6462268   Dec 18 2020 06:14:02 c8000v-ata
63930368 bytes total (51007488 bytes free)

ステップ 2

configure terminal

このコマンドを使用して、グローバル コンフィギュレーション モードを開始します。

例:


Router# configure terminal
Router(config)#

ステップ 3

boot system bootflash: system-image-filename .bin

次回システム リロード後またはオフ/オン後に新しいシステム イメージをロードします。次に例を示します。

例:


Router(config)# boot system bootflash:
c8000v-universalk9.17.04.01a.SPA.bin

(注)  

 
新しいシステムイメージが、dir bootflash: コマンド出力に表示される最初のファイルまたは唯一のファイルの場合は、このステップを実行する必要はありません。

ステップ 4

do write

または

do write memory

例:


Router(config)# do write memory

(注)  

 
do write コマンドまたは do write memory コマンドを入力すると、ブートフラッシュディスクで使用可能なイメージの GRUB メニューリストが更新されます。

ステップ 5

config-register 0x0000

このコマンドを使用して、GRUB モードを開始します。

次に、GRUB モードを開始する設定出力の例を示します。

例:

GNU GRUB  version 2.02

   Minimal BASH-like line editing is supported. For the first word, TAB
   lists possible command completions. Anywhere else TAB lists possible
   device or file completions. ESC at any time exits.


grub> confreg 0x2102

例:

(注)  

 

config-register を 0x0000 に設定した場合は、システムを自動起動するために、デフォルトの 0x2102 にリセットする必要があります。値が 0x0 の場合、システムは GRUB モードで停止します。

ステップ 6

grub> プロンプトで「ESC」と入力して、GRUB メニューにアクセスします。

起動に使用できるイメージを含む GRUB メニューが表示されます。

例:

Cisco IOS XE Software, Version 2020-09-17_09.24_kamitch
Cisco IOS Software [Bengaluru], Virtual XE Software (X86_64_LINUX_IOSD-UNIVERSALK9-M), Experimental Version 17.5.20200916:194029 [HEAD-/scratch/kamitch/git/polaris-work/boottime1 106]
Copyright (c) 1986-2020 by Cisco Systems, Inc.
Compiled Wed 16-Sep-20 15:45 by kamitch


Cisco IOS-XE software, Copyright (c) 2005-2020 by cisco Systems, Inc.
All rights reserved.  Certain components of Cisco IOS-XE software are
licensed under the GNU General Public License ("GPL") Version 2.0.  The
software code licensed under GPL Version 2.0 is free software that comes
with ABSOLUTELY NO WARRANTY.  You can redistribute and/or modify such
GPL code under the terms of GPL Version 2.0.  For more details, see the
documentation or "License Notice" file accompanying the IOS-XE software,
or the applicable URL provided on the flyer accompanying the IOS-XE
software.


ROM: IOS-XE ROMMON

Router uptime is 18 minutes
Uptime for this control processor is 21 minutes
System returned to ROM by reload
System image file is "bootflash:packages.conf"

上下の矢印キーを使用して、ルータを起動するイメージを選択します。GRUB プロンプトに戻るには、文字「c 」を入力します。

ステップ 7

ルータのソフトウェアイメージを新しいバージョンにアップグレードするには、.bin ファイルを選択します。

ステップ 8

Enter を押して選択したイメージを起動し、アップグレードプロセスを開始します。


コンフィギュレーション レジスタ(confreg)の変更

このセクションでは、confreg GRUB コマンドを使用して、コンフィギュレーション レジスタを変更する方法について説明します。このコマンドは、他のシスコ製ハードウェアルータの confreg ROMOM コマンドに似ています。このルータには ROMOM モードが含まれていないため、同様の機能は GRUB コマンドモードで処理されます。

グローバル コンフィギュレーション モードで config-register コマンドを使用して、Cisco IOS CLI からコンフィギュレーション レジスタの設定を変更することもできます。


(注)  


変更したコンフィギュレーション レジスタ値は、NVRAM に自動的に書き込まれますが、新しい値が有効になるのは、ルータをリセットまたはオフ/オンしてからです。

手順


confreg [value ]

例:


grub> confreg 0x2102

GRUB コマンド モードでコンフィギュレーション レジスタの設定値を変更します。

  • 任意で、コンフィギュレーション レジスタに対応する新しい 16 進値を入力します。値の範囲は 0x0~0xFFFF です。

  • 値を入力しなかった場合、16 ビットのコンフィギュレーション レジスタの各ビットについて、入力が求められます。


次のタスク

次のコードは、GRUB モードを開始して、コンフィギュレーション レジスタを使用する例です。GRUB モードにアクセスするには、Cisco IOS XE config-register コマンドを入力し、値として「0000」を指定します。


Router(config)# config-register 0x0000
 
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. ]
grub> help
 [ 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 ...]
grub> confreg
           Configuration Summary
   (Virtual Configuration Register: 0x0)
enabled are:
boot: the boot loader
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
grub> confreg    
           Configuration Summary
   (Virtual Configuration Register: 0x0)
enabled are:
boot: the boot loader
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
grub> confreg 0x2102
Configuration Register: 0x2102
grub> confreg
           Configuration Summary
   (Virtual Configuration Register: 0x2102)
enabled are:
boot: default image
do you wish to change the configuration? y/n [n
]:
grub>   
grub>
    GNU GRUB  version 2.02  (638K lower / 3143616K upper memory)
-------------------------------------------------------------------
 0: C8000v - packages.conf
 1: C8000v - c800v-packages-universalk9
 2: C8000v - 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.
    Highlighted entry is 0: 
  Booting 'C8000v - packages.conf'
root (hd0,0)
 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
SHA-1 hash:
        calculated   817e1716:e8e62778:7dd0b806:32db2bdd:13e51407
        expected     817e1716:e8e62778:7dd0b806:32db2bdd:13e51407
package header rev 1 structure detected
Calculating SHA-1 hash...done
SHA-1 hash:
        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 モードを開始し、プロンプトが表示されたらパスワードを入力します。

例:


Router> enable
Password: password
Router#

ステップ 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 0x
value

ステップ 6

グローバル コンフィギュレーション モードを終了します。

例:


Router(config)# end
Router#

ステップ 7

変更した設定を NVRAM に保存します。

Router# copy running-config startup-config

新しいコンフィギュレーション レジスタの設定値が NVRAM に保存されても、有効になるのは次回のルータ リロード時またはオフ/オン時です。


コンフィギュレーション レジスタの設定の表示

現在有効なコンフィギュレーション レジスタの設定値および次回のルータリロード時に使用される設定値を表示するには、特権 EXEC モードで show version コマンドを入力します。

コンフィギュレーション レジスタの設定値は、show version コマンド出力の最終行に示されます。


Configuration register is 0x142 (will be 0x142 at next reload)