首先需要有 IOS 文件,如果没有备份原文件的话,可以找个同一版本的 IOS 来替代。 <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

 

第一种方法: X-Modem

 

以前我曾经尝试过一种方法,就是当 Flash 被删除后,启动无法进入系统,可以用 X-Modem 来恢复它。当时我不小心删除了一台 Cisco2950 交换机的 Flash IOS ,导致系统无法启动,在查过不少资料后得到一个结论:唯一的方法通过 X-Modem 来恢复。我的恢复方法如下:

 

1 、用控制线连接交换机 console 口与计算机串口 1 ,用带有 xmodem 功能的终端软件连接( win2000 and xp 的超级终端就带这功能)。

2 、设置连接方式为串口 1 (如果连接的是其他串口就选择其他串口),速率 9600 ,无校验,无流控,停止位 1 。或者点击默认设置也可以。

 

3 、连接以后计算机回车出现交换机无 ios 的界面,一般的提示符是: switch:

 

4 、拔掉交换机后的电源线重新启动交换机

 

5 、在超级终端输入:

switch:flash_init

会出现如下提示:

Initializing Flash...

 

6 :输入拷贝指令:

 

switch:copy xmodem: flash:p_w_picpath_filename.bin

 

出现如下提示:

 

Begin the Xmodem or Xmodem-1K transfer now...

 

7 、系统提示不断出现

C 这个字母就可以开始传文件了

 

8 、点击超级终端菜单:传送 --- 发送文件,在协议选项中选择 Xmodem 或者 Xmodem-1K 协议,然后选择 ios 的影像文件( *.bin ),开始传送。

 

9 、因为不能改速率,所以传送得很慢,我的大概传送了 80 分钟左右,请耐心等待。

 

10 、传送完毕后提示:

File "xmodem:" successfully copied to ....

switch:

 

11 、在提示符下输入

 

switch:boot

 

启用新的 ios 系统

 

12 、重新加电完成恢复工作。

这个是我恢复的方法,现在看来非常的不科学,效率低。后来看了别人同样用 X-Modem 恢复 IOS ,但是效率要高的方法:

 

先打开超级终端,进入 rommon 模式( Ctrl+Break 组合键),键入 confreg, 如下:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

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 ( 选择

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, 用最大的 115200 速率的 xmodem 传输 )

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

 

Configuration Summary

enabled are:

load rom after netboot fails

console baud: 115200

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 ,记住,一定这么做!否则出现乱码! 然后关闭这个超级终端,重新建立一个超级终端连接,(期间系统重新启动)启动后,出现

rommon 1> 提示符

然后 , 输入

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<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />-6M IOS 灌进去了!

(修改回计算机串口与超级终端、路由器 confreg 下的 xmodem 9600 的传输速率)

 

videre 注:实际用的时候,我发现这个命令总是改不成功,后来发现在 line con 0 下面有了一个 speed 115200 ,所以即使改 register 成功,启动以后 router 又执行 speed 115200, 还是不行,所以如果有这个问题,记得把这个语句 no

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

 

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 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 [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

 

然后敲入

rommon 2 >reset

( 最好关电源 )

他的方法有两个地方和我的不一样,首先是他在启动后进入了 rommon 模式,其次是他修改了串口的速率,这样就比我快的多了。

第二种方法: 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 的地址可以随意定义,但必须与路由器定义的地址在同一网段上。