Cisco路由器IOS升级方法总结

笔者长期从事计算机网络管理工作,在对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文件存在问题不可用;



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路由器上实际操作捕获或截屏,所配地址只是特例,大家可根据实际需要予以修改。最后建议:大家在作正常路由器系统升级时,为防止不正确操作等引起的升级失败,请先把路由器原有的系统备份下来。