目录

简介

先决条件

要求

使用的组件

背景信息

通过引导加载程序启动交换机的选项

选项 1：通过闪存文件系统中的文件启动

选项 2：通过 USB/TFTP 直接启动

选项 3：通过紧急安装进行复制和扩展

恢复受密码保护的交换机

绕过密码恢复锁定机制

相关信息

简介

本文档介绍如何不使用引导加载程序提示符 (rommon) 引导 Catalyst 9000 系列交换机，以及如何恢复密码。

先决条件

要求

本文档没有任何特定的要求。

使用的组件

本文档中的信息基于以下软件和硬件版本：

- Catalyst 9200

- Catalyst 9300

- Catalyst 9400

- Catalyst 9500

- Catalyst 9600

注意：有关在其他思科平台上启用这些功能所使用的命令，请参阅相应的配置指南。

本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始（默认）配置。如果您的网络处于活动状态，请确保您了解所有命令的潜在影响。

背景信息

在某些情况下，可通过 rommon 引导加载程序提示符启动 Catalyst 9000 交换机。当交换机无法加载完整的 Cisco IOS® 软件映像时，或者当您手动中断正常启动过程以执行密码恢复等操作时，就会出现该引导加载程序提示符。

提示符指示设备处于 rommon/引导加载程序模式。switch:引导加载程序提供一组有限的操作来管理设备。要查看可用操作的列表，请在 提示符下发出 命令。?switch:

switch: ?

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

alias               Set and display aliases command

boot                Load and boot an executable image

cat                 Concatenate (type) file(s)

copy                Copy a file

date                Show or Set system date

delete              delete file(s)

dir                 List files in directories

dns-lookup          Send DNS standard query packets

emergency-install   Initiate Disaster Recovery

help                Present list of available commands

history             Monitor command history

md5                 Compute MD5 checksum of a file

mkdir               Create directory(ies)

meminfo             Main memory information

net-show            Display current network configuration

ping                Send ICMP ECHO_REQUEST packets to a network host

rename              Rename a file/directory

reset               Reset the system

rmdir               delete directory(ies)

set                 Set or display environment variables

unalias             Unset an alias

unset               Unset one or more environment variables

version             Display boot loader version

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

通过引导加载程序启动交换机的选项

系统提供三个选项：

1. 通过闪存文件系统中的文件启动。

2. 通过 TFTP 或 USB 直接启动.

3. 紧急安装（此操作会清除闪存文件系统）。

选项 1：通过闪存文件系统中的文件启动

本节介绍交换机已启动进入引导加载程序/rommon 提示符且其闪存文件系统中已存在完整的可启动文件时应执行的步骤。如果交换机内部没有存储文件，或者您不确定这些文件的状态，请不要使用此选项，而应使用选项 2 或选项 3。

步骤1.运行命dir flash:令。

第 2 步： 从可启动交换机的两种文件类型中确定一种。两种文件类型分别为：

- Catalyst 9000系列交换机的可启动二进.bin制映像文件（以文件扩展名表示）。此文件可显示为： cat9k_iosxe_

.SPA.bin

注意：Catalyst 9200系列交换机没有使用与当前9300、9400、9500和9600系列交换机相同的通用映像。Catalyst 9200 系列交换机二进制映像的文件命名约定类似于： cat9k_lite_iosxe...SPA.bin

- 可启动配置 () 文件，用于指定之前从相关捆绑包文件中提取的软件包。.conf要启动此文件类型，闪存中还必须具有特定的软件包 () 文件。pkg

注意：本指南未涵盖这两种引导方法（称为捆绑包模式和安装模式）之间的操作差异。在交换机堆栈中，堆栈成员之间的启动模式必须一致。对于适用的平台，堆栈式虚拟对必须以安装模式运行。通过 提示符运行 命令，即可确定运行中的交换机堆叠的当前启动模式。show versionexec

可用于以捆绑包模式启动交换机的 文件示例：.bin

switch: dir flash:

<snip>

cat9k_iosxe.16.12.04.SPA.bin

闪存中包含软件包的 文件示例。.conf（下一步介绍如何验证这些软件包是否正确。）

switch: dir flash:

<snip>

14464008 -rw- cat9k-cc_srdriver.16.12.04.SPA.pkg

89134084 -rw- cat9k-espbase.16.12.04.SPA.pkg

1684484 -rw- cat9k-guestshell.16.12.04.SPA.pkg

531063808 -rw- cat9k-rpbase.16.12.04.SPA.pkg

41799673 -rw- cat9k-rpboot.16.12.04.SPA.pkg

31478788 -rw- cat9k-sipbase.16.12.04.SPA.pkg

60392448 -rw- cat9k-sipspa.16.12.04.SPA.pkg

23217156 -rw- cat9k-srdriver.16.12.04.SPA.pkg

7560 -rw- packages.conf                       <-- .conf file calls a group of packages

12907520 -rw- cat9k-webui.16.12.04.SPA.pkg

9216 -rw- cat9k-wlc.16.12.04.SPA.pkg

第 2a 步：如果选择启动 文件，则闪存中必须具有合适的关联软件包。.conf此类启动之所以失败，可能是因为软件包损坏，也可能是因为闪存中软件包的 文件不正确。"conf

要验证 文件是否与闪存中包含的软件包相匹配，请发出 ，将 替换为相关的软件包配置文件名。confcat flash:

.conf

在本例中，该文件称为 。packages

注意：包配置文件的默认名称.conf是某些升packages.conf.级过程可能会导致不同的文件名。

的文本输出，指示闪存文件系统中需要哪些 （软件包）文件，才能确保交换机正常启动：packages.conf.pkg

switch: cat flash:packages.conf

#! /usr/binos/bin/packages_conf.sh

sha1sum: fb7ea5ea75a0cbf14ce81cecf110e5a6d526df86

# sha1sum above - used to verify that this file is not corrupted.

#

# package.conf: provisioned software file for build 2020-07-09_21.53

#

# NOTE: Editing this file by hand is not recommended.

<snip>

# This is for CAT9k

boot rp 0 0 rp_boot cat9k-rpboot.16.12.04.SPA.pkg  <-- package files are for version 16.12.4

iso rp 0 0 rp_base cat9k-rpbase.16.12.04.SPA.pkg

iso rp 0 0 rp_daemons cat9k-rpbase.16.12.04.SPA.pkg

iso rp 0 0 rp_iosd cat9k-rpbase.16.12.04.SPA.pkg

iso rp 0 0 rp_security cat9k-rpbase.16.12.04.SPA.pkg

iso rp 0 0 rp_wlc cat9k-wlc.16.12.04.SPA.pkg

iso rp 0 0 rp_webui cat9k-webui.16.12.04.SPA.pkg

iso rp 0 0 srdriver cat9k-srdriver.16.12.04.SPA.pkg

iso rp 0 0 guestshell cat9k-guestshell.16.12.04.SPA.pkg

<snip>

步骤3.发出命令或boot flash:

.bin

命令并使boot flash:

.conf

用正确的<filename>命令。

switch: boot flash:packages.conf

boot: attempting to boot from [flash:packages.conf]

boot: reading file packages.conf

##################################################################...<snip>

选项 2：通过 USB/TFTP 直接启动

本节介绍使用 USB 闪存驱动器或 TFTP 服务器通过引导加载程序/rommon 提示符启动 Catalyst 9000 系列交换机的过程。如果使用这种方法，交换机只能以捆绑模式启动。交换机不会将启动的文件复制到闪存文件系统中，也不提供该选项。交换机启动后，交换机管理员必须将相关文件复制到闪存中。如果需要使用安装模式，要么在捆绑模式下成功启动后转换交换机，要么使用选项 3 中所述的步骤。

第 1 步： 从 cisco.com 下载 Catalyst 9000 系列交换机软件（例如：cat9k_iosxe.16.12.4.bin影响。 请记下所提供的消息摘要 5 (MD5) 散列值，以供后续使用。

第 2 步： 将下载的映像传输到 USB 闪存驱动器或 TFTP 服务器.

第 3a 步：（仅限 USB）将 USB 插入交换机。运行 命令并确认看到的文件正确无误。dir usbflash0:

switch: dir usbflash0:

Size           Attributes  Name

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

805827585        -rw-      cat9k_iosxe.16.12.04.SPA.bin

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

第 3b 步：（仅限 TFTP）要使用 TFTP，必须设置变量，以便交换机可以在连接到 TFTP 服务器的本地 IP 网络上进行通信。

使用 set 设置地址：

switch: set IP_ADDRESS 192.168.1.2

使用 set 设置子网掩码：

switch: set IP_SUBNET_MASK 255.255.255.0

使用 set 设置默认网关：

switch: set DEFAULT_GATEWAY 192.168.1.1

使用 ping 命令测试与 TFTP 服务器的连接：

switch: ping 192.168.1.10

Pinging 192.168.1.10, 4 time(s), with packet-size 16

service type : 0

total length : 9216 bytes

identification : 56580

fragmentation : 0

time to live : 254

protocol : 1

source : 192.168.1.2

destination : 192.168.1.10

<snip>

步骤4.使用boot从TFTP启动映像或usbflash0:

switch: boot tftp://192.168.1.10/cat9k_iosxe.16.12.04.SPA.bin

boot: attempting to boot from [tftp://192.168.1.10/cat9k_iosxe.16.12.04.SPA.bin]

h/w (environment):

mac       : aa:bb:cc:dd:ee:ff

n/w (environment):

ip        : 192.168.1.2

mask      : 255.255.255.0

gateway   : 192.168.1.1

h/w:

interface : eth0 (Ethernet)

mac       : aa:bb:cc:dd:ee:ff

n/w (ip v4):

ip        : 192.168.1.2

mask      : 255.255.255.0

route(s)  : 0.0.0.0 -> 192.168.1.0/255.255.255.0

n/w (ip v6):

ip(s)     : FE80::1234:5678:9123:4567/64

: 2001:111:2222:333:4444:5555:6666:7777/64

route(s)  : :: -> 2001:111:2222:333::/64

: :: -> FE80::/64

: FE80::999:8888:7777:6666 -> ::/

tftp v4:

server    : 192.168.1.10

file      : cat9k_iosxe.16.12.04.SPA.bin

blocksize : 1460

!!!!!!!!!!!!!!!!!!!!!!

<snip>

选项 3：通过紧急安装进行复制和扩展

如果闪存文件系统中未包含所需的软件包，或者您不希望先以捆绑包模式启动交换机，然后再转为安装模式，那么可以借助紧急安装程序，在安装模式下启动交换机。如果使用紧急安装方法，交换机在首次启动时，应具有相应的软件包文件、软件包配置文件和启动变量。

警告：下列步骤会完全清除闪存文件系统。以前所有的配置或保存的文件均会被清除。

注意：Catalyst 9200系列交换机不支持紧急安装。

步骤1.通过TFTP或USB访问二进制.bin镜像()文件。有关详细信息，请查看选项2的步骤1至3:在本指南中从USB/TFTP直接启动。

步骤2.使用命令验证在闪存恢复分区上有一个恢复文件可用dir sda9:。

可将恢复文件与从 cisco.com 下载的软件文件配合使用，执行复制和扩展过程。

switch: dir sda9:

Size Attributes Name

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

21656489 -rw- cat9k-recovery.SSA.bin  <-- Recovery Image

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

步骤3.使用命令启动紧急安装程emergency-install

序。此命令会格式化闪存文件系统，并将映像扩展为组件包。预留一些时间，以便完成相关过程。

switch: emergency-install tftp://192.168.1.10/cat9k_iosxe.16.12.04.SPA.bin

WARNING: The system partition (bootflash:) can be erased during the system recovery install process.

Are you sure you want to proceed? [y] y/n [n]: y

Starting system recovery (tftp://192.168.1.10/cat9k_iosxe.16.12.04.SPA.bin) ...

boot: attempting to boot from [sda9:cat9k-recovery.SSA.bin]

boot: reading file cat9k-recovery.SSA.bin

############################

<snip>

Downloading bundle tftp://192.168.1.10/cat9k_iosxe.16.12.04.SPA.bin...

curl_vrf=2

% Total    % Received % Xferd Average  Speed   Time    Time     Time     Current

Dload    Upload  Total   Spent    Left     Speed

100  768M  100 768M   0     0 5522k         0  0:02:22 0:02:22  --:--:-- 7646k

<snip>

Preparing flash....

Flash filesystem unmounted successfully /dev/sda3

Syncing device....

Emergency Install successful... Rebooting

can reboot now

步骤4.交换机可以返回引导加载程序/rommon提(switch:)示符。运行 命令。boot flash:packages.conf

switch: boot flash:packages.conf

boot: attempting to boot from [flash:packages.conf]

boot: reading file packages.conf

#

#############################

恢复受密码保护的交换机

要恢复受密码保护的交换机，您可以忽略启动配置。调整引导加载程序提示符中的变量，以绕过包含密码的 。startup-config

注意：在高可用性的Catalyst 9400交换机（两个管理引擎）上，执行密码恢复时，必须在通电之前删除辅助管理引擎。否则，主管理引擎可以从辅助管理引擎加载现有配置。根据需要配置密码后，您可以插入辅助管理引擎，然后辅助管理引擎可以从主管理引擎提取当前配置。

在引导加载程序 () 提示符下，运行 命令。switch:SWITCH_IGNORE_STARTUP_CFG=1

switch: SWITCH_IGNORE_STARTUP_CFG=1

按照通过引导加载程序启动交换机的选项部分中介绍的方法使用 boot 启动交换机。

启动交换机后，您可以使用未配置的交换机，通过 命令在闪存文件系统中恢复启动配置。copy:startup-config

根据需要配置交换机后，即可通过 提示符发出 命令和 命令，以允许交换机在未来启动时加载启动配置。no system ignore startupconfig switch allwrite memoryexec

警告：如果您未发出和，no system ignore startupconfig switch all则交write memory换机在将来重新加载时启动时不会进行任何配置。

绕过密码恢复锁定机制

在您尝试中断启动过程并访问引导加载程序时，交换机可能会显示错误消息。

该消息表示已禁用密码恢复。

The password-recovery mechanism has been triggered, but

is currently disabled. Access to the boot loader prompt

through the password-recovery mechanism is disallowed at

this point. However, if you agree to let the system be

reset back to the default system configuration, access

to the boot loader prompt can still be allowed.

Would you like to reset the system back to the default configuration (y/n)?

响应 将交换机重置为默认配置，并允许访问引导加载程序/rommon 提示符。y

响应 使用当前 boot 语句和启动配置来启动交换机。n

相关信息

- 技术支持和文档- 思科系统