前不久,朋友在對一台帶語音模快的CISCO2610進行IOS升級時,由於路由器的內存(flash)為8M,IOS軟件為7M多,升級後路由器無法正常啟動。啟動後到rommon 1 >狀態,請求幫助。由於本人長期從事計算機網絡管理工作,在對CISCO路由器的長期日常維護和管理實踐中積累了一定的經驗。現總結歸納出CISCO路由器IOS映像升級的幾種方法,供廣大網絡愛好者或同仁參考。在介紹CISCO路由器IOS升級方法前,有必要對Cisco路由器的存儲器的相關知識作以簡單介紹。路由器與計算機相似,它也有內存和操作系統。在Cisco路由器中,其操作系統叫做互連網操作系統(Internetwork Operating System),常簡稱為IOS.路由器的存儲器主要有:
ROM:只讀存儲器包含路由器正在使用的IOS的一份副本;
RAM:IOS將隨機訪問存儲器分成共享和主存。主要用來存儲運行中的路由器配置和與路由協議有關的IOS數據結構;
FLASH (閃存):用來存儲IOS軟件映像文件,閃存是可以擦除內存,它能夠用IOS的新版本覆寫,IOS升級主要是閃存中的IOS映像文件進行更換。
NVRAM:非易失性隨機訪問存儲器,用來存儲系統的配置文件。
IOS升級方法一
在對能夠正常啟動的CISCO路由器的IOS進行升級時,比較簡單。具體步驟如下:
1、尋找一種TFTP服務器軟件(有CISCO公司的TFTPServer或3COM公司的3Cserver等,在升級較大IOS映象文件時,建議用3Cserver),安裝在一台計算機上,將要升級的IOS映象文件拷貝到相關的目錄中(例:D:\),並運行TFTP服務器軟件,通過菜單設置Root目錄為拷貝IOS映象文件所在目錄(如D:\)。假設該計算機的IP地址為10.32.10.1;
2、連接路由器的console口與PC機的COM1,使用PC的超級終端軟件訪問路由器,將路由器的地址設為10.32.10.32(與計算機的IP地址同網段即可)。建議在進行IOS升級前將原有IOS文件備份下來,防止待升級的IOS文件存在問題不可用;
QUOTE:Router# dir flash: (查看目前IOS映象文件名,也可用Router#Show version)
Directory of flash:/
1 -rw- 5998292 C2600-I-MZ.122-11.BIN
8388608 bytes total (2390252 bytes free)
Router#copy flash tftp (備份IOS文件)
Source filename []?c2600-i-mz.122-11.bin
Address or name of remote host []? 10.32.10.1 (TFTP服務器地址)
Destination filename [c2600-i-mz.122-11.bin]?
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
…
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
5998292 bytes copied in 324.071 secs (18509 bytes/sec)
Router# 3、對路由器進行IOS升級;
QUOTE:Router#copy tftp flash
Address or name of remote host []? 10.32.10.1 (TFTP服務器地址)
Source filename []? c2600-i-mz.122-11.bin (需升級的新IOS映象文件名)
Destination filename [c2600-i-mz.122-11.bin]?
Do you want to over write? [confirm]
Accessing tftp://10.32.10.1/c2600-i-mz.122-11.bin……
Erase flash: before copying? [confirm]
Erasing the flash filesystem will remove all files! Continue? [confirm]
Erasing device…… eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee ……erasedee
Erase of flash: complete
Loading c2600-i-mz.122-11.bin from 10.32.10.1 (via Ethernet0/0): !!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
[OK - 5998292 bytes]
Verifying checksum…… OK (0xA0C0)
5998292 bytes copied in 318.282 secs (18846 bytes/sec)
Router# IOS升級方法二
由於升級失敗後或者路由器的config-register寄存器值為0x2101時,開啟路由器時、或者在開啟(某些型號)Cisco路由器的電源開關後30秒內按下Ctrl+break鍵,中斷路由器的正常啟動,路由器都會進入rom監視模式,即Router(boot)>,在這種情形下,對路由器的IOS進行升級,也比較簡單。首先進入特權模式下,即
QUOTE:Router(boot)>en
Router(boot)#其他升級步驟同方法一,即:執行copy tftp flash命令,對IOS進行升級。升級完成後,不要忘了修改config-register寄存器值為0x2102(恢復正常值)。
QUOTE:Router(boot)# t
Router(boot)( config)# config-register 0x2102
Router(boot)( config)#exit
Router(boot)#wr
Router(boot)#reload重啟即可。
IOS升級方法三
由於不小心使用了命令erase flash或升級失敗後或在開啟(某些型號)Cisco路由器的電源開關後30秒內按下Ctrl+break鍵,中斷路由器的正常啟動,路由器都會進入rom監視模式,即 rommon 1>,在這種情形下,對路由器的IOS進行升級,情況要稍微復雜一點。在rommon 1>狀態下,可鍵?請求幫助。(1為命令行序號,每執行1條命令自動加1)
QUOTE:rommon 1 > ?
alias set and display aliases command
boot boot up an external process
break set/show/clear the breakpoint
confreg configuration register utility
cont continue executing a downloaded image
context display the context of a loaded image
cookie display contents of cookie PROM in hex
dev list the device table
dir list files in file system
dis display instruction stream
dnld serial download a program module
frame print out a selected stack frame
help monitor builtin command help
history monitor command history
meminfo main memory information
repeat repeat a monitor command
reset system reset
set display the monitor variables
stack produce a stack trace
sync write monitor environment to NVRAM
sysret print out info from last system return
tftpdnld tftp image download
unalias unset an alias
unset unset a monitor variable
xmodem x/ymodem image download
rommon 2 >在rommon 1>狀態下有兩種升級IOS方法。
(一)、通過Xmodem命令(注:Xmodem與實際的modem沒有任何聯系 只是一個傳輸協議 數據是通過終端的串口和路由器的Console口灌進去的)升級IOS,具體步驟如下:
1、用Cisco原配的線纜連接路由器的console口與PC機的COM1,使用PC機的超級終端軟件訪問路由器,這時不需要對PC和路由器配置任何地址。
2、在這個模式下,輸入Xmodem命令,即:
QUOTE:rommon 2 > xmodem -c c2600-i-mz.122-11.bin
(-c是帶校驗,c2600-i-mz.122-11.bin為存放在PC機上的IOS映像文件)
WARNING: All existing data in bootflash will be lost!
Invoke this application only for disaster recovery.
Do you wish to continue? y/n [n]: y Ready to receive file c2600-i-mz.122-11.bin …… (此時在超級終端的傳送欄目=> 選擇發送文件選項 => 再選擇Xmodem 並指明IOS映像文件所在的路徑,按發送即開始上傳IOS,等待時間很長,視IOS的大小和傳輸速度。)
QUOTE:Erasing flash at 0x607c0000
program flash location 0x605b0000
Download Complete!
傳完以後,對整個系統初始化 顯示如下:
QUOTE:program load complete, entry point: 0x80008000, size: 0x5b85e0
Self decompressing the image :
[OK]
Smart Init is disabled. IOMEM set to: 10
Using iomem percent