您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 经营企划 > Cisco_ROMMON状态下,恢复路由器的IOS
当界面显示为rommon时,输入命令bootflash:c3640-is-mz.121-5不小心把IOS删掉或者升级IOS失败,重起后进入ROMMON(ROMMON状态是ROMMONITOR的缩写)状态,是比较常见的事,对一个新手而言,前者的可能要大些。两者都可能使路由器进入ROMMON状态,不能进行正常的路由转发功能和软件配置,在这种模式下,原IOS中的大部分命令都无法使用。那怎么办呢?根据Cisco网站的资料,我翻译整理了两种常用的方法:1.使用TFTP恢复IOS;2.使用Xmodem恢复IOS。不同的路由器的命令有些不一样,这里以2600和3600系列路由为例,但是思路应该是差不多的,下面分开讲一下这两种方法:在进行恢复之前,可以先看一下路由器的Flash里文件,用命令:dirflash:;注意命令中flash后面跟冒号(:),执行命令后会显示flash现存的IOS大小和文件名,如下面:1.rommon1dirflash:FilesizeChecksumFilename2179331bytes(0x214103)0x7b95c1600-nsy-mz_112-15a_p如果Filename和Filesize的两项都是符合你的要求的,正确无误,那么你就不必要进行升级。这样也许是你的config-register的设置有问题,正常的一般config-register应该是0x2102的。注意0x2102中的最后一位值2,最后一位值在2到F都是正常的。注意config-register的值控制着路由器的启动!如果最后一位数值不是在这个范围内,可以使用confreg命令来改变它的值。关于config-register的16bit的每bit的含意,可以看一下cisco的技术资料,这里就不多说了。如果Filename和Filesize的两项有一项是错的,那就进行下面的升级步骤:一、使用TFTP恢复IOS使用交叉的网线连接你的路由器以太口和装有TFTPServer软件的PC机,在PC机上启动TFTPServer软件,并把新的IOS文件放在TFTPserver所在目录的根目录下,如:你的TFTPServer软件在机器装的是CiscoTFTPServer目录,那么就把新的IOS文件放在CiscoTFTPServer目录下就可以了。用控制线将调试机器与路由器连接起来。(一定要与第一个以太口)接下来的事就是在路由器进行操作了,在路由器上首先要设置一下ROMMON状态的环境变量,注意所有的环境变量都是大小写敏感的,一定要注意了!往往出错就是因为这个原因。具体下面设置如下:打开机器的超级终端工具,连接上ROUTER,此时窗口中出现的命令行提示符为:ROMMON1(其中1代表命令行的行数)。在提示符后输入命令:ROMMON1IP_ADDRESS=ROUTER的IP地址(要和TFTP软件所在的机器在同一网段内)ROMMON2IP_SUBNET_MASK=ROUTER的子网掩码ROMMON3DEFAUT_GATEWAY=默认网关地址(可以没有,也可以是TFTP服务器)ROMMON4TFTP_SERVER=TFTP服务器IP地址ROMMON5TFTP_FILE=IOS文件名(只给出文件名,不需要路径)ROMMON6tftpdnld回车注意:前面的几条命令必须使用大写,而最后的tftpdnld则要用小写。设置完后要用sync命令保存环境变量到NVRAM,用set命令进行察看设置。在tftpdnld命令执行后,只要根据提示选择,就可完成文件的传输。当文件传输完后,将自动回到命令行下,输入reset重启ROUTER,重启后就又回到了熟悉的IOS模式下甚至连以前配置的信息都不会丢失。下面是具体的例子:Examplerommon16IP_ADDRESS=172.16.0.1rommon17IP_SUBNET_MASK=255.255.255.0rommon18DEFAULT_GATEWAY=172.16.0.2rommon19TFTP_SERVER=172.16.0.2rommon20TFTP_FILE=c2600-is-mz.113-2.0.3.Qrommon21tftpdnldIP_ADDRESS:172.16.0.1IP_SUBNET_MASK:255.255.255.0DEFAULT_GATEWAY:172.16.0.2TFTP_SERVER:172.16.0.2TFTP_FILE:c2600-is-mz.113-2.0.3.QInvokethiscommandfordisasterrecoveryonly.WARNING:allexistingdatainallpartitionsonflashwillbelost!Doyouwishtocontinue?y/n:[n]:yReceivingc2600-is-mz.113-2.0.3.Qfrom172.16.0.2!!!!!.!!!!!!!!!!!!!!!!!!!.!!Filereceptioncompleted.Copyingfilec2600-is-mz.113-2.0.3.Qtoflash.Erasingflashat0x607c0000programflashlocation0x60440000rommon22二、使用Xmodem恢复IOS使用Xmodem和TFTP的主要区别就在于传输的途径不一样,TFTP的IOS传输必须经过以太网线,而Xmodem则是通过控制线来传输的,所以使用Xmodem恢复IOS就不必进行PC机和路由器的网线连接,也不需要IP地址方面的设置,省了不少事。但是Xmodem是通过控制线(console)来进行传输的,一般和cisco路由器相连的控制线波特率是9600,就是9.6k/s,速度很慢传输一个几M大小的文件需要比较长的时间,需要耐心的等待。等待总是让人很焦虑,我就是一个不喜欢等待的人。幸好,还可以在路由器上更改波特率,最大是115200,即115.2K/S,虽然相对100M/s的快速以太网相差甚远,但是比9.6k/S的蜗牛速度爽多了吧,所以先进行默认波特率的修改,可以用confreg命令来修改,如下:rommon2confregConfigurationSummaryenabledare:loadromafternetbootfailsconsolebaud:9600boot:imagespecifiedbythebootsystemcommandsordefaultto:cisco2-C3600doyouwishtochangetheconfiguration?y/n[n]:yenablediagnosticmode?y/n[n]:!---pressingEnteracceptsthe!---default(valuebetweenthebrackets)enableusenetinIPbcastaddress?y/n[n]:disableloadromafternetbootfails?y/n[n]:enableuseallzerobroadcast?y/n[n]:enablebreak/aborthaseffect?y/n[n]:enableignoresystemconfiginfo?y/n[n]:changeconsolebaudrate?y/n[n]:yenterrate:0=9600,1=4800,2=1200,3=24004=19200,5=38400,6=57600,7=115200[7]:7changethebootcharacteristics?y/n[n]:ConfigurationSummaryenabledare:loadromafternetbootfailsconsolebaud:115200boot:imagespecifiedbythebootsystemcommandsordefaultto:cisco2-C3600doyouwishtochangetheconfiguration?y/n[n]:Youmustresetorpowercyclefornewconfigtotakeeffect改完了,你需要重起一下,让配置生效,注意,你的调试机器上的超级终端的连接波特率也要改为115200,不然你重起后你可能看见的就是一堆乱码#^¥&%×^×^,呵呵。接下就是用xmodem命令来做了,xmodem的使用方法如下:rommon1xmodem[-cyrx]destinationfilename选项功能-c传输过程中使用CRC-16检查.缺省的是8-bitCRC.-yymodem-batch协议使用CRC-16错误检查-r让软件传到DRAM中,缺省的是Flash中。注意:不推荐!重起后,DRAM的文件会丢失,你还要进行一次恢复IOS.-x让软件传到DRAM中,但是不执行,除非使用launch命令。注意:不推荐!同上一个参数-r-f擦除Flash里全部的文件这个选项是1600系列路由器指定的;在其他平台上是缺省项Examples:rommon1xmodem-cfc1600-nsy-mz_112-15a_Prommon1xmodem-yc2500-js-mz_120-14让我们stepbystep来试试:1.来执行xmodem命令:rommon1xmodemc1600-nsy-mz_112-15a_Pc1600-nsy-mz_112-15a_P是我们打算在路由器中保存的文件名,你可以起自己想要的名字,不过最好是按原文件的名字来。2.等待ROMmon提示信息,类似下面:Readytoreceivefilec1600-nsy-mz_112-15a_P...3.ok,可以进行文件传输了,在超级终端界面,点击鼠标右键,选择发送文件,弹出的对话框,上面选择你要传送到路由器内的新的IOS,下面选择Xmodem协议。然后点击发送,就可以了。4.接下来就是文件传输的界面了,耐心些等待吧......5.当显示:DownloadComplete!信息时,就差不多万事大吉了,不过做为列行的检查还是必要的,用命令:dirflash:看看文件是不是已经正确无误的传过去了。rommon1dirflash:FilesizeChecksumFilename2179331bytes(0x214103)0x7b95c1600-nsy-mz_112-15a_p6.哈哈,到了最后了:使用reset或者bootflash:[filename]命令,如下显示:rommon1reset或者rommon1bootflash:c1600-nsy-mz_112-15a_P重起路由器,ok了吗?如果已经进入正常的界面了,那就恭喜你了,IOS恢复就成功了,你可以检查一些看看:showversion;showflash等。但是别忘了,刚才你把默认的控制线波特率9600改为115200了,现在要做就是改回来,命令:configt;config-register0x2102;end。
本文标题:Cisco_ROMMON状态下,恢复路由器的IOS
链接地址:https://www.777doc.com/doc-3516476 .html