IOS恢複的2種方法
如果不小心把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來替代。
文章錄入:csh 責任編輯:csh