IOS Boot Sequence


ios啟動順序
1
執行post
 電源開啟後執行post(power-on self-test,開機自我測試)
 對所有硬體模組進行診斷,確認基本運作
2
啟動bootstrap loader
 在rom中執行bootstrap loader(啟動載入程式)
 bootstrap loader只含一些預置的載入指令,用來依序將其他程式載入記憶體中或使其進入其他組態模式
 會檢查configuration register以決定後續動作
3
載入cisco ios映像檔
 預設來源載入順序為:flash,tftp,rom中的映像檔,rom monitor
 ps:若在nvram中有boot system命令,則以此決定載入映像檔順序
 載入映像檔並開始運作後會找出軟硬體元件列出結果
 ps:若在開機順序被中斷則回復到rom monitor模式
4
組態檔載入主記憶體中
 預設來源載入順序為:nvram,tftp,主控台
 若在nvram找不到則會搜尋tftp,若無則在主控台自動進入setup mode用互動產生新的組態檔
 ps:新的設備一開機都會進到setup mode
 載入組態檔後會依序一列一列的執行,設定各組態
 nvram中的startup-config(啟動組態)複製到ram中的running-config(執行中組態)
ps:cisco rom中儲存post,rom monitor,迷你ios,bootstrap loader

重載設備
#reload
可將ios重新啟動,並開始重新設定

……

ios不正常啟動的可能情況
常見有以下:
情況1
組態檔案中有遺漏或錯誤的系統啟動敘述
情況2
錯誤的configuration register
 會使ios無法從flash memory中載入,或跳過組態檔
 登錄值正確的數值在不同硬體平台上會不同
 解決方式:得到正確的登錄值並更改組態登錄器,儲存後作為啟動的設定組態
情況3
毀損的快閃映像檔
 啟動ios錯誤訊息可能如下
 open: read error … requested 0x4 btes, got 0x0 trouble reading device magic number
 boot:: cannot open “flash”
 boot: canot determine first file name on device “flash:”
 解決方式:將新的cisco ios軟體映像檔上傳至路內器內
情況4
硬體故障
 非常少見
 解決方式:連絡TAC(cisco technical assistance center)

……………………….

configuration register的意義
0000 進入rom monitor
0001 rom中的映像檔,表示boot從rom,這也稱為迷你ios,或rxboot模式
0002-000f 設定預設的開機檔案名稱,0002表示boot從nvram
0040 忽略nvram的內容,也就是跳過startup-config的設定
0080 打開oem位元
0100 關閉中斷功能
0400 含全部為0的ip廣播
0800-1000 控制台線路速度
2000 若網路開機失敗,以預設rom軟體開機
4000 ip廣播沒有網路號碼
8000 啟動診斷訊息,並忽略nvram內容
ex:0x2102可視為2000,0100,0002
ps:0x101=0x0101
預設組態值為0x2102

變更組態值
(config)#config-register < register>
設定後要等到下次開機才會生效
若要到rom mintor可設為2100,進入後提示符號為rommon>
若要用rom的映像開機可設為2101 ,進入後提示符號為router(boot)
若要跳過startup-config,常設成2142
若要用nvram中指定的開機可設2102-210f
ex:將組態值設成0x2102
(config)#config-register 0x2102

變更組態值的原因:
強制系統進入ROM監控模式
選擇啟動來源和預設的啟動檔案名
啟用或禁用Break(中斷)功能
控制廣播位址
設置控制臺中斷串列傳輸速率
從ROM載入操作軟體
啟用從TFTP啟動伺服器

…………………

載入ios映像檔優先來源
(config)#boot system < source> < iosname [tftp address]>
#copy running-config startup-config < source>值有rom,flash,tftp
ps:boot system的資訊可在startup-config中看到
ps:可使用多個boot system,以組態檔出現次序決定優先順序
ex:
指定優先從flash載入ios映像檔c2691-a3js-mz.123-3.bin
(config)#boot system flash c2691-a3js-mz.123-3.bin
#copy running-config startup-config