Windows系统启动原理

一.硬盘分区基本认识

大家常会看到硬盘分区中这样的几种说法:系统分区、启动分区、活动分区、主分区、拓展分区、逻辑分区,MBR、PBR、DPT、主引导扇区等。尤其是看到很多误导后,更会云里雾里,现在我力求用最简明的语言阐清几者之间的关系。若有错误之处还请不吝指出。

首先,每个独立的硬盘都只有一个主引导扇区MBR(共512字节),记录着硬盘分区的信息。主引导扇区包括:BOOT LOADER(主引导程序,446字节)、DPT(硬盘分区表,64字节)、MN(幻数,2字节)。此扇区与是否已经分区无关,与安装的操作系统无关,硬盘都存在。PBR是分区引导记录,每个分区都有。

其次,说一下各个分区的基本含义,上面说到DPT即分区表,总共有64个字节,每个分区参数占用16个字节,做个简单的除法可知:硬盘最多可分4个逻辑磁盘(独立互不干扰)。我们看到的硬盘分区可能会出现很多个,这是何故?这是引入拓展分区的缘故。独立互不干扰的4个逻辑磁盘,可以全部是主分区,即通常说的最多可分4个主分区;如果只有三个主分区,剩下的那个逻辑磁盘设成拓展分区,而拓展分区包括很多相互连接的逻辑分区(不像主分区那样独立自主)。一言以蔽之,硬盘分区包括主分区+拓展分区。拓展分区=很多逻辑分区相加,主分区最多4个。

再次,系统分区、启动分区、活动分区这三个分区之间的关系。其中系统分区、启动分区这两个名字好像起反了,系统分区中包含“启动文件”(NTLDR、BOOTMGR等),启动分区包含系统文件(比如Windows文件夹)。每次电脑启动时,必须有且仅有一个活动分区,装载活动分区里面的“启动文件”,因此活动分区就是系统分区。

二.Windows系统启动原理

1.WindowsXP系统启动:

开机自检——将MBR(主引导扇区)代码读入内存,管理权交给MBR-MBR读取分区表DPT——DPT读取硬盘中的活动分区(系统控制权交给该分区的PBR)。到这里为止和安装的系统无关,前面讲过活动分区就是系统分区,而系统分区里面含有“启动文件”(NTLDR)——接着读取同目录下的BOOT.INI文件(系统启动菜单管理文件)—进入WindowsXP系统。

2..Windows7系统启动:

开机自检——将MBR代码读入内存,管理权交给MBR-MBR读取分区表DPT——DPT读取硬盘中的活动分区(系统控制权交给该分区的PBR)。到这里为止和安装的系统无关,前面讲过活动分区就是系统分区,而系统分区里面含有“启动文件”(BOOTMGR)——接着读取同目录下的BCD文件(启动配置文件)——交给启动分区的Winload.exe——进入Windows7系统。

3.WindowsXP和Windows7双系统启动:

开机自检——将MBR代码读入内存,管理权交给MBR-MBR读取分区表DPT——DPT读取硬盘中的活动分区(系统控制权交给该分区的PBR)。到这里为止和安装的系统无关,前面讲过活动分区就是系统分区,而系统分区里面含有“启动文件”(BOOTMGR)——读取同目录下的\BOOT\BCD和BOOT.INI文件——列出启动菜单:如果选择Windows7接下来由Winload.exe接管;如果选择WindowsXP接下来由NTLDR接管。

思考一个问题:为什么在Windows7的基础上装WindowsXP双系统后,只能进入WindowsXP?

答:系统安装过程中会更新PBR,WindowsXP系统将PBR修改成为适合WindowsXP的了,因此无法进入Windows7。

Vista系统的电脑启动过程

Vista系统的电脑启动过程

XP系统的电脑启动过程

XP系统的电脑启动过程


Previous(前一篇)     Next(后一篇)
stach.tan /
Published in categories 计算机原理  tagged with 启动