设为首页收藏本站language→→ 语言切换

鸿鹄论坛

 找回密码
 论坛注册

QQ登录

先注册再绑定QQ

查看: 2683|回复: 17
收起左侧

[分享] 思科设备IOS升级方法大全

[复制链接]
 成长值: 59260
发表于 2017-10-13 09:33:49 | 显示全部楼层 |阅读模式

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文件存在问题不可用;
   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)

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)

IOS升级方法二

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

     Ro
uter(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)
在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 image : #################################################

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

采用这种方法时,由于使用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,记住,一定要这么做,否则会出现乱码! 然后关闭这个超级终端,重新建立一个超级终端连接,重新启动系统后,出现
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: 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、将路由器的eth0/0口IP地址设为 10.32.10.1;PC机的IP地址设为 10.32.10.32。将要升级的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路由器上实际操作捕获或截屏,所配地址只是特例,大家可根据实际需要予以修改。最后建议:大家在作正常路由器系统升级时,为防止不正确操作等引起的升级失败,请先把路由器原有的系统备份下来



交换机方法:TFTP     本来在用X-Modem之前尝试用TFTP的方法来恢复,但是都没有成功,就以为TFTP方法行不同。但后来在网上看到,其实TFTP也是可以用的,而且效率可能更高。下面是别人恢复的方法,可惜我没实践过,因为我没有进入过rommon模式:     在一台机器上安装TFTP服务器软件,将IOS文件放置在TFTP服务器的默认根目录下,打开TFTP服务器,用控制线将这台机器与ROUTER连接起来,另外用交叉网线连接机器的网卡和ROUTER的以太口。(也可以用普通的网线将ROUTER和交换机相连再连接机器)做好以上工作后,打开机器的超级终端工具,连接上ROUTER,按Ctrl+Break组合键,此时窗口中出现的命令行提示符为: ROMMON 1 > (其中“1”代表命令行的行数)。在提示符后输入命令:   ROMMON 1 >IP_ADDRESS= ROUTER的IP地址(要和TFTP服务器在同一网段内)   ROMMON 2 >IP_SUBNET_MASK= ROUTER的子网掩码   ROMMON 3 >DEFAUT_GATEWAY= 默认网关地址 (可以没有,也可以是TFTP服务器)   ROMMON 4 >TFTP_SERVER= TFTP 服务器IP地址   ROMMON 5 >TFTP_FILE= IOS文件名(只给出文件名,不需要路径)   ROMMON 6 >tftpdnld 回车     注意:前面的几条命令必须使用大写,而最后的tftpdnld则要用小写。   在tftpdnld命令执行后,只要根据提示选择,就可完成文件的传输。当文件传输完后,将自动回到命令行下,输入reset重启ROUTER,重启后就又回到了熟悉的IOS模式下甚至连以前配置的信息都不会丢失。   注意的几个问题:  A.在连接运行tftp server的PC 机至路由器时,必需使用路由器的第一个以太口,即Ethernt0(对2500系列等),Ethernet0/0(对2600系列等),其它系列略有差别,可根据使用手册进行确定。  B.在使用连接电缆时,一定要用交叉线,因这种情况属DTE与DCE之间的连接。  C.在运行tftp server的PC 机上,一定要有相应的路由器的IOS映象文件,可以通过多种渠道和多种方式获得该文件。
  D.tftp server的地址可以随意定义,但必须与路由器定义的地址在同一网段上。




下面我们就在交换机2950上一步一步来实现。
1、 用交换机自带的控制线(最新CISCO交换机的这条连接线是淡兰色)连接交换机console口和计算机COM口,用带有xmodem功能的终端软件连接(WINDOWS自带的超级终端或者是SecureCRT这个软件,我推荐后面这个软件)。
2、 设置连接方式,速率9600(不要着急,现在设置为这个默认的速度才能连接上交换机,因为交换机默认设置是9600,等会连接上再改速度),无校验,无流控,停止位1。
3、插上交换机电源让交换机启动,假设交换机的IOS丢失或者损坏,交换机将自动进入引导装载模式,现在的提示符是:switch:(当然如果你的IOS是正常的,你只是想升级IOS,那么先拔掉交换机后的电源线,再按住交换机面板左侧的mode键,插入交换机后边的电源插头给交换机加电,等到看到交换机面板上没有接线的以太口指示灯都亮和交换机的几个系统指示灯都常亮,这个时间大约是几秒钟)
4、在超级终端提示符switch:下输入:flash_init 来初始化flash文件系统
显示如下:
switch: flash_init
Initializing Flash...
flashfs[0]: 75 files, 3 directories
flashfs[0]: 0 orphaned files, 0 orphaned directories
flashfs[0]: Total bytes: 7741440
flashfs[0]: Bytes used: 5257216
flashfs[0]: Bytes available: 2484224
flashfs[0]: flashfs fsck took 7 seconds.
...done initializing flash.
Boot Sector Filesystem (bs installed, fsid: 3
Parameter Block Filesystem (pb installed, fsid: 4
5、加载帮助文件
switch: load_helper
6、现在我们进行最重要的一步,修改速度,这个修改速度的命令是:set BAUD rate注意大小写是敏感的哦☺,rate就是要设置的速度,这个rate可以是这些数值{110|300|1200|2400|4800|9600|19200|38400|57600|115200}中的任何一个,当然我们要的就是提升速度,当然设置到最大为115200,如果我们是交换机3550,那么速度最大只能设置为57600,其他型号的交换机我没有,不过原理一样,大家可以自己试试
Switch: set BAUD 115200
经过上面的设置后,速度就从9600变到115200,但是这个时候超级终端就会出现乱码,因为超级终端的速度和交换机的速度不一致,我们断开当前连接,重新设置超级终端连接方式,速率修改为115200,其他的不改,再连接交换机,嘿嘿,连接正常。
7、通过XMODEM协议,把IOS灌入交换机。
Switch: copy xmodem: flash:/ c2950-i6q4l2-mz.121-14.EA1a
Begin the Xmodem or Xmodem-1K transfer now...
CCCCCC
超级终端不停提示出C这个字母就可以开始传文件了。注意上面的flash后面的ios文件名一定要写出来,否则就不能正确地copy。
8、点击Transfer->Send Xmodem(如果是windows的超级终端就选菜单:传送---发送文件,在协议选项中选择Xmodem或者Xmodem-1K协议)然后选择像要传送的文件,开始传送,这个速度传文件是原来默认速度的12倍多。
9、传送完后,就可以用boot命令加载IOS进行正常的启动。
Switch: boot
这样就完成了本次提升速度的全过程,不过后来分析,知道set BAUD这个命令其实在存放在env_vars这个文件里面的,这个文件是环境变量文件,在启动加载时候起作用。当然在交换机进入正常后,要改回这个速度,否则以后你用超级终端都要用这个速度才能正常连接,怎么改这个速度?哈哈,简单的办法就是删除这个文件,当然也可以copy出这个文件,修改后在copy回去,一切OK。
这样,以后大家灌IOS时候就不用再浪费时间等待哦,


line con 0
speed 9600

发表于 2017-10-13 10:00:59 | 显示全部楼层
很有用,谢谢版主!
板凳 2017-10-13 10:00:59 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2017-10-18 13:57:32 | 显示全部楼层
感谢楼主分享!
6# 2017-10-18 13:57:32 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2018-10-15 17:22:15 | 显示全部楼层
谢谢楼主慷慨分享!
11# 2018-10-15 17:22:15 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2019-3-14 18:31:10 | 显示全部楼层
感谢整理分享
12# 2019-3-14 18:31:10 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2019-3-27 15:32:55 | 显示全部楼层
积分不够 回帖来凑
14# 2019-3-27 15:32:55 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2019-3-27 22:49:31 | 显示全部楼层
很詳盡.....謝謝分享
15# 2019-3-27 22:49:31 回复 收起回复
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 论坛注册

本版积分规则

QQ|Archiver|手机版|小黑屋|sitemap|鸿鹄论坛 ( 京ICP备14027439号 )  

GMT+8, 2024-5-2 19:26 , Processed in 0.075932 second(s), 8 queries , Redis On.  

  Powered by Discuz!

  © 2001-2024 HH010.COM

快速回复 返回顶部 返回列表