当你向系统中增加一个新的设备或需要配置在引导过程中未被检测为可用的设备时,系
统必需提供配置这些设备的方法。cfgmgr 命令可用来配置设备,也可以往系统中安装设备
软件。 要被配置的设备由配置规则对象类(Configuration Rules object class)控制,后者
是设备配置数据库(Device Configuration database)的一部分。每个配置规则定义三项内
容::
- 要运行的可执行程序的全路径名。
- 在何时运行该程序(相对于其他规则)。
- 在哪个阶段运行该程序。
在系统引导过程中,cfgmgr 命令配置所有必要的设备。
cfgmgr 命令识别三个阶段的配置规则:
- 阶段1
- 阶段2 (在常规引导中的第二个引导阶段)
- 阶段3 (在维护引导中的第二个引导阶段)
在阶段1中,cfgmgr 命令被使用 -f 标记调用以指定该阶段为阶段1。cfgmgr 命令运行
阶段1的所有配置规则,以配置基本设备。接下来开始阶段2的执行,cfgmgr 命令被使用-s
标记调用。
通常,cfgmgr 命令在调用过程中运行所指定的阶段的所有规则(如 -f 标记指定阶段1
的规则)。但是,如果使用了 -l 标记,cfgmgr 命令只配置所命名的设备及其子设备。
如果 cfgmgr 被调用时不带任何阶段选项(例如,不带有 -f、-s 或 -p 标记),则该命令运
行阶段2的规则。运行阶段3规则的唯一方法是使用 -p 标记。
每个阶段的配置规则被根据在 seq 域中所指定的值进行排序。这个域是一个整数,定
义相应的规则相对于其他规则在该阶段中的执行优先级。seq域的数值越高,优先级越低,
例如,seq域值为1的规则要比值为10的规则先执行。只有一个例外:seq域值为0时表明了
一个“不用关心(don't care)”的条件,即任何seq域值为0的规则最后执行。
因此,seq域值为1是最高优先级(首先执行)。
如果在配置设备时有任何设备被检测到尚未安装设备软件,cfgmgr 命令会返回一个警
告消息,并给出必需安装的设备软件包的名字或可能的名字列表。如果设备软件包的特定名
字能被确定,则它是警告消息后面一行中显示的唯一一个软件包名。如果特定名字无法被确
定,则会在一个单行中显示一个由冒号分隔的可能的软件包名字列表。如果有多于一个设备
被检测到没有安装设备软件,则每个设备的软件包名字或可能的软件包名字列表均被显示。
以下为一个例子:
cfgmgr: 0514-621 WARNING: The following device packages are
required for device support but are not currently
installed.
devices.pci.22100020
devices.pci.14101800
devices.pci.scsi : devices.pci.00100300 : devices.pci.NCR.53C825
在这个例子中,先找到了两个未安装软件的设备,cfgmgr 命令显示了必需安装的设备
软件包的名字。第三个未安装软件的设备也被找到,但是在这个例子中,命令显示的是多个
可能的设备软件包名字。