Cisco设备IOS的恢复方法 两种方法

如果不小心把Router或者Switch的IOS删除了,特别是Flash中的IOS和ROM中的Mini 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 (选择 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,用最大的115200速率的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,记住,一定这么做!否则出现乱码! 然后关闭这个超级终端,重新建立一个超级终端连接,(期间系统重新启动)启动后,出现 
  
  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 = 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: 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的地址可以随意定义,但必须与路由器定义的地址在同一网段上。

可以看到,以上两种方法都需要有IOS文件,如果没有备份原文件的话,可以找个同一版本的IOS来替代。

时间: 2024-08-04 20:37:47

Cisco设备IOS的恢复方法 两种方法的相关文章

RAID5数据丢失恢复的两种方法

如果了解RAID技术,一定对RAID级别这个词不陌生,RAID级别是指磁盘阵中磁盘组合方式,RAID级别不同,磁盘组合的方式也就不同,为用户提供的磁盘阵列在性能上和安全性的表现上也有不同.本文就是针对RAID级别中的RAID5,谈谈RAID5数据恢复的两种办法. RAID5虽然对数据传输的并行性解决不好,而且控制器的设计也相当困难,但是RAID5的读出效率很高,写入效率一般,块式的集体访问效率不错,因为奇偶校验码在不同的磁盘上,所以提高了可靠性.RAID5发生故障的原因可能有很多种,或者是RAI

IOS发送Email的两种方法

IOS系统框架提供的两种发送Email的方法:openURL 和 MFMailComposeViewController.借助这两个方法,我们可以轻松的在应用里加入如用户反馈这类需要发送邮件的功能. 1.openURL 使用openURL调用系统邮箱客户端是我们在IOS3.0以下实现发邮件功能的主要手段.我们可以通过设置url里的相关参数来指定邮件的内容,不过其缺点很明显,这样的过程会导致程序暂时退出.下面是使用openURL来发邮件的一个小例子: #pragma mark - 使用系统邮件客户

yii2.0高级框架配置时打开init.bat秒退的解决方法 (两种方法)

第一种: 这几天刚接触到yii2.0框架,在配置advanced版本时运行init.bat初始化文件时老是闪退: 用cmd运行该文件时显示:The OpenSSL PHP extension is required by Yii2.如下图所示: 搜索了很多资料,终于找到问题所在之处了,原来是php.ini中的extension=php_openssl.dll没有打开: 1.打开php.ini文件,如我的目录是D:\wamp\php\php.ini,搜索extension=php_openssl.

ios实现倒计时的两种方法

方法1:使用NSTimer来实现 主要使用的是NSTimer的scheduledTimerWithTimeInterval方法来每1秒执行一次timeFireMethod函数,timeFireMethod进行倒计时的一些操作,完成时把timer给invalidate掉就ok了,代码如下: [cpp] view plaincopyprint? secondsCountDown = 60;//60秒倒计时 countDownTimer = [NSTimer scheduledTimerWithTim

IOS发送Email的两种方法-备

1.openURL 使用openURL调用系统邮箱客户端是我们在IOS3.0以下实现发邮件功能的主要手段.我们可以通过设置url里的相关参数来指定邮件的内容,不过其缺点很明显,这样的过程会导致程序暂时退出.下面是使用openURL来发邮件的一个小例子: #pragma mark - 使用系统邮件客户端发送邮件 -(void)launchMailApp { NSMutableString *mailUrl = [[[NSMutableString alloc]init]autorelease];

登录用到了两种方法GET和POST方法 用reqeusts实现

这里需要补充的是,客户端不仅仅是一些简单的操作,它也是会处理一些运算,业务逻辑的处理等.也就是说,客户端也做着一些本该由服务器来做的一些事情 这个错误第一反应是是不是新的这个gateway节点有问题啊?但是想想这是不可能的,因为并不是所有请求都不可以,而且找了gateway部门的同事问了下,也不存在对请求单独处理的逻辑. 认证的同时要抓取页面表单的其他input标签的name和value.joomla的较为简单,网站一般不会明文传输用户名和密码,遇到这种情况需要分析引入的js文件,模拟加密算法.

用easyui从servlet传递json数据到前端页面的两种方法

用easyui从servlet传递json数据到前端页面的两种方法 两种方法获取的数据在servlet层传递的方法相同,下面为Servlet中代码,以查询表中所有信息为例. //重写doGet方法 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stu

ios图片拉伸两种方法

ios图片拉伸两种方法 UIImage *image = [UIImage imageNamed:@"qq"]; 第一种: // 左端盖宽度 NSInteger leftCapWidth = image.size.width * 0.5f; // 顶端盖高度 NSInteger topCapHeight = image.size.height * 0.5f; // 重新赋值 image = [image stretchableImageWithLeftCapWidth:leftCapW

【原】ios打包ipa的两种实用方法(.app转.ipa)

总结一下,目前.app包转为.ipa包的方法有以下几种: 1.Apple推荐的方式,即实用xcode的archive功能 Xcode菜单栏->Product->Archive->三选一,一般选后两个. 局限性:个人开发一般采用这种方法,但是当一个证书多人使用时就稍显麻烦.一般多人开发时都是采用provisioning profile+P12文件来进行真机调试.上述方法在最后导出ipa包时需要输入appleID,这时还要向团队的其他人要.采用provisioning profile+P12