Windows XP 启动过程概述

2016-01-29 18:26 12 1 收藏

Windows XP 启动过程概述,Windows XP 启动过程概述

【 tulaoshi.com - windows 】

  从按下计算机开关启动计算机,到登入到桌面完成启动,一共经过了以下几个阶段:

  1. 预引导(Pre-Boot)阶段;

  2. 引导阶段;

  3. 加载内核阶段;

  4. 初始化内核阶段;

  5. 登陆。

  每个启动阶段的详细介绍

  a) 预引导阶段

  在按下计算机电源使计算机启动,并且在Windows XP专业版操作系统启动之前这段时间,我们称之为预引导(Pre-Boot)阶段,在这个阶段里,计算机首先运行Power On Self Test(POST),POST检测系统的总内存以及其他硬件设备的现状。如果计算机系统的BIOS(基础输入/输出系统)是即插即用的,那么计算机硬件设备将经过检验以及完成配置。计算机的基础输入/输出系统(BIOS)定位计算机的引导设备,然后MBR(Master Boot Record)被加载并运行。在预引导阶段,计算机要加载Windows XP的NTLDR文件。

  b) 引导阶段

  Windows XP Professional引导阶段包含4个小的阶段。

  首先,计算机要经过初始引导加载器阶段(Initial Boot Loader),在这个阶段里,NTLDR将计算机微处理器从实模式转换为32位平面内存模式。在实模式中,系统为MS-DOS保留640kb内存,其余内存视为扩展内存,而在32位平面内存模式中,系统(Windows XP Professional)视所有内存为可用内存。接着,NTLDR启动内建的mini-file system drivers,通过这个步骤,使NTLDR可以识别每一个用NTFS或者FAT文件系统格式化的分区,以便发现以及加载Windows XP Professional,到这里,初始引导加载器阶段就结束了。

  接着系统来到了操作系统选择阶段,如果计算机安装了不止一个操作系统(也就是多系统),而且正确设置了boot.ini使系统提供操作系统选择的条件下,计算机显示器会显示一个操作系统选单,这是NTLDR读取boot.ini的结果。(至于操作系统选单,由于暂时条件不够,没办法截图,但是笔者模拟了一个,见图一。)

  在boot.ini中,主要包含以下内容:

  [boot loader]

  timeout=30

  default=multi(0)disk(0)rdisk(0)partition(1)WINDOWS

  [operating systems]

  multi(0)disk(0)rdisk(0)partition(1)WINDOWS="Microsoft Windows XP Professional" /fastdetect

  multi(0)disk(0)rdisk(0)partition(2)WINNT="Windows Windows 2000 Professional"

  .

  其中,multi(0)表示磁盘控制器,disk(0)rdisk(0)表示磁盘,partition(x)表示分区。NTLDR就是从这里查找Windows XP Professional的系统文件的位置的。(*本文不会更详细地讲解boot.ini的组成结构,因为其与本主题关系不大,如果想了解,可以到一些专门的网站处查询相关信息。)如果在boot.ini中只有一个操作系统选项,或者把timeout值设为0,则系统不出现操作系统选择菜单,直接引导到那个唯一的系统或者默认的系统。在选择启动Windows XP Professional后,操作系统选择阶段结束,硬件检测阶段开始。

  在硬件检测阶段中,ntdetect.com将收集计算机硬件信息列表并将列表返回到NTLDR,这样做的目的是便于以后将这些硬件信息加入到注册表HKEY_LOCAL_MACHINE下的hardware中。

  硬件检测完成后,进入配置选择阶段。如果计算机含有多个硬件配置文件列表,可以通过按上下按钮来选择。如果只有一个硬件配置文件,计算机不显示此屏幕而直接使用默认的配置文件加载Windows XP专业版。

  引导阶段结束。在引导阶段,系统要用到的文件一共有:NTLDR,Boot.ini,ntdetect.com,ntokrnl.exe,Ntbootdd.sys,bootsect.dos(可选的)。

  c) 加载内核阶段

  在加载内核阶段,ntldr加载称为Windows XP内核的ntokrnl.exe。系统加载了Windows XP内核但是没有将它初始化。接着ntldr加载硬件抽象层(HAL,hal.dll),然后,系统继续加载HKEY_LOCAL_MACHINEsystem键,NTLDR读取select键来决定哪一个Control Set将被加载。控制集中包含设备的驱动程序以及需要加载的服务。NTLDR加载HKEY_LOCAL_MACHINEsystemservice...下start键值为0的最底层设备驱动。当作为Control Set的镜像的Current Control Set被加载时,ntldr传递控制给内核,初始化内核阶段就开始了。

  d) 初始化内核阶段

  在初始化内核阶段开始的时候,彩色的Windows XP的logo以及进度条显示在屏幕中央,在这个阶段,系统完成了启动的4项任务:

  ? 内核使用在硬件检测时收集到的数据来创建了HKEY_LOCAL_MACHINEHARDWARE键。

  ? 内核通过引用HKEY_LOCAL_MACHINEsystemCurrent的默认值复制Control Set来创建了Clone Control Set。Clone Control Set配置是计算机数据的备份,不包括启动中的改变,也不会被修改。

  ? 系统完成初始化以及加载设备驱动程序,内核初始化那些在加载内核阶段被加载的底层驱动程序,

来源:https://www.tulaoshi.com/n/20160129/1505767.html

延伸阅读
本文以RedHat9.0和i386平台为例,剖析了从用户打开电源直到屏幕出现命令行提示符的整个Linux启动过程。并且介绍了启动中涉及到的各种文件。 阅读Linux源代码,无疑是深入学习Linux的最好方法。在本文对Linux启动过程的介绍中,我们也尝试从源代码的视角来更深入的剖析Linux的启动过程,所以其中也简单涉及到部分相关的Linux源代码,Linux启...
标签: 电脑入门
在你电脑的电源已经打开,而Windows XP没有正常启动,你需要采取一些故障排除手段。下面列举了可能出现的问题以及解决问题的方法。 1. 使用Windows启动盘 如果启动问题是由于活动分区的启动记录或者操作系统启动所使用的文件被破坏造成的,启动盘就能够解决问题。具体方法如下: 创建Windows启动盘,找一台配置相似、工作正常的Window...
标签: 电脑入门
我们都知道,Linux系统的启动是非常快的,那么Linux系统在启动过程中都加载了哪些内容呢?下面图老师小编就给大家介绍下Linux系统开机启动的详细过程,以便你有个详细的了解。 按下电源按钮的直到欢迎页出来之后,linux总共做的事可以分为五步来完成。 1、 BIOS加电自检: 加电自检,检测硬件设备。然后按照cmos上面的顺序来搜索处在活...
标签: 电脑入门
Windows xp光盘启动安装详解 核心提示:在本篇教程中将为你介绍Windows xp光盘启动安装详解! 一、准备工作: 1.准备好Windows XP Professional 简体中文版安装光盘,并检查光驱是否支持自启动。 2.可能的情况下,在运行安装程序前用磁盘扫描程序扫描所有硬盘检查硬盘错误并进行修复,否则安装程序运行时如检查到有硬盘错误即会很麻烦。 3.用...
标签: windows 操作系统
安装了Windows XP/2000或更高版本后,要想启动到纯DOS模式下,一般只能借助软盘、U盘、光盘等。没想到笔者在网上搜到一款能修改Windows 2000/XP启动菜单的工具软件,有了它,启动时就能选择进入纯DOS模式了。好东东不敢独自受用,特共享出来。 下载地址:http://gd.pcdog.com/down/argzs2.exe 使用方法 安装后,如...

经验教程

392

收藏

20
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部