javran吧 关注:7贴子:154
  • 3回复贴,共1

[Javran][转载]Windows 启动原理

只看楼主收藏回复

要正确使用Windows XP,一定要熟练掌握Windows XP的启动原理。Windows XP的启动过程所执行的操作可以看成是一个操作系统整体环境的快照或缩影,了解了Windows XP的启动原理,有助于深入了解Windows XP的多方面机制。 

  正如很多人所经常遇到的那样,Windows XP并不是十全十美的,如果操作失误,很可能导致Windows XP的各种故障。其中,启动故障比较常见,也比较难于对付。因为,如果系统启动不起来,对它的排错也就无从谈起。所以,熟练掌握对Windows XP启动故障的排除,也是一个“菜鸟”必不可少的技能。 

  Windows XP是基于NT技术的操作系统,它的启动过程同Windows NT和Windows 2000基本相同,但是同DOS、Windows 3.X、Windows 9.X和Windows ME大相径庭。Windows XP彻底抛弃了原先的基于字符的实模式环境,其启动过程比较复杂。 

  一般来说,Windows XP的启动过程,主要包括以下几个步骤: 

电源开启自检过程。 

初始化启动过程。 

引导程序载入过程。 

检测和配置硬件过程。 

内核加载过程。 

用户登录过程。 

即插即用设备的检测过程。 

一、电源开启自检过程 

  在打开计算机电源时,首先开始电源启动自检过程。在BIOS中包含一些基本的指令,能够帮助计算机在没有安装任何操作系统的情况下进行基本的启动。电源启动自检过程首先会从BIOS中载入必要的指令,然后进行如下一系列的自检操作: 

进行硬件的初始化检查,例如检查内存的容量等。 

验证用于启动操作系统的设备是否正常,例如,检查硬盘是否存在等。 

从CMOS中读取系统配置信息。 

  在完成了电源启动的自检之后,每个带有固件的硬件设备,如显卡和磁盘控制器,都会根据需要完成内部的自检操作。 

二、初始化启动过程 

  在完成了电源启动自检过程之后,存储在CMOS中的设置,例如磁盘的引导顺序等,能够决定由哪些设备来引导计算机。例如,可以设置磁盘的引导顺序为首先通过A盘引导,其次才通过C盘引导,则系统会首先尝试用A盘引导系统,如果A盘存在并可引导,则通过A盘引导。如果A盘不存在,则通过C盘引导系统。如果A盘存在,但不是引导盘,则系统地提示系统不可引导。 

  一般来说通常会使用硬盘引导。在进行硬盘引导时,启动过程通常按照如下的步骤进行: 

系统首先检测打开电源的硬盘。 

若该硬盘是启动盘,BIOS就将主引导记录(Main Boot Record――MBR)中的引导代码载入内存。 

接着,BIOS会将启动过程的运行交给MBR来进行。 

计算机搜索MBR中的分区表,找出活动分区(Active Partition)。 

计算机将活动分区的第一个扇区中的引导代码载入到内存。 

引导代码检测当前使用的文件系统是否可用。 

引导代码查找ntldr文件,找到之后启动它。 

BIOS将控制权转交给ntldr,由ntldr完成操作系统的启动。 

  注意:这里简单介绍一下MBR的概念。MBR位于启动磁盘的第一个扇区,其中主要包含引导代码(Boot Code)和分区表(Partition Table)数据。引导代码主要用于引导系统。而分区表则主要用于标识基本分区和扩展分区。 

三、引导程序载入过程 

  本过程主要由ntldr 文件完成。Ntldr从引导分区载入启动文件,然后完成如下一些任务。 

1、在基于X86CPU的系统下,设置CPU的运行使用32位的Flat内存模式 

  对基于X86CPU的计算机来说,第一次启动的时候总是进入所谓的实模式(RealMode)。在实模式下CPU的某些特性不能完全发挥,这是因为它要保证同8位或16位的CPU(如8086、8088)相兼容。实模式下由于系统规格的限制,无法对大容量内存进行直接存取,而必须通过分段的方式完成。对于32位的Windows XP来说,8位或16位的CPU显然是无用的。 

  ntldr首先会将CPU切换到32位的模式,从而确保Windows XP的正常。在CPU的32位模式下,可以对大容量内存进行直接存取,而彻底抛弃了原先在8位或16位下分段存取内存的不便。这也是为什么32位模式称作Flat内存模式的原因。 



1楼2007-04-07 12:57回复
    我的Windows坏了再来吧.


    IP属地:安徽3楼2007-05-13 16:04
    回复
      • 58.33.120.*
      学到很多,谢谢楼主


      4楼2007-05-22 02:18
      回复
        还满复杂的...


        5楼2007-06-13 11:56
        回复