在对一台带语音模快的 CISCO2610 进行 IOS 升级时,由于路由器的内存( flash )为 8M IOS 软件为 7M 多,升级后路由器无法正常启动。启动后到 rommon 1 > 状态,请求帮助。由于本人长期从事计算机网络管理工作,在对 CISCO 路由器的长期日常维护和管理实践中积累了一定的经验。现总结归纳出 CISCO 路由器 IOS 映像升级的几种方法,供广大网络爱好者或同仁参考。在介绍 CISCO 路由器 IOS 升级方法前,有必要对 Cisco 路由器的存储器的相关知识作以简单介绍。路由器与计算机相似,它也有内存和操作系统。在 Cisco 路由器中,其操作系统叫做互连网操作系统 (Internetwork Operating System) ,常简称为 IOS 。路由器的存储器主要有:
ROM:
只读存储器包含路由器正在使用的 IOS 的一份副本;
RAM:IOS
将随机访问存储器分成共享和主存。主要用来存储运行中的路由器配置和与路由协议有关的 IOS 数据结构;
FLASH (
闪存 ) :用来存储 IOS 软件映像文件,闪存是可以擦除内存,它能够用 IOS 的新版本覆写, IOS 升级主要是闪存中的 IOS 映像文件进行更换。
NVRAM
:非易失性随机访问存储器,用来存储系统的配置文件。
IOS 升级方法一

在对能够正常启动的 CISCO 路由器的 IOS 进行升级时,比较简单。具体步骤如下:

1
、寻找一种 TFTP 服务器软件(有 CISCO 公司的 TFTPServer 3COM 公司的 3Cserver 等,在升级较大 IOS 映象文件时,建议用 3Cserver ),安装在一台计算机上,将要升级的 IOS 映象文件拷贝到相关的目录中(例: D:\ ),并运行 TFTP 服务器软件,通过菜单设置 Root 目录为拷贝 IOS 映象文件所在目录(如 D:\ )。假设该计算机的 IP 地址为 10.32.10.1

2
、连接路由器的 console 口与 PC 机的 COM1 ,使用 PC 的超级终端软件访问路由器,将路由器的地址设为 10.32.10.32 (与计算机的 IP 地址同网段即可)。建议在进行 IOS 升级前将原有 IOS 文件备份下来,防止待升级的 IOS 文件存在问题不可用; <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

QUOTE:

     Router# dir flash:     ( 查看目前 IOS 映象文件名,也可用 Router#Show version)

     Directory of flash:/

     1  -rw-     5998292                C2600-I-MZ.122-11.BIN

     8388608 bytes total (2390252 bytes free)

     Router#copy flash tftp            
(备份 IOS 文件)

     Source filename []?c2600-i-mz.122-11.bin

     Address or name of remote host []? 10.32.10.1    (TFTP
服务器地址 )

     Destination filename [c2600-i-mz.122-11.bin]?

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

     …

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

     5998292 bytes copied in 324.071 secs (18509 bytes/sec)

     Router#

3 、对路由器进行 IOS 升级;

QUOTE:

     Router#copy tftp flash

     Address or name of remote host []? 10.32.10.1       (TFTP
服务器地址 )

     Source filename []? c2600-i-mz.122-11.bin         
(需升级的新 IOS 映象文件名)

     Destination filename [c2600-i-mz.122-11.bin]?

     Do you want to over write? [confirm]

     Accessing tftp://10.32.10.1/c2600-i-mz.122-11.bin...

     Erase flash: before copying? [confirm]

     Erasing the flash filesystem will remove all files! Continue? [confirm]

     Erasing device... eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee ...erasedee

     Erase of flash: complete

     Loading c2600-i-mz.122-11.bin from 10.32.10.1 (via Ethernet0/0): !!!!!!!!!!!!!!

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

     …

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

     [OK - 5998292 bytes]

     Verifying checksum...  OK (0xA0C0)

     5998292 bytes copied in 318.282 secs (18846 bytes/sec)

     Router#

IOS 升级方法二

由于升级失败后或者路由器的 config-register 寄存器值为 0x2101 时,开启路由器时、或者在开启(某些型号) Cisco 路由器的电源开关后 30 秒内按下 Ctrl+break 键,中断路由器的正常启动,路由器都会进入 rom 监视模式 , Router(boot)> ,在这种情形下,对路由器的 IOS 进行升级,也比较简单。首先进入特权模式下,即

QUOTE:

     Router(boot)>en

     Router(boot)#

其他升级步骤同方法一,即:执行 copy tftp flash 命令,对 IOS 进行升级。升级完成后,不要忘了修改 config-register 寄存器值为 0x2102 (恢复正常值)。

QUOTE:

     Router(boot)# t

     Router(boot)( config)# config-register 0x2102

     Router(boot)( config)#exit

     Router(boot)#wr

     Router(boot)#reload      

重启即可。

IOS 升级方法三

由于不小心使用了命令 erase flash 或升级失败后或在开启(某些型号) Cisco 路由器的电源开关后 30 秒内按下 Ctrl+break 键,中断路由器的正常启动,路由器都会进入 rom 监视模式 , rommon 1> ,在这种情形下,对路由器的 IOS 进行升级,情况要稍微复杂一点。在 rommon 1> 状态下,可键 ? 请求帮助。 (1 为命令行序号,每执行 1 条命令自动加 1)

QUOTE:

     rommon 1 > ?

     alias               set and display aliases command

     boot                boot up an external process

     break               set/show/clear the breakpoint

     confreg             configuration register utility

     cont                continue executing a downloaded p_w_picpath

     context             display the context of a loaded p_w_picpath

     cookie              display contents of cookie PROM in hex

     dev                 list the device table

     dir                 list files in file system

     dis                 display instruction stream

     dnld                serial download a program module

     frame               print out a selected stack frame

     help                monitor builtin command help

     history             monitor command history

     meminfo             main memory information

     repeat              repeat a monitor command

     reset               system reset

     set                 display the monitor variables

     stack               produce a stack trace

     sync                write monitor environment to NVRAM

     sysret              print out info from last system return

     tftpdnld            tftp p_w_picpath download

     unalias             unset an alias

     unset               unset a monitor variable

     xmodem              x/ymodem p_w_picpath download

     rommon 2 >

rommon 1> 状态下有两种升级 IOS 方法。

(一)、通过 Xmodem 命令(注: Xmodem 与实际的 modem 没有任何联系 只是一个传输协议 数据是通过终端的串口和路由器的 Console 口灌进去的)升级 IOS ,具体步骤如下:

1
、用 Cisco 原配的线缆连接路由器的 console 口与 PC 机的 COM1 ,使用 PC 机的超级终端软件访问路由器,这时不需要对 PC 和路由器配置任何地址。

2
、在这个模式下,输入 Xmodem 命令,即:

QUOTE:

     rommon 2 > xmodem -c c2600-i-mz.122-11.bin

     
-c 是带校验, c2600-i-mz.122-11.bin 为存放在 PC 机上的 IOS 映像文件)

     WARNING: All existing data in bootflash will be lost!

     Invoke this application only for disaster recovery.

     Do you wish to continue? y/n  [n]:  y

Ready to receive file c2600-i-mz.122-11.bin ...       (此时在超级终端的传送栏目 => 选择发送文件选项 => 再选择 Xmodem 并指明 IOS 映像文件所在的路径,按发送即开始上传 IOS, 等待时间很长,视 IOS 的大小和传输速度。)

QUOTE:

     Erasing flash at 0x607c0000

     program flash location 0x605b0000

     Download Complete!

传完以后,对整个系统初始化 显示如下:

QUOTE:

     program load complete, entry point: 0x80008000, size: 0x5b85e0

     Self decompressing the p_w_picpath : #################################################

     ################################################# [OK]

     Smart Init is disabled. IOMEM set to: 10

     Using iomem percentage: 10

     Restricted Rights Legend

     Use, duplication, or disclosure by the Government is

     subject to restrictions as set forth in subparagraph

     (c) of the Commercial Computer Software - Restricted

     Rights clause at FAR sec. 52.227-19 and subparagraph

     (c) (1) (ii) of the Rights in Technical Data and Computer

     Software clause at DFARS sec. 252.227-7013.

     cisco Systems, Inc.

     170 West Tasman Drive

     San Jose, California 95134-1706

     Cisco Internetwork Operating System Software

     IOS (tm) C2600 Software (C2600-I-M), Version 12.2(11)T9,  RELEASE SOFTWARE (fc1)

     TAC Support: [url]http://www.cisco.com/tac[/url]

     Copyright (c) 1986-2003 by cisco Systems, Inc.

     Compiled Mon 23-Jun-03 15:42 by cmong

     Image text-base: 0x8000809C, data-base: 0x80A68B48

     cisco 2610 (MPC860) processor (revision 0x203) with 22528K/2048K bytes of memory

     Processor board ID JAD03483395 (1128032249)

     M860 processor: part number 0, mask 49

     Bridging software.

     X.25 software, Version 3.0.0.

     1 Ethernet/IEEE 802.3 interface(s)

     2 Serial(sync/async) network interface(s)

     32K bytes of non-volatile configuration memory.

     8192K bytes of processor board System flash (Read/Write)

     Press RETURN to get started!

     *Mar  1 00:00:05.652: %PA-2-UNDEFPA: Undefined Port Adaptor type 100 in bay 1

     *Mar  1 00:00:07.996: %LINK-3-UPDOWN: Interface Ethernet0/0, changed state to up

     *Mar  1 00:00:07.996: %LINK-3-UPDOWN: Interface Serial0/0, changed state to down

     *Mar  1 00:00:07.996: %LINK-3-UPDOWN: Interface Serial0/1, changed state to down

     *Mar  1 00:00:09.142: %LINEPROTO-5-UPDOWN: Line protocol on Interface Ethernet0/0, changed state to up

     *Mar  1 00:00:09.142: %LINEPROTO-5-UPDOWN: Line protocol on Interface Serial0/0, changed state to down

     *Mar  1 00:00:09.142: %LINEPROTO-5-UPDOWN: Line protocol on Interface Serial0/1, changed state to down

     *Mar  1 00:00:09.458: %SYS-5-CONFIG_I: Configured from memory by console

     *Mar  1 00:00:11.245: %LINK-5-CHANGED: Interface Serial0/1, changed state to administratively down

     *Mar  1 00:00:12.275: %SYS-5-RESTART: System restarted --Cisco Internetwork Operating System Software

     IOS (tm) C2600 Software (C2600-I-M), Version 12.2(11)T9,  RELEASE SOFTWARE (fc1)

     TAC Support: [url]http://www.cisco.com/tac[/url]

     Copyright (c) 1986-2003 by cisco Systems, Inc.

     Compiled Mon 23-Jun-03 15:42 by cmong

     *Mar  1 00:00:12.279: %SNMP-5-COLDSTART: SNMP agent on host NE16 is undergoing a cold start

Router>

采用这种方法时,由于使用 console 口来传送,速率为 9600bps ,需要时间较长。因此可修改 console 口速率利用 xmodem 命令实现快速升级 IOS 。具体方法如下:

QUOTE:

     rommon 1 > confreg 回车

     Configuration Summary

     enabled are:

     load rom after netboot fails

     console baud: 9600

     boot: p_w_picpath specified by the boot system commands

     or default to: cisco2-C2600

     do you wish to change the configuration? y/n [n]: y (
选择 yes)

     enable "diagnostic mode"? y/n [n]: n (
选择 no)

     enable "use net in IP bcast address"? y/n [n]: n (
选择 no)

     disable "load rom after netboot fails"? y/n [n]: n (
选择 no)

     enable "use all zero broadcast"? y/n [n]: n (
选择 no)

     enable "break/abort has effect"? y/n [n]: n (
选择 no)

     enable "ignore system config info"? y/n [n]: n (
选择 no)

     change console baud rate? y/n [n]: y (
选择 yes)

     enter rate: 0 = 9600, 1 = 4800, 2 = 1200, 3 = 2400

     4 = 19200, 5 = 38400, 6 = 57600, 7 = 115200 [0]: 7 (
选择 7, 用最大的 11520

     
速率的 xmodem 传输 )

     change the boot characteristics? y/n [n]: n (
选择 no)

     Configuration Summary

     enabled are:

     load rom after netboot fails

     console baud: 115200

     boot: p_w_picpath specified by the boot system commands

     or default to: cisco2-C2600

     do you wish to change the configuration? y/n [n]: n (
选择 no)

     You must reset or power cycle for new config to take effect

     rommon 2 > reset
回车

注意:在按 reset 键前,需要修改串口速度(我的电脑 --- 端口属性 ---- 串口速度调为 115200 ),然后再修改超级终端里设置速率为 115200 ,记住,一定要这么做,否则会出现乱码! 然后关闭这个超级终端,重新建立一个超级终端连接,重新启动系统后,出现

QUOTE:

     rommon 1> 提示符

然后 , 输入

QUOTE:

     rommon 1> xmodem -r

     Do not start the sending program yet...

     Invoke this application only for disaster recovery.

     Do you wish to continue? y/n [n]: y (
选择 yes)

     Ready to receive file ...

此时,在超级终端的菜单上的 传送 ”---“ 发送文件 ”---- 选择 IOS 映像文件所在地以及选择使用 “xmodem” 协议,点击 发送 即可。等待 10-20 分钟左右就可升级完 3-6M IOS 文件!待升级完成后,请记住修改回计算机串口与超级终端、路由器 confreg 下的 xmodem 等传输速率为 9600bps

方法如下:

QUOTE:

     Router>en 进入新 IOS 的特权模式

     Router#reload
重启系统

     Proceed with reload? [confirm]
回车

     00:01:04: %SYS-5-RELOAD: Reload requested

     System Bootstrap, Version 11.3(2)XA4, RELEASE SOFTWARE (fc1)

     Copyright (c) 1999 by cisco Systems, Inc.

     TAC:Home:SW:IOS:Specials for info

     PC = 0xfff0a530, Vector = 0x500, SP = 0x680127b0

     C2600 platform with 24576 Kbytes of main memory

     PC = 0xfff0a530, Vector = 0x500, SP = 0x80004684            

     monitor: command "boot" aborted due to user interrupt      

     30
秒内按 ctrl+break

     rommon 1 > confreg
输入 “confreg” 命令)

     Configuration Summary

     enabled are:

     load rom after netboot fails

     console baud: 115200

     boot: p_w_picpath specified by the boot system commands

     or default to: cisco2-C2600

     do you wish to change the configuration? y/n [n]: y (
选择 yes)

     enable "diagnostic mode"? y/n [n]: n (
选择 no)

     enable "use nn IP bcast address"? y/n [n]: n (
选择 no)

     disable "load rom after netboot fails"? y/n [n]: n (
选择 no)

     enable "use all zero broadcast"? y/n [n]: n (
选择 no)

     enable "break/abort has effect"? y/n [n]: n (
选择 no)

     enable "ignore system config info"? y/n [n]: n (
选择 no)

     change console baud rate? y/n [n]: y (
选择 yes)

     enter rate: 0 = 9600, 1 = 4800, 2 = 1200, 3 = 2400

     4 = 19200, 5 = 38400, 6 = 57600, 7 = 115200 [7]: 0 (
选择 0, 改回用标准速率速率 9600 xmodem 传输 )

     change the boot characteristics? y/n [n]: n (
选择 no)

     Configuration Summary

     enabled are:

     load rom after netboot fails

     console baud: 9600

     boot: p_w_picpath specified by the boot system commands

     or default to: cisco2-C2600

     do you wish to change the configuration? y/n [n]: n You must reset or power cycle for new config to take effect

     rommon 2 >

此时手工改回计算机串口与超级终端 2 者传输速率为 9600

然后敲入

QUOTE:

     rommon 2 >reset

最好关掉电源后,重新启动。利用 xmodem 命令实现路由器 IOS 升级速度较慢,往往等上很长时间,为了快速升级,可以采用下列方法。

(二)通过 tftpdnld 命令升级 IOS ,具体步骤如下:

1
、用 Cisco 原配的线缆连接路由器的 console 口与 PC 机的 COM1 ,使用 PC 机的超级终端软件访问路由器;用一根双绞线连接路由器的 eth0/0 口与 PC 机的网卡。

2
、将路由器的 eth0/0 IP 地址设为 10.32.10.32 PC 机的 IP 地址设为 10.32.10.1 。将要升级的 IOS 映象文件拷贝到相关的目录中,并运行 TFTP 服务器软件,通过菜单设置 Root 目录为拷贝 IOS 映象文件所在目录。

3
、通过 set 命令查看配置参数

QUOTE:

     rommon 2 > set

     PS1=rommon ! >

     BOOT=

     BSI=0

     RET_2_RTS=

     ?=0

4 、在 rommon 状态下输入:(注意大小写)

QUOTE:

     rommon 3 >IP_ADDRESS 10.32.10.1             ( 路由器的 ip 地址 )

     rommon 4 >IP_SUBNET_MASK
255.255.255.0      (路由器的掩码)

     rommon 5 >DEFAULT_GATEWAY
10.32.10.32      (缺省网关,是 pc 机的 ip 地址)

     rommon 6 >TFTP_SERVER
10.32.10.32          (是 pc 机的 ip 地址)

     rommon 7 >TFTP_FILE
C2600-I-MZ.122-11.BIN    (上传 ios 文件的名称)

     rommon 8>sync                             
(保存参数配置)

     rommon 9 >set                              
(查看)

     rommon 10 > set

     PS1=rommon ! >

     BOOT=

     IP_ADDRESS=10.32.10.1

     IP_SUBNET_MASK=255.255.255.0

     DEFAULT_GATEWAY=10.32.10.32

     TFTP_SERVER=10.32.10.32

     TFTP_FILE=C2600-I-MZ.122-11.BIN

     BSI=0

     RET_2_RTS=

     ?=0

     rommon 11 >tftpdnld

执行 tftpdnld 命令进行 ios 升级,有时可能会报错或命令不执行,这时只要用 sync 命令保存配置后,重新启动路由器(最好关掉电源再开机)后,再执行 tftpdnld 命令就可以了。

QUOTE:

     rommon 11 >tftpdnld (传送文件)出现提示选择 y

     IP_ADDRESS: 10.32.10.1

     IP_SUBNET_MASK: 255.255.255.0

     DEFAULT_GATEWAY: 10.32.10.32

     TFTP_SERVER: 10.32.10.32

     TFTP_FILE: C2600-I-MZ.122-11.BIN

     Invoke this command for disaster recovery only.

     WARNING: all existing data in all partitions on flash will be lost!

     Do you wish to continue? y/n:  [n]:  y

     Receiving C2600-I-MZ.122-11.BIN from 10.32.10.32!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

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

     …

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

     File reception completed.

     Copying file C2600-I-MZ.122-11.BIN to flash.

     Erasing flash at 0x607c0000

     program flash location 0x605b0000

     rommon 13 >

     
rommon 13 > 提示符下键入 reset ,或重新启动路由器( power-cycle , 进入正常引导状态,即:

     Router>

笔者在 Cisco2500 2600 7200 等系列路由器上均实际操作过,以上为在 Cisco2610 路由器上实际操作捕获或截屏,所配地址只是特例,大家可根据实际需要予以修改。最后建议:大家在作正常路由器系统升级时,为防止不正确操作等引起的升级失败,请先把路由器原有的系统备份下来 .