一、 预备知识
  交换机与计算机有相似点是,它也有内存、操作系统、配置和用户界面,Cisco交换机中,操作系统叫做互连网操作系统(Internet Operating System)或IOS.下面介绍交换机的存储器。
  ROM(只读存储器):包含路由器正在使用的IOS的一份副本;
  RAM(随机访问存储器):IOS将随机访问存储器分成共享和主存,主要用来存储运行中的交换机配置;
  FLASH (闪存):用来存储IOS软件映像文件,闪存是可以擦除内存,它能够用IOS的新版本覆写。
  NVRAM(非易失性随机访问存储器):用来存储系统的配置文件。
  交换机的IOS升级主要是闪存中的IOS映像文件进行更换。
   二、前期准备
  1、准备进行IOS升级的Cisco2950交换机一台;
  2、电脑一台(台式机、笔记本均可),○1用于对交换机进行配置操作○2作为TFTP服务器;
  3、直连网线一根(即两段线序一致),用于向交换机传输IOS文件;
  4、交换机配置线一根;
  5、TFTP服务器软件一套,本次使用的是“Cisco TFTP Server”;
  6、IOS升级文件一份。
   三、开始升级
  1、用配置线连接交换机的Console口与电脑的COM1口(或USB口,依据配置线不同而定),网线连接交换机F0/1口与电脑的以太网口。电脑IP设为192.168.0.1.
  2、将电脑作为TFTP服务器,打开TFTP服务器软件,并将其根目录设为IOS文件所在目录。
  3、为使交换机能与TFTP服务器相互通信,我们需要为交换机设置IP地址。使用Windows自带的超级终端软件,将交换机F0/1的地址设为与电脑的IP地址同网段。具体步骤如下(进入全局配置模式):
  Switch<config>#interface vlan 99       //创建并进入vlan99;
  Switch<config-subif>#ip address 192.168.0.2 255.255.255.0
  //为vlan99添加IP;
  Switch<config-subif>#no shutdown       //启用vlan99;
  Switch<config-subif>#exit              //退回全局配置模式;
  Switch<config>#interface fasethernet 0/1    //进入F0/1口;
  Switch<config-if>#switch access vlan 99    //将F0/1口划入vlan99;
  Switch<config-if>#exit                 //退回全局配置模式;
  这时,如果能够在超级终端界面上Ping通192.168.0.1,就表明交换机和TFTP服务器(电脑)连接正常了。
4、在特权模式下输入“show flash”可以查看当前交换机flash内IOS的文件名(如c2950-c3h2s-mz.120-5.3.WC.1.bin)及相关信息,我们首先要将这份IOS文件备份出来,以防万一。
  Switch#copy flash tftp  //复制文件从flash到tftp;
  Source filename []?c2950-c3h2s-mz.120-5.3.WC.1.bin
  Address or name of remote host []? 192.168.0.1
  Destination filename [c2950-c3h2s-mz.120-5.3.WC.1.bin]?(回车)
  等待一会儿该文件就备份完成了。备份完成后,我们接下来就要将新的IOS文件复制到flash中。
  我们通过“show flash”命令发现flash中的剩余存储空间比我们要升级的IOS文件要少,为了使新的IOS文件能拷入交换机的flash中,我们必须要先删除原IOS文件。
  Switch#delete flash: c2950-c3h2s-mz.120-5.3.WC.1.bin
  //删除原IOS文件;
  Delete filename [c2950-c3h2s-mz.120-5.3.WC.1.bin]?(回车)
  Delete flash:c2950-c3h2s-mz.120-5.3.WC.1.bin? [confirm](回车)
  此时flash中的IOS文件已经删除,在新的IOS文件拷入交换机之前,一定要确保交换机不会重新启动,否则交换机就无法正常启动了。
  Switch#copy tftp flash:   //复制文件从tftp到flash;
  Address or name of remote host []? 192.168.0.1
  Source filename []? c2950-i6k2l2q4-mz.121-22.EA**in(回车)
  Destination filename [c2950-i6k2l2q4-mz.121-22.EA**in]?(回车)
  经过一阵感叹号后,新的IOS文件成功复制到flash中
  5、全部复制完成后,输入“reload”重启交换机。如果交换机能够正常的重启动,查看flash中的IOS文件已经变成“c2950- i6k2l2q4-mz.121-22.EA**in”,那么至此IOS的升级工作就圆满结束了。最后别忘了把临时使用的Vlan99删除。
  四、不幸失败
  IOS 升级失败的原因有很多,比如升级过程中网线松动、用来升级的IOS文件和交换机不匹配、突然停电等等。遇到上述情况的结果只有一个,那就是交换机“起不来了”。如果交换机无法正常起动,不但不能再使用刚才的方法重新进行IOS升级,就连正常使用都已经成了问题。不过“天无绝人之路”,解决的方法还是有的,我们的基本思路是:只要想办法将正确、完整的IOS文件导入交换机的flash里,交换机就能够正常启动了。下面,我就介绍一下IOS升级失败后的恢复方法,其实这也是一种IOS升级的方法,只是比起前一种更加复杂,所以不太常用。
1、用配置线连接交换机console口与电脑COM1口。超级终端连接设置:速率9600,无校验,无流控,停止位1.或者点击默认设置也可以。
  2、连接以后计算机回车出现交换机无ios的界面,一般的提示符是:switch:
  3、拔掉交换机后的电源线。
  4、按住交换机面板左侧的mode键(一般交换机就着一个键),插入交换机后边的电源插头给交换机加电。等到看到交换机面板上没有接线的以太口指示灯都亮和交换机的几个系统指示灯都常亮。
  5、在超级终端输入: 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 (bs installed, fsid: 3
  Parameter Block Filesystem (pb installed, fsid: 4
  6、继续输入: load_helper(输入后无提示)
  7、输入拷贝指令:
  switch:copy xmodem:flash: c2950-i6k2l2q4-mz.121-22.EA**in
  出现如下提示:
  Begin the Xmodem or Xmodem-1K transfer now……
  8、系统提示不断出现C这个字母就可以开始传文件了
  9、点击超级终端菜单:传送——→发送文件,在协议选项中选择Xmodem或者Xmodem-1K协议,然后选择IOS文件,开始传送。
  10、因为不能改速率,所以传送得很慢,我的大概传送了60分钟左右,请耐心等待。
  11、文件传送结束后,在提示符下输入:boot(启用新的IOS系统)
  12、经过几十秒钟,交换机就进入正常的状态了,这时查看flash,里面应该有了新的IOS文件,至此IOS恢复工作完成。
  最后需要注意的是,由于生产时间的不同,并不是所有的CISCO2950交换机都能运行同一版本的IOS软件,一些较老的CISCO2950交换机在升级后会发生以太网业务板无法识别的情况,所以在升级之前一定注意备份原有IOS文件,防止意外发生造成损失。