导言: Cisco公司提供了两种工具来告诉路由器加载哪个IOS。 第一种工具是configredister,也就是配置寄存器。配置寄存器是存储在路由器中的一个16位的数,通常用4位十六进制数来表示,如0x2102。配置寄存器的最后一位称为启动域,启动域告诉引导程序加载哪个软件,如下所示: 启动域为0——ROMMON; 启动域为1——boot ROM IOS; 启动域为2至F——从其他位置加载IOS,典型的为闪存。 如果启动域的值为0或1,路由器可以精确的知道如何去做;如果为其他值,路由器必须要用另一个工具——bootsystem命令——来决定下一步如何做。Boot system命令在路由器加电时,可以从配置文件中找到,它将告诉路由器IOS文件的位置及文件名。当启动域为除了0和1以外的任何值时,路由器使用boot system命令并执行以下逻辑: 1)加载在配置文件中的boot system命令中定义的IOS文件。 2)如果这个IOS文件加载失败,则尝试去找下一个boot system命令。 3)如果所有的boot system都执行失败,或者没有boot system命令,将会加载在闪存中找到的第一个IOS文件。 但是,大多数路由器默认的配置寄存器的值为0x2102,并且不使用boot system命令,则就意味着这些路由器将会加载闪存中的第一个IOS文件。 4.将配置文件读入内存 通常情况下,路由器将所有的配置命令放在一个一个文件中,称作启动配置文件(startup-config)。启动配置文件在路由器初始化时告诉路由器如何进行配置。这个文件被存储在一个很特殊的永久存储设备上,称作NVRAM——非易失性随机存储器,断电时内容不会丢失。 当配置文件进入到内存后它被称为running-config,因为此时它正在被IOS运行。 正像IOS可以从几个位置加载到内存中一样,路由器也可以从几个地方获得启动配置文件。 1)路由器可以选择忽略NVRAM中的配置文件,这样路由器启动时就没有配置文件。这对口令恢复是很有用处的,可以通过配置寄存器来实现。 2)如果在NVRAM的配置文件中有boot config命令,则可以从TFTP服务器上加载初始化配置文件。 3)路由器也可以发广播去寻找一个TFTP服务器及其上的配置文件。 在通常情况下有一个默认的加载顺序。假设配置寄存器没有被配置成忽略NVRAM中的配置文件,IOS首先在NVRAM中寻找,如果没有找到,它会再寻找TFTP服务器,如果依然没有找到配置文件,IOS将假设工程师会登陆到控制台增加配置,所以IOS不再加载任何配置文件。 以下是我做的路由器启动过程流程图,错漏之处在所难免,欢迎指正! |
不良信息举报Q:2000617|Archiver|ROS软路由论坛 ROSABC.com 网络方案网络工程交流
GMT+8, 2025-11-10 11:53 , Processed in 0.030894 second(s), 15 queries .
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.