玩转Windows多重启动的重要文件

2010-08-28 10:48:10来源:西部e网作者:

  现在安装多重启动系统的朋友越来越多了,但是很少有人能够完全知道,在多重启动系统中的几个重要文件的作用是什么。下面让笔者简单地予以介绍,希望大家以后能关注这些文件,以备不时之需。

  由于Windows 95/98/ME(以下简称Win9X)和Windows NT/2000/XP/Server 2003(以下简称WinNT)的引导方式完全不同,所以在多重启动系统里面,微软采用了一种很巧妙的方式来解决这个问题。Win9X采用的直接读取引导扇区的方式来启动系统,而WinNT是通过NTLDR和NTDETECT.COM来启动系统的。这也是为什么Win9X害怕引导区计算机病毒的原因之一。需要说明的是,在WinNT架构的启动进程中,有一个文件也是需要注意的,这个文件就是经常被大家挂在嘴边的BOOT.INI文件。由于这个文件的重要性被过度强化,给大家造成了这个文件是无所不能的一种错误的印象,也就出现了一些“经典”的错误。例如“备份双系统启动文件只需要备份C盘根目录下得BOOT.INI文件就可以了”。其实不然,在某些情况下,只备份这个文件是不能够解决问题的。详细的解释请看后面的说明。

  一、最重要的五个文件

  本文将分析在多重启动系统中起重要作用的文件,它们分别是以下几个:BOOT.INI、BOOTFONT.BIN、BOOTSECT.DOS、NTDETECT.COM、NTLDR。其中BOOT.INI是大家非常熟悉的一个配置文件。从这个文件可以选择启动的操作系统是什么?而且还可以通过修改BOOT.INI文件控制启动的方式,如在操作系统说明符后面加上“/fastdetect”参数,可以使用快速自检模式。同样,还有“/nodetect”等参数可供使用。但是,不是说没有这个文件就不能够启动你的操作系统,丢失这个文件的后果就是只能从C盘启动。同时,由于这个文件是完完全全的一个文本类型的文件,我们可以使用任何文本编辑工具编辑这个文件。换句话说,BOOT.INI在多重启动系统中不是最重要的一个文件,也就说不上“备份双系统启动文件只要备份C盘根目录下的BOOT.INI文件就可以了”。

  熟悉多重启动系统启动模式的朋友们都知道,操作系统的启动流程从NTLDR开始。NTLDR通过读取BOOT.INI文件,确定操作系统启动分区的位置。对于只有一个操作系统的电脑,NTLDR启动NTDETECT.COM开始下一步的启动流程,而对于含有多重启动操作系统的电脑,NTLDR将把BOOT.INI的选择菜单内容显示在屏幕上供使用者选择。可见,NTLDR是决定多重启动系统的关键性文件。而常见的启动出错提示也是:“NTLDR is missing.”。那么其他的文件又有什么用处呢?

NTDETECT.COM是一个用于对硬件设备初始化的一个系统级别的文件,然后把这些硬件信息传递给下一个启动步骤,最终完成操作系统的启动。需要说明的是,这个文件仅存于NT架构的操作系统里面,而在Win9X下的启动流程又是另外的一种方式。

  以上3个文件的重要性已经为不少读者有所了解,但是下面这个文件的重要性恐怕很少有人知道了。这个文件就是在多重启动中启动Win9X操作系统的一个非常关键的文件:BOOTSECT.DOS。从名字上是看不出这个文件有什么特殊的用途的,但是如果你的多重启动操作系统组合里面含有Win9X,那么你一定可以在C盘根目录发现这个文件。这个文件不大,只有512字节。其实这个文件里面存放的就是大家非常熟悉的启动扇区里面的全部数据。那这个文件是如何产生的呢?当NTLDR被安装的时候,安装程序自动地将原先的启动扇区保存为BOOTSECT.DOS文件,然后使用新的启动数据覆盖这个扇区。当这个文件丢失的时候,你再选择启动Win9X时,你看到的不再是熟悉的蓝天白云的启动画面,而是屏幕上的一串英文提示,翻译过来的大意就是I/O错误,系统无法启动。为什么会这样?因为NTLDR从你的选择中得知你将启动Win9X系统,然后去读取BOOTSECT.DOS文件以开始Win9X启动流程,但是由于BOOTSECT.DOS文件不存在,所以启动过程当然会失败了。

  另外一个比较重要的文件就是BOOTFONT.BIN。这个文件实际上就是一个中文字体库,用于在启动的时候有中文显示。否则你看到的只有满屏的英文提示。

  以上5个文件全部位于C盘根目录下,而且都具有一定的属性,例如隐藏、系统、只读等。察看、修改这些文件需要先取消这些特别属性,否则你的操作将不能够进行。

  二、需要注意的问题

  NTLDR、NTDETECT.COM两个文件具有向下兼容性,但是不具有向上兼容性,也就是说你可以使用Windows XP的这两个文件启动Windows 2000,但是却不能够启动Windows Server 2003,这也解释了为什么很多朋友在已经安装有Windows XP的电脑上安装Windows 2000以后启动Windows XP失败的原因。解决方法其实很简单:从Windows XP安装光盘里面取出这两个文件覆盖C盘根目录上的同名文件即可。还有就是那个容易被大家忽略的BOOTSECT.DOS文件,一旦这个文件丢失或损坏,当然是不能够启动Win9X了。解决方法也很简单:插入一张Win9X启动盘,执行SYS C:命令,然后重新启动,这个时候Win9X的启动已经恢复,只要重新运行WinNT安装光盘,选择修复即可恢复多重启动的选择启动模式。

关键词:Windows