1 、路由器的硬件架构 ?
   首先我们来了解路由器一般硬件架构,主要有 CPU  、内存、 NVRAM Flash 、接口等组成,可以把路由器的看作一个具有特殊功能的计算机,大家都知道一个完整的计算机系统由硬件系统和软件系统构成。路由器硬件结构如下图所示:
   
uFlash(闪存)中存放的是路由器的操作系统,大家所熟悉IOSInterconnection Operation System 就是CISCO的路由器操 作系统,用压缩的格式存放在路由器Flash中。
u NVRAM (非易失性存储器)使用 IOS 提供的相关命令对路由器进行配置,并以文件的形式存放在 NVRAM 中,这样方便在启动时加载到内存中。
u ROM Read Only Memory )只读存储器里包含了 POST Power On Self Test )加电自检代码、 Boot Strap 引导代码、 Mini IOS ( 简化版的 IOS 相当于 windows 系统的安全模式 ) ROM Monitor (相当与 windows 的命令提示模式主要用于灾难恢复) 
u RAM Random-Access Memory )随机存取存储器包含启动时加载的 IOS 、各种路由协议进程、活动配置文件、缓冲区等

 
2 、什么是注册寄存器的值?
   注册的寄存器是由 16 位的二进制数组成的放置在路由器的 NVRAM 中的一组数值,用于决定路由器如何启动。 Cisco 路由器的默认注册寄存器的值是 0x2102 (十六进制)表示路由器根据 NVRAM 中配置文件决定启动位置。
下表描述了注册寄存器各个比特位的含义 .
Bit Number (比特位) <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

Meaning (含义)

0-3

引导区 . (See Table C-2.)

6

是否加载 NVRAM 中的配置文件内容

7
开启 OEM
8

关闭 Break

9

Causes the system to use the secondary bootstrap.
This is typically not used (set to 0).

10

IP 广播到所有域

5 11 12

Console 口速率

13

如果网络启动失败,默认从 ROM 中启动

14

I P broadcasts do not have net numbers.

15

启动诊断信息同时忽略 NVRAM 内容

 

3 、修改注册寄存器的值 (以 Cisco2600 系列的路由器为例)
       1)如何让路由器开机后进入 ROMmon 模式
             Router1(config)# config-register 0x2100     //设置注册寄存器的值为0x2100
             Router# show version                               //验证注册寄存器的值
             Router# copy run start                              //保存配置到NVRAM 配置文件中
             Router# reload                                         //重启路由器
             …
             Rommon>                                               //进入Rommon 模式提示符

       注意:
         想让路由器开机进入 Mini IOS ,将注册寄存器的值该为 0x2101
         如果保存了以上的配置路由器在每次启动都将生效!

    2)如何在ROMmon模式中在如何修改配置寄存器的值
        Rommon>confreg 0x2102            // 将寄存器的值改为 0x2102 (默认值)
        Rommon> reset                    // 重启路由器

        提示:
         如果寄存器的值为 0x2102 表示根据 NVRAM 中的设置决定启动位置
         在路由器开机时按住键盘上 Ctrl+Break 键也可以进入路由器的  ROMmon

    3)如何设置 NVRAM IOS 的寻找和加载顺序
              Router(config)# boot system flash [slot0:] [ios_filename]      // 表示从0号插槽的 flash 中加载 IOS
              Router(config)# boot system rom                                       // 表示从 ROM 中加载 IOS
              Router(config)# boot system tftp [ios_filename] [tftp-ip]        // 表示从 TFTP 服务器中加载 IOS
              Router# copy run start                                                      // 保存以上的配置到 NVRAM

    4)如何设置开机不加载配置文件
              Step1: 使用 console 线把路由器的 Console 口和计算机的 Com 相连
              Step2: 给路由器加电时并时按住键盘上的 Ctrl+Break 键进入监控模式;
              Step3: 在监控模式下设置配置寄存器的值为 0x2142 ,并重启路由器;

 

              提示:
         注册寄存器的第 6 位的取值决定路由器启动时是否加载配置
         将配置寄存器的值设置为 0x2142 表示开机不加载配置文件但是配置文件仍然存放在 NVRAM 中。