剖析Windows XP的BOOT.INI

 电脑中安装有多个操作系统的朋友知道,在电脑加电自检后会出现一个启动菜单,它列出了在这台电脑上安装的所有的操作系统,用户使用“↑”“↓”键可以选择进入哪个系统。实际上这一切都源于一个名为BOOT.INI的文件,自Windows NT开始 它就存在于Windows系统中。Windows XP主要依赖BOOT.INI文件来确定计算机在重启(引导)过程中显示的可供选取的操作系统类别。一般情况下,它位于C盘根目录下,在默认状态下是一个隐藏只读的系统配置文件。要查看它,只要去掉其隐藏属性,即可用记事本打开它,也可以在“开始”中运行msconfig.exe,在弹出的“系统配置实用程序”对话框中单击“BOOT.INI”选项卡就可窥见其庐山真面目。打开BOOT.INI:

BOOT.INI文件的常见格式如下:

[boot loader]

timeout=30

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

[operating systems]

multi(X)disk(Y)rdisk(Z)partition(Q)WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect

SCSI(X)disk(Y)rdisk(Z)partition(Q)WINDOWS="Microsoft Windows 2003" /noexecute=optin /fastdetect

该文件分为Boot loader(引导加载)和Operating systems(操作系统)两大部分。在引导加载部分,timeout=xx表示等待用户选择操作系统的时间,默认是30秒,用户可以根据需要自行更改。default=xxxx表示缺省情况下系统默认要加载的操作系统路径,表现为启动时等待用户选择的高亮条部分。但是令很多用户困惑不解的是,那些“multi(0)disk(0)rdisk(0)partition(1)”是什么意思?实际上这是根据ARC规则命名的,它是x86或RISC计算机中用于标识设备的一种通用方法。ARC名字指向存放操作系统文件的分区,对于磁盘设备, ARC名字的构成如下:

(X)disk(Y)rdisk(Z)partition(Q)

component部分有两种有效值,即multi和SCSI,它用于标明硬件适配器。multi表示一个非SCSI硬盘或一个由SCSI BIOS访问的SCSI硬盘,而SCSI则表示一个SCSI BIOS禁止的SCSI硬盘。X值表示操作系统的系统根目录所在的分区所在的硬盘所在的磁盘控制器在同一磁盘控制器上的序号(X从0开始)

disk(Y):对于SCSI硬盘来说,Y值表示操作系统的系统根目录所在的分区所在的硬盘在同一个磁盘控制器上的硬盘序号(Y从0开始);对于multi来说,Y值无任何意义,恒为0

rdisk(Z):对于multi来说,Z值表示操作系统的系统根目录所在的分区所在的硬盘在同一个磁盘控制器上的硬盘序号(Z从0开始);对于SCSI硬盘来说,Z值无意义,恒为0。
partition(Q):Q值表示操作系统的系统根目录所在的分区在同一硬盘上主分区的序号(Q从1开始)。

Operating systems部分列出了这台电脑上所有操作系统的路径和清单,其中还包括一些如/fastdetect、/basevideo、/sos之类的开关符。这些开关符都有特殊的含义,一般情况下建议不要更改。

阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭