近期 Cisco 爆出了 CVE-2023-20198 重大漏洞讓我想起了所維護校內的 Cisco Switch 已經一年沒更新FW了,於是就花了幾天開始一台一台更新。就到最後剩下一台最舊的 2960X 時想說運行著較舊的 IOS 應該不受漏洞影響,但是這台已經3年沒更新過了還是心癢癢的開始了更新…
更新開始跑後就放著去做其他事情,約莫過了10幾分鐘回來發現 Switch 風扇全速運轉,介面上的燈一個都沒亮,心想不妙馬上接上 Console 去看,接上後一看整個傻了,只見 CLI 裡寫著下面這一串:
The system is unable to boot automatically. the boot environment variable needs to be set to a bootable image.
馬上看了一下 flash 發現裡面一個 IOS image 都沒有,我剛剛明明放進去了啊?
這下好了,原來「一個東西沒問題就別去動他,動了就會出問題」這話是真的,以前都覺得這只是句業界的笑話,這次真的給我遇到了。
接下來就要想辦法把 Switch 救活,不然晚點大家沒網路電話會接到手軟,還可能要賠一台 Switch,經過一番摸索後了解只要把 IOS 放進 flash 後就能完成開機,如此簡單。
IOS image 在 Cisco 網站上就有,直接抓對應型號下來就好,再來準備一隻 USB 隨身碟,格式使用 FAT32,在把 IOS image 放進那支隨身碟裡。注意有些品牌的會讀不到,要多試幾支。
(雖然可以直接用 Console 發送進 Switch 但不建議,那傳輸速度會懷疑人生)
準備好後把隨身碟直接插到 Switch 上的 USB 孔,把 image 複製進 flash
Switch: copy usbflash0:c2960x-universalk9-mz.152-7.E7.bin flash:c2960x-universalk9-mz.152-7.E7.bin
複製過程大概需要幾分鐘,等複製完畢後直接以映像檔開機
Switch: boot flash:c2960x-universalk9-mz.152-7.E7.bin
之後很順利的就開機成功了,進 IOS 後 config 都還在,檢查一下版本
Switch#sh ver Cisco IOS Software, C2960X Software (C2960X-UNIVERSALK9-M), Version 15.2(7)E7, RELEASE SOFTWARE (fc10) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2022 by Cisco Systems, Inc.
記得修改一下 boot image,不然下次開機還是抓不到映像檔
Switch#conf t Enter configuration commands, one per line. End with CNTL/Z. Switch(config)# Switch(config)#boot system flash:c2960x-universalk9-mz.152-7.E7.bin
儲存 running-config
Switch#wr me Building configuration... [OK] Switch#
大功告成,本還想說更新花個10~20分鐘就能完成,沒想到來了個驚喜搞了一個小時…