windows 7 引导过程概述

来源:互联网 发布:人体解剖软件 编辑:程序博客网 时间:2024/06/04 18:54

Window 7的核心版本号是NT6.1,和vista NT6.0还是属于一个系列的,因此采用了一样的启动管理机制。对于双系统来说,正如98xp共存的双系统一样,xp7共存的算系统安装也是要有先后顺序的。因为windows的启动管理属于向下兼容,7的可以兼容xp,而xp不可以兼容7.所以要先装xp再装7才不会出问题。

 

先解释一下一些windows7中跟引导有关系的文件和关键位置

 

  • Mbr&dpt硬盘主引导记录和分区表(分区表中包括四部分用来记载四个主分区的物理位置),位于硬盘的第一个扇区,不属于任何系统分区。
  • Bootmgrwindows nt6系列的引导管理器,位于主激活分区内,属于系统隐藏文件
  • Boot.bakboot.ini的备份,双系统的时候会存在。
  • Bootsect.bak: bootsect.bak是该活动分区的前16个扇区的备份文件,所以它的大小是8KB,就是pbr的备份。
  • PBR分区引导代码
  • /boot/[语言]/bootmgr.exe.mui:在主分区boot目录下包括24个语言的BOOTMGR.EXE.MUI,用来和bootmgr组合形成启动菜单
  • /boot/bcd:相当于xp时代的boot.ini,不过bcd是基于数据库的,不是基于文本的,也是为了安全性考虑吧。微软专门提供了一个修改bcd的程序bcdeit来修改相应的参数
  • /boot/bcd.log&bcd.log1&bcd.log2log文件,具体干嘛的未知。
  • /boot/bootstat.dat 引导时候用来记录引导状态的数据文件
  • /boot/ memtest.exe:内存测试工具

 

 

下面来解释一下window7的启动原理。(正常流程,因为还有很多非正常的情况启动过程有些区别,就不再这里赘述了)

 

首先加电之后是bios程序启动,bios自检完成之后,将mbr的代码读入内存,管理权交给mbrmbr再读取dpt,从dpt找出硬盘的所有分区哪一个是激活的主分区。到这里为止,所以系统都是一样的。下面就有区别了。Dpt读完找到主分区之后然后找到这个主分区的pbrpbr位于激活主分区的第一个扇区。安装不同操作系统的时候pbr是会被改变的,xppbr写死的代码是去找ntldr。而vista7pbr里写进的就是去找bootmgr

这个时候显示器上还没有显示引导管理器的界面。Bootmgr被找到之后管理权就交到了bootmgrBoot Manager 首先从 BCD 中读取 BootManager 菜单的语言版本信息,然后再调用 BOOTMGR 与相应语言的BOOTMGR.EXE.MUI 组成相应语言的启动菜单,之后才会在显示器上显示引导管理器,也就是选择多操作系统的那个文字界面。最后,当你选择了相应的操作系统,这里当然是7(如果选择xp,会转入xp的启动流程,找到xpntldr然后启动),bootmgr就去寻找系统分区(系统分区和主分区的概念不是一样的哦)windows/system32下的winload.exe加载操作系统内核。剩下的事就是启动windows7了。


 

原创粉丝点击