[转载]多操作系统启动点滴
原始连接:[url]http://www.longen.org/L-R/detaill-r/MultiOSLoad.htm[/url]我们大家都知道NT和Windows95可以进行双重启动。这样可以使我们选择合适的操作系统进行工作。下面我们就多重启动的一些问题简单说明一下。最早的计算机配置十分差,我们今天的一点点配置在当时看来几乎是超级计算机都无法达到的。当IBM在80年代设计PC的时候它就明白操作系统是计算机的一个重要组成部分。因为IBM原来也做过操作系统,因此在这方面它可不是外行。也正是因为当时IBM出色的设计,使得今天不同的操作系统都可以运行在相同的计算机上。
在原来的PC设计中,BIOS控制磁盘启动过程,这一过程(程序)被固化在ROM中。这一过程是固定的,无论你是用软盘还是用硬盘启动,都是这样的顺序。启动程序读磁盘的0扇区,在这一区域中(我们称为启动扇区),包括了两个重要的结构,第一个标明了磁盘的属性,如什么操作系统格式化了它呀,磁盘的逻辑组织是什么呀之类的东西,还有就是磁盘的物理信息,多少个扇区之类的东西。第二个数据结构是一个称为"bootstrap"的程序,这个程序由BIOS装入并运行,这个程序的目的就是找到初始的操作系统文件,找到它后就可以运行操作系统文件,控制权就由BIOS转到操作系统了。在Win95或NT下情况有一些不同。Win95和N在启动扇区中包括了新的装载程序,可是Win95和NT的装载程序不一样,这就有点麻烦了,如果用户希望多个操作系统并存,可就有意思了。
当用户在原来Dos/Windows系统区上安装NT时,NT安装过程更新启动扇区,使启动扇区指向ntldr,当ntldr运行时,它寻找boot.ini决定有效的操作系统启动参数及选项。在boot.ini中定义了由ntldr装入的不同的操作系统,可以选择的操作系统在列表上。这个过程我想大家都一定见过。
假设用户选择了NT,ntldr会开始从磁盘上装入NT的文件并支持它。如果选择选择别的操作系统,ntldr会装相应操作系统的文件。
现在让我们来看看安装Win95时会产生什么情况。Win95安装程序也更新启动扇区,它把Win95的启动程序装在这一区域,不管有没有别的操作系统,Windows 95就是默认的。这可就麻烦了。当用户运行Win95时,MS-DOS的io.sys和msdos.sys文件被更名为io.dos和msdos.dos,Win95使用自己的io.sys和msdos.sys。当bootstrap运行时,它启动io.sys中的程序,io.sys命名用户可以按F4,F8进行配置。
如果用户启动到MS-DOS,io.sys要做一些奇怪的工作,首先它将Win95的io.sys更名为winboot.sys,将msdos.sys更名为msdos.w40(有时候不太一样,这些要依当时机器的情况而定,但基本上就是这样)。然后io.sys将io.dos和msdos.dos更名为io.sys和msdos.sys,这时操作的控制权就转到DOS了。当使用Win95进行启动时,这个过程把方向进行。一个奇怪的过程。
NT和Win95有不同的方法对付由DOS的启动,当ntldr被要求装入DOS时,它的作法和Win95的作法很象。Win95对NT是敏感的,它在安装的时候会首先看有没有NT,如果没有NT,就装自己的,如果有NT,它不会把自己的启动程序乱加一气的。
页:
[1]