Boot.ini 知识详解: <?XML:NAMESPACE PREFIX = O />

Boot.ini 是一个隐藏只读的系统文本文件. 它包含启动的系统列表及默认属性。

boot.ini 文件包含2个节点:

[boot loader]节点

这个节点的配置信息应用所有安装在计算机的操作系统。包含了等待windows启动需要的时间timeout 默认启动的操作系统

以下示例显示了[boot loader] 的应用

 

[boot loader]

timeout=3

default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS

[operating systems] 节点

它包含所有安装在此计算机上操作系统列表;包括启动路径, 启动列表上的显示名称等等

应用实例如下:

[operating systems]

multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /fastdetect

multi(0)disk(0)rdisk(0)partition(2)\WINNT="Microsoft Windows 2000 Professional" /fastdetect

 

Boot.ini 使用ARC Advanced Risk Computing)命名方式来描述操作系统的启动路径。例如:multi(0)disk(0)rdisk(0)partition(1)\WINDOWS

Microsoft Windows XP Professional”是一个友好名称,以方便用户在启动列表中,进行选择。.

启动参数的设置. 这个有点像命令行的参数。每个参数以“/”开头,如/fastdetect 你可以没有启动参数或设置多个启动参数

一个操作系统可以设置成使用多个参数

multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /fastdetect

multi(0)disk(0)rdisk(0)partition(1)\WINNT="Microsoft Windows 2000 Professional"

ARC名称注解

主要有2种类型

multi(X)disk(Y)rdisk(Z)partition(W)\<winnt_dir>

scsi(X)disk(Y)rdisk(Z)partition(W)\<winnt_dir>

对与multi的解释如下:

MULTI(X) 语法形式的 ARC 路径仅在基于 x86 的计算机上使用。在 Windows NT 3.1 版中,此路径仅对 IDE ESDI 驱动器有效;在 Windows NT 版本 3.53.51 4.0 中,它还对 SCSI 驱动器有效。

MULTI() 语法向 Windows NT 指明它应该依靠计算机 BIOS 来加载系统文件。这意味着操作系统将使用中断 (INT) 13 BIOS 调用来查找和加载 NTOSKRNL.EXE 以及启动 Windows NT 所需的任何其他文件。

参数 XYZ W 具有以下含义:

a.       X 是适配器的序号,并且应始终为 0(有关原因,应参阅下文)。

如果 ARC 路径以 MULTI() 开头,则 Y 始终为 0(零),原因在于 MULTI() 如上所述请求 INT 13 调用,因而不需要 DISK() 参数信息。

b.       Z 是适配器上物理磁盘的序号,并且通常是介于 0 3 之间的数字。 IDE通道最多支持4个硬盘,所以数字范围为0~3

c.       W 是分区编号。除类型 5MS-DOS 扩展分区)和类型 0(未用)分区以外,所有分区都有一个编号,并且首先为主分区编号,然后再为逻辑驱动器编号。 注意:W 的第一个有效数字为 1;与此相对的是,XY Z 0(零)开始。

理论上,可使用此语法在系统中的任意驱动器上启动 Windows NT。不过,这需要通过标准 INT 13 接口正确地标识所有驱动器;因为对这一点的支持随磁盘控制器的不同而不同,而且大多数系统 BIOS 只通过 INT 13 标识单个磁盘控制器,所以实际上只有以下使用方法才是安全的:使用此语法从连接到主磁盘控制器的头两个驱动器中启动 Windows NT,或者,如果主磁盘控制器是双通道 EIDE 控制器,则从连接到主磁盘控制器的头四个驱动器中启动 Windows NT

在纯 IDE 系统中,MULTI() 语法将对双通道控制器的主通道和辅助通道上最多四个驱动器起作用。

SCSI(X) 语法

SCSI() 语法适用于基于 RISC 的计算机和基于 x86 的计算机,并且适用于所有版本的 Windows NT。使用 SCSI() 符号表明 Windows NT 将加载一个启动设备驱动程序,并使用该驱动程序来访问启动分区。

在基于 x86 的计算机上,所使用的设备驱动程序是 NTBOOTDD.SYS,它位于系统驱动器(通常是驱动器 C)的根目录中,并且是所使用的驱动器控制器的设备驱动程序的副本。

RISC 计算机上,按照 RISC 规范的要求将驱动程序内置于固件中,因此不需要任何文件。

 

当使用 SCSI() 语法时,参数 XYZ W 具有以下含义:

X 是由 NTBOOTDD.SYS 驱动程序标识的适配器序号。SCSCI 网络适配器序号

Y 是目标磁盘的 SCSI ID

Z 是目标磁盘的 SCSI 逻辑单元号 (LUN)。此编号几乎始终为 0(零)。

W 为分区编号。除类型 5MS-DOS 扩展分区)和类型 0(未用)分区以外,所有分区都有一个编号,并且首先为主分区编号,然后再为逻辑驱动器编号。

注意:由于分区0MS-DOS占用,所以W 的第一个有效数字为 1;与此相对的是,XY Z 0 开始。

使用 SCSI() 符号时,X 的值取决于 NTBOOTDD.SYSWindows NT 下的每个 SCSI 驱动程序都有其自己的控制器编号方法,尽管一般情况下它们遵循控制器上的 BIOS 的加载顺序(前提是 BIOS 被加载)。

另外,如果您拥有多个使用不同设备驱动程序的控制器,则在确定 X 参数的值时,只应该考虑那些由 NTBOOTDD.SYS 控制的控制器。例如,如果您拥有一个 Adaptec 2940 控制器(它使用驱动程序 AIC78XX.SYS)和一个 Adaptec 1542 控制器(它使用 AHA154X.SYS),X 将始终为 0。将要更改的是 NTBOOTDD.SYS 文件:

如果您从 Adaptec 2940 上的驱动器中加载 Windows NTNTBOOTDD.SYS 将是 AIC78XX.SYS 的副本。

如果您从 Adaptec 1542 上的驱动器中加载 Windows NTNTBOOTDD.SYS 将是 AHA154X.SYS 的副本。