首先需要有
IOS
文件,如果没有备份原文件的话,可以找个同一版本的
IOS
来替代。
第一种方法:
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:image_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: 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 (
选择
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 -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 = 0xfff 0a 530, Vector = 0x500, SP = 0x680127b0
C2600 platform with 24576 Kbytes of main memory
PC = 0xfff 0a 530, 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: 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 [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
然后敲入
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
的地址可以随意定义,但必须与路由器定义的地址在同一网段上。