twzheng's cppblog

『站在风口浪尖紧握住鼠标旋转!』 http://www.cnblogs.com/twzheng

  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  136 随笔 :: 78 文章 :: 353 评论 :: 0 Trackbacks


[转] 深入剖析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" /fastdetect

SCSI(X)disk(Y)rdisk(Z)partition(Q)\WIN98="Microsoft Windows 98" /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之类的开关符。这些开关符都有特殊的含义,一般情况下建议不要更改。

OK,基于以上知识,我们对BOOT.INI文件应该有了一个比较清楚地认识。于是,我们就可以根据需要对其进行修改了。以笔者的电脑为例,BOOT.INI文件显示,硬盘中装有两个Windows XP专业版系统(实际上一个为中文版,一个为英文版),默认情况下是启动硬盘第三分区上的系统(英文版)。如果要它在默认情况下启动硬盘第一分区上的系统(中文版),而且为了以示区别,将两个Windows XP Professional分别对应的加以标记。这时,我们可以通过修改BOOT.INI文件来达到目的,修改之后如图2所示。重新启动计算机,看看你的愿望是不是实现了呢!

由以上可知,BOOT.INI是一个非常重要的系统文件,没有它,系统将无法进行引导,所以我们平时除了要对其作必要的备份之外,还要编辑它的方法。特别是在安装多系统时,如果没有按照从低到高(Windows 98、Windows 2000、Windows XP、Windows 2003)的安装顺序,该文件往往会被损坏。如果我们掌握修改和编辑它的办法,就不会到时候无计可施了。

posted on 2007-08-02 16:55 谭文政 阅读(316) 评论(0)  编辑 收藏 引用 所属分类: 基础知识

只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理