1.概述

Cisco的网际操作系统 (IOS)是思科设备的核心,随着网络技术的不断发展,可动态的升级以适应不断变化的技术,满足新的需求。Ios 的升级拷贝方式主要分为从文件系统拷贝和依靠底层通信协议传输两种方式,文件系统拷贝又分为:ftp(File Transfer Protocol)、rcp(remote copy protocol)、tftp(trivial File Transfer Protocol)三类方式,多用于正常情况下的软件拷贝升级;依靠通信协议根据设备的具体支持情况有xmodem、ymodem、zmodem、kemit等早期协议,因速度较慢及使用不便多用于系统崩溃无法正常启动的情况下。

2.正常情况下的软件拷贝:

首先ftp、rcp、tftp三种协议均需要一台network server,在路由器上配置接口ip地址,并在特权模式下使用命令: copy {ftp: | rcp: | tftp:} flash ,随后按照提示顺序依次输入服务器的ip地址、源文件名、目的文件名之后确认就可以进行软件拷贝。

Cisco 2500路由器比较特殊,flash内的ios默认是只读属性,所以需要使用命令 router(config)#config-register 0x2101 将寄存器的值修改为 0x2101 使路由器从ROM中的镜象中读取ios,之后重新启动进入router(boot)>模式进行如下配置

router(boot)>en进入特权模式

router (boot)#conft进入配置模式

router(boot)(config)#int e0进入接口

router(boot)(config-if)#ip add 10.1.1.1 255.255.255.0 配置ip地址及掩码

router(boot)(config-if)#end回到特权模式

router (boot)# copy {ftp: | rcp: | tftp:} flash执行拷贝至本地

随后按照提示顺序依次输入服务器的ip地址、源文件名、目的文件名即可进行拷贝,完成后router(boot)(config)#下输入config-register 0x2102,将寄存器值还原并重新启动路由器即完成软件升级。

3.系统崩溃无法正常启动后的软件恢复

3.1*交换机 系统崩溃无法正常启动也可以使用xmodem或者ymodem等通信协议进行拷贝,需要用翻转线直连console口和主机,以3550为例,命令如下:

switch: flash_init进行flash的初始化

switch: load_helper  初始帮助文件的导入

switch: dir flash:察看flash的状态

switch: copy xmodem: flash: c3550-i5q3l2-mz.121-22.EA4.bin

以xmodem方式拷贝文件

主机一端打开超级终端,配置方法如下图所示



配置超级终端默认参数 


选择 '传输'-'发送文件'选项



选择使用的协议



       确定后开始传送文件
传输完成后重新启动设备即完成拷贝,启动后一定要用 show flash,show ver等命令查看是否是最合适的IOS文件。
3.2
升级方法2

    在对能够正常启动的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升级方法3    由于升级失败后或者路由器的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重启即可。

可以正常启动下利用xmodem命令用console口来传送,速率为9600bps,需要时间较长。因此可修改console口速率实现快速升级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升级速度较慢,往往等上很长时间,为了快速升级,可以采用下列方法。

方法4 通过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),进入正常引导状态