CISCO2620进行IOS升级时,由于路由器的内存(flash)为33M,IOS软件为29M多,升级后路由器无法正常启动。现总结归纳出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公司的3CDaemon等,在升级较大IOS映象文件时,建议用3CDaemon)。 2、Telnet,SSH都可以连接路由器,建议用console口(建议在进行IOS升级前将原有IOS文件备份)
Router# copy tftp flash
IOS升级方法二
由于升级失败后或者路由器的config-register寄存器值为0x2101时,开启路由器时、或者在开启(某些型号)Cisco路由器的电源开关后30秒内按下Ctrl+break键,中断路由器的正常启动,路由器都会进入rom监视模式,即Router(boot)>,在这种情形下,对路由器的IOS进行升级,也比较简单。首先进入特权模式下,即
Router(boot)>en
Router(boot)#其他升级步骤同方法一,即:执行copy tftp flash命令,对IOS进行升级。升级完成后,不要忘了修改config-register寄存器值为0x2102(恢复正常值)。
Router(boot)( config)# config-register 0x2102
IOS升级方法三
由于不小心使用了命令erase flash或升级失败后或在开启(某些型号)Cisco路由器的电源开关后30秒内按下Ctrl+break键,中断路由器的正常启动,路由器都会进入rom监视模式,即 rommon 1>,在这种情形下,对路由器的IOS进行升级,情况要稍微复杂一点。在rommon 1>状态下,可键?请求帮助。(1为命令行序号,每执行1条命令自动加1)
ROUTER:rommon 1 > ?
rommon 2 >在rommon 1>状态下有两种升级IOS方法。
(一)、通过Xmodem命令(注:Xmodem与实际的modem没有任何联系 只是一个传输协议 数据是通过终端的串口和路由器的Console口灌进去的)升级IOS,具体步骤如下: 1、用Cisco原配的线缆连接路由器的console口与PC机的COM1,使用PC机的超级终端软件访问路由器,这时不需要对PC和路由器配置任何地址。
2、在这个模式下,输入Xmodem命令,即:
ROUTER: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的大小和传输速度。)
ROUTER:Erasing flash at 0x607c0000
program flash location 0x605b0000
Download Complete!
传完以后,对整个系统初始化 显示如下:
ROUTER:program load complete, entry point: 0x80008000, size: 0x5b85e0
Self decompressing the image :
[OK]
Router>采用这种方法时,由于使用console口来传送,速率为9600bps,需要时间较长。因此可修改console口速率利用xmodem命令实现快速升级IOS.具体方法如下:
QUOTE:rommon 1 > confreg 回车
Configuration Summary
enabled are:
load rom after netboot fails
console baud: 9600
boot: image 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: image 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,记住,一定要这么做,否则会出现乱码! 然后关闭这个超级终端,重新建立一个超级终端连接,重新启动系统后,出现
ROUTER:rommon 1> 提示符然后,输入
ROUTER: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. 方法如下:
ROUTER:Router>en 进入新IOS的特权模式
Router#reload 重启系统
30秒内按ctrl+break键
rommon 1 > confreg ( 输入“confreg”命令)
Configuration Summary
enabled are:
load rom after netboot fails
console baud: 115200
boot: image 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: image 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、将路由器的f0/0口IP地址与PC机的IP地址设为同一网段,将要升级的IOS映象文件拷贝到相关的目录中。
3、通过set 命令查看配置参数
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 11 >tftpdnld执行tftpdnld命令进行ios升级,有时可能会报错或命令不执行,这时只要用sync命令保存配置后,重新启动路由器(最好关掉电源再开机)后,再执行tftpdnld命令就可以了。
rommon 11 >tftpdnld(传送文件)出现提示选择y
在rommon 13 >提示符下键入reset,或重新启动路由器(power-cycle),进入正常引导状态,即:
建议:大家在作正常路由器系统升级时,为防止不正确操作等引起的升级失败,请先把路由器原有的系统备份下来。