本文将以cisco 3550为例介绍IOS的恢复方法:
  
  第一步:用控制线连接交换机console口与计算机串口1,用带有xmodem功能的终端软件连接(微软操作系统自带的超级终端软件即可)。
  
  第二步:设置连接方式为串口1(如果连接的是其他串口就选择其他串口),速率9600,无校验,无流控,停止位1,当然直接点击还原为默认值也可以。(如图1
  第三步: 连接以后计算机回车出现交换机无ios的界面,一般的提示符是 “switch:”
  第四步:这时拔掉交换机后的电源线。按住交换机面板左侧的mode键(一般交换机就这一个键),插入交换机后边的电源插头给交换机加电。等到看到交换机面板上没有接线的以太口指示灯都亮和交换机的几个系统指示灯都常亮。

  第五步:在超级终端输入:
   switch:flash_init
  会出现如下提示:

   Initializing Flash...
  
flashfs[0]: 1 files, 1 directories
  
flashfs[0]: 0 orphaned files, 0 orphaned directories
  
flashfs[0]: Total bytes: 3612672
  
flashfs[0]: Bytes used: 1536
  
flashfs[0]: Bytes available: 3611136
  
flashfs[0]: flashfs fsck took 3 seconds.
  
...done Initializing Flash.
  
Boot Sector Filesystem
  
Parameter Block Filesystem
  第六步:switch:后面输入load_helper,输入后无任何提示。

  第七步:输入拷贝指令:
   switch:copy xmodem: flash:p_w_picpath_filename.bin
  例如保存在我的计算机中的flash文件为c3500-c3h2s-mz.120-5.wc5.bin则输入switch: copy  xmodem: flash:c3500-c3h2s-mz.120-5.wc5.bin,接着会出现Begin the Xmodem or Xmodem-1K transfer now...的提示。

  
  第八步:系统提示中将会不断的出现“C”这个字母,这就表示开始传文件了。
  第九步:点击超级终端菜单的传送->发送文件,在协议选项中选择Xmodem或者Xmodem-1K协议,然后选择ios的影像文件(*.bin),开始正式传送。
  第十步: 由于不能改传送的速率,所以传送得很慢,大概传送40分钟左右才能完成,所以传送时请耐心等待。
  第十一步:传送完毕后提示:
   File "xmodem:" successfully copied to "flash:c3500-c3h2s-mz.120-5.wc5.bin"
  
switch:
  第十二步:在提示符下输入switch:boot,路由交换设备将自动重新启动,我们也可以启用新的ios系统。

  第十三步:重新加电后就完成了所有恢复工作。我们可以正常使用新IOS系统的设备了。
  Flash Memory是存储IOS的场所,如果在实际使用中Flash Memory出现了问题或者需要对设备进行升级,安装新的高版本的Flash Memory时就用到复制Flash Memory的操作了。
  小提示:在复制新的Flash Memory时我们应该执行erase flash命令将原来的出问题的或旧的FLASH删除。
  目前比较流行的解决Flash Memory故障,升级FLASH的方法都是使用TFTP法传输。本文以CISCO 2600系列为IT168的读者进行讲解。
  第一步:执行删除Flash Memory命令后设备将进入rommon状态。
  第二步:我们需要对rommon状态进行设置,让其符合我们的TFTP传输环境。具体命令如下:
   rommon 3 > set
  
PS1=rommon ! >
  IP_ADDRESS=172.18.16.76(设置路由器的IP地址,注意在实际中我们只能使用端口一进行恢复flash操作)

  IP_SUBNET_MASK=255.255.255.0(设置路由器一端口的子网掩码
  DEFAULT_GATEWAY=172.18.16.65 (设置路由器的默认网关地址)
  TFTP_SERVER=172.18.16.2 (设置用于传送FLASH文件的TFTP服务器的地址)
  TFTP_FILE=quake/rel22_Jan_16/c2600-i-mz(设置TFTP服务器上FLASH文件的文件名,方便下载)
  第三步:接着执行tftpdnld命令就可以开始下载了。
  小提示TFTP服务器是必须建立的,所以我们应该找到一台PC机配置上文设置的TFTP服务器IP地址,然后从CISCO网站下载专业的TFTP服务器建立工具或者找第三方软件来建立。建立的方法非常简单选择要发布的目录即可。
  
  使用路由交换设备时间长了通过sh flash命令会发现大量CRASHINFO文件,这些文件占用了大量的FLASH空间。当这些文件过多造成FLASH存储空间满的话则影响我们以后升级FLASH。那么CRASHINFO是什么文件呢?我们如何清除他们呢?
  
  Crashinfo文件是路由器重启时留下的文件,是重新启动的记录文件,我们可以删除他们。具体使用Delete命令即可。
  
  有的时候我们执行sh flash会发现有两个分区,造成FLASH容量出现两个分区主要是由下面两种原因造成。一是有人执行了分区命令,将一块FLASH分成两个区;二是路由器上插有两个FLASH,这样每个FLASH都将以一个独立的分区显示。例如笔者在设备上使用show version显示了两个分区:
  
   Router#show version
  
Processor board ID JAD06100CD1 (1588947843)
  
M860 processor: part number 0, mask 49
  
Bridging software.
  
X.25 software, Version 3.0.0.
  
2 Ethernet/IEEE 802.3 interface(s)
  
32K bytes of non-volatile configuration memory.
  
8084K bytes of processor board System flash (Read/Write)
  
8084K bytes of processor board System flash (Read/Write)
  一般为了方便升级,更好的利用空间资源我们要合并FLASH分区。

  第一步:在路由器上显示一下FLASH的情况:
   Router#dir flash?
  
Flash:1:
  
Flash:2:
  第二步:把flash:2:删除

   Router#erase flash:2:
  第三步:合并两个flash

  Router(config)#partition flash 1 (把两个FLASH合并成一个FLASH1
   Router#write memory
  修改完后会显示这样的信息:

   Router#show version
  
Processor board ID JAD06100CD1 (1588947843)
  
M860 processor: part number 0, mask 49
  
Bridging software.
  
X.25 software, Version 3.0.0.
  
2 Ethernet/IEEE 802.3 interface(s)
  
32K bytes of non-volatile configuration memory.
  
16384K bytes of processor board System flash (Read/Write)
  
Configuration register is 0x2102[/U]
  小提示:查看FLASH是否分区还可以使用show flash来查看,如果存在多个分区则会在显示信息中出现System flash directory, partition 1System flash directory, partition 2的提示。

  总结:
  IOSFLASH出现问题的机率不是很大,遇到故障时首先要保证不要着急,因为IOSFLASH故障都算软件故障,我们都可以通过下载上传相应的软件程序来解决,不会像某个硬件出现问题那样需要花钱来更换设备。