Cisco 3750X交换机更新到IOS 15.2后无法启动 提示:Boot process failed...
背景及故障现象
一台新购入的二手Cisco 3750X-48P,原机自带IOS软件版本为12.x,可以正常工作。
但将IOS版本升级到15.2之后,在启动过程中卡住。
第一次加载IOS软件时是正常的,提示:
Loading "flash:/c3750e-universalk9-mz.152-4.E10.bin"...@@@@@@@@@@@@@@@@@@@
但加载完毕后系统并未启动,而是进行第二次加载,且速度比第一次慢很多。
第二次加载IOS软件完毕后,提示如下:
File "flash:/c3750e-universalk9-mz.152-4.E10.bin" uncompressed and installed, entry point: 0x3000
executing...
Boot process failed...
至此,启动失败,交换机自动接入bootloader模式(显示“switch:”提示符)。
问题原因分析
在Cisco Community上搜到了一则讨论,其中有人表示这可能是bootloader版本的问题。
3750X Bootloader - Cisco CommunityI have a 3750X running: Cisco IOS Software, C3750E Software (C3750E-UNIVERSALK9-M), Version 15.2(2)E, RELEASE SOFTWARE (fc3) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2014 by Cisco Systems, Inc. Compiled Thu 26-Jun-14https://community.cisco.com/t5/switching/3750x-bootloader/td-p/2502792查看了一下故障交换机的bootloader版本,发现其版本为12.2(58r)SE,而其他正常的同型号交换机则为12.2(58r)SE1(结尾多个1)。于是决定按老外说的办法,先升级一下bootloader。
从正常交换机备份bootloader
找到一台正常的3750X交换机,将其断电。按住前面板MODE按钮,再插上电源线,直到机器背面的console口亮灯且有输出时松手,交换机将直接进入bootloader模式(提示符为switch:)。
将一个小容量U盘(实测FAT32格式,8GB可用)插入交换机背板USB接口。然后执行flash_init命令,让交换机对本地的存储介质进行初始化(识别)操作。
存储介质初始化后,可用dir usbflash0:命令检查是否正确识别U盘。
之后执行 copy bs: usbflash0:btld.bin 命令,将bs(boot sector)整个复制到U盘的btld.bin文件中。
注意:【bs:】是指boot sector文件系统,有一个冒号,下同。
恢复bootloader到故障交换机
之后将U盘插入故障交换机(故障交换机已经在bootloader模式下),然后执行 flash_init 命令。
同样,初始化后可以使用 dir usbflash0: 命令检查U盘是否正确识别。
执行 set_bs bs: rw 命令,将bs设置为可读写(默认是只读)。
执行 copy usbflash0:btld.bin bs: 命令,将U盘中备份的文件恢复到bs中。
执行 set_param 命令,设置系统参数(Set system parameters in flash)。
执行 set_bs bs: ro 命令,设置bs为只读。
执行 reset 命令,重启交换机。
操作结果
重启后,bootloader的版本已经成功更新,且IOS 15.2可以正确加载并运行。