电脑开机过程简介

电脑开机过程简介
电脑开机过程简介

打开电源启动机器几乎是电脑爱好者每天必做的事情,面对屏幕上出现的一幅幅启动画面,我们一点儿也不会感到陌生,但是,计算机在显示这些启动画面时都做了些什么工作呢?相信有的朋友还不是很清楚,本文就来介绍一下从打开电源到出现Windows 9x的蓝天白云时,计算机到底都干了些什么事情。

首先让我们来了解一些基本概念。第一个是大家非常熟悉的BIOS(基本输入输出系统),BIOS是直接与硬件打交道的底层代码,它为操作系统提供了控制硬件设备的基本功能。BIOS包括有系统BIOS(即常说的主板BIOS)、显卡BIOS和其它设备(例如IDE 控制器、SCSI卡或网卡等)的BIOS,其中系统BIOS是本文要讨论的主角,因为计算机的启动过程正是在它的控制下进行的。BIOS一般被存放在ROM(只读存储芯片)之中,即使在关机或掉电以后,这些代码也不会消失。

第二个基本概念是内存的地址,我们的机器中一般安装有32MB、64MB或128MB 内存,这些内存的每一个字节都被赋予了一个地址,以便CPU访问内存。32MB的地址范围用十六进制数表示就是0~1FFFFFFH,其中0~FFFFFH的低端1MB内存非常特殊,因为最初的8086处理器能够访问的内存最大只有1MB,这1MB的低端640KB被称为基本内存,而A0000H~BFFFFH要保留给显示卡的显存使用,C0000H~FFFFFH则被保留给BIOS 使用,其中系统BIOS一般占用了最后的64KB或更多一点的空间,显卡BIOS一般在C0000H~C7FFFH处,IDE控制器的BIOS在C8000H~CBFFFH处。

好了,下面我们就来仔细看看计算机的启动过程吧。

##1 第一步:

当我们按下电源开关时,电源就开始向主板和其它设备供电,此时电压还不太稳定,主板上的控制芯片组会向CPU发出并保持一个RESET(重置)信号,让CPU内部自动恢复到初始状态,但CPU在此刻不会马上执行指令。当芯片组检测到电源已经开始稳定供电了(当然从不稳定到稳定的过程只是一瞬间的事情),它便撤去RESET信号(如果是手工按下计算机面板上的Reset按钮来重启机器,那么松开该按钮时芯片组就会撤去RESET信号),CPU马上就从地址FFFF0H处开始执行指令,从前面的介绍可知,这个地址实际上在系统BIOS的地址范围内,无论是Award BIOS还是AMI BIOS,放在这里的只是一条跳转指令,跳到系统BIOS中真正的启动代码处。

##1 第二步:

系统BIOS的启动代码首先要做的事情就是进行POST(Power-On Self

Test,加电后自检),POST的主要任务是检测系统中一些关键设备是否存在和能否正常工作,例如内存和显卡等设备。由于POST是最早进行的检测过程,此时显卡还没有初始化,如果系统BIOS在进行POST的过程中发现了一些致命错误,例如没有找到内存或者内存有问题(此时只会检查640K常规内存),那么系统BIOS就会直接控制喇叭发声来报告错误,声音的长短和次数代表了错误的类型。在正常情况下,POST过程进行得非常快,我们几乎无法感觉到它的存在,POST结束之后就会调用其它代码来进行更完整的硬件检测。

##1 第三步:

接下来系统BIOS将查找显卡的BIOS,前面说过,存放显卡BIOS的ROM芯片的起始地址通常设在C0000H处,系统BIOS在这个地方找到显卡BIOS之后就调用它的初始化代码,由显卡BIOS来初始化显卡,此时多数显卡都会在屏幕上显示出一些初始化信息,介绍生产厂商、图形芯片类型等内容,不过这个画面几乎是一闪而过。系统BIOS接着会查找其它设备的BIOS程序,找到之后同样要调用这些BIOS内部的初始化代码来初始化相关的设备。

查找完所有其它设备的BIOS之后,系统BIOS将显示出它自己的启动画面,其中包括有系统BIOS的类型、序列号和版本号等内容。

##1 第四步:

##1 第五步:

接着系统BIOS将检测和显示CPU的类型和工作频率,然后开始测试所有的RAM,并同时在屏幕上显示内存测试的进度,我们可以在CMOS设置中自行决定使用简单耗时少或者详细耗时多的测试方式。

##1 第六步:

内存测试通过之后,系统BIOS将开始检测系统中安装的一些标准硬件设备,包括硬盘、CD-ROM、串口、并口、软驱等设备,另外绝大多数较新版本的系统BIOS在这一过程中还要自动检测和设置内存的定时参数、硬盘参数和访问模式等。

##1 第七步:

标准设备检测完毕后,系统BIOS内部的支持即插即用的代码将开始检测和配置系统中安装的即插即用设备,每找到一个设备之后,系统BIOS都会在屏幕上显示出设备的名称和型号等信息,同时为该设备分配中断、DMA通道和I/O端口等资源。

##1 第八步:

到这一步为止,所有硬件都已经检测配置完毕了,多数系统BIOS会重新清屏并在屏幕上方显示出一个表格,其中概略地列出了系统中安装的各种标准硬件设备,以及它们使用的资源和一些相关工作参数。

##1 第九步:

接下来系统BIOS将更新ESCD(Extended System Configuration Data,扩展系统

配置数据)。ESCD是系统BIOS用来与操作系统交换硬件配置信息的一种手段,这些数据被存放在CMOS(一小块特殊的RAM,由主板上的电池来供电)之中。通常ESCD数据只在系统硬件配置发生改变后才会更新,所以不是每次启动机器时我们都能够看到“Update ESCD… Success”这样的信息,不过,某些主板的系统BIOS在保存ESCD数据时使用了与Windows

9x不相同的数据格式,于是Windows 9x在它自己的启动过程中会把ESCD数据修改成自己的格式,但在下一次启动机器时,即使硬件配置没有发生改变,系统BIOS也会把ESCD的数据格式改回来,如此循环,将会导致在每次启动机器时,系统BIOS都要更新一遍ESCD,这就是为什么有些机器在每次启动时都会显示出相关信息的原因。

##1 第十步:

ESCD更新完毕后,系统BIOS的启动代码将进行它的最后一项工作,即根据用户指定的启动顺序从软盘、硬盘或光驱启动。以从C盘启动为例,系统BIOS将读取并执行硬盘上的主引导记录,主引导记录接着从分区表中找到第一个活动分区,然后读取并执行这个活动分区的分区引导记录,而分区引导记录将负责读取并执行IO.SYS,这是DOS和Windows9x 最基本的系统文件。Windows 9x的IO.SYS首先要初始化一些重要的系统数据,然后就显示出我们熟悉的蓝天白云,在这幅画面之下,Windows将继续进行DOS部分和GUI(图形用户界面)部分的引导和初始化工作。

如果系统之中安装有引导多种操作系统的工具软件,通常主引导记录将被替换成该软件的引导代码,这些代码将允许用户选择一种操作系统,然后读取并执行该操作系统的基本引导代码(DOS和Windows的基本引导代码就是分区引导记录)。

上面介绍的便是计算机在打开电源开关(或按Reset键)进行冷启动时所要完成的各种初始化工作,如果我们在DOS下按Ctrl+Alt+Del组合键(或从Windows中选择重新启动计算机)来进行热启动,那么POST过程将被跳过去,直接从第三步开始,另外第五步的检测CPU和内存测试也不会再进行。我们可以看到,无论是冷启动还是热启动,系统BIOS都一次又一次地重复进行着这些我们平时并不太注意的事情,然而正是这些单调的硬件检测步骤为我们能够正常使用电脑提供了基础。

系统启动过程简介

系统启动过程主要由一下几步组成(以硬盘启动为例):

BIOS芯片是主板上一块长方型或正方型芯片,BIOS中主要存放:

自诊断程序:通过读取CMOS RAM中的内容识别硬件配置,并对其进行自检和初始化;CMOS设置程序:引导过程中,用特殊热键启动,进行设置后,存入CMOS RAM中;

系统自举装载程序:在自检成功后将磁盘相对0道0扇区上的引导程序装入内存,让其运行以装入DOS系统;

主要I/O设备的驱动程序和中断服务;

1. 开机:-)

2. BIOS 加电自检( Power On Self Test -- POST )

内存地址为0ffff:0000

3. 将硬盘第一个扇区(0头0道1扇区, 也就是Boot Sector)

读入内存地址0000:7c00 处.

4. 检查(WORD) 0000:7dfe 是否等于0xaa55, 若不等于

则转去尝试其他启动介质, 如果没有其他启动介质则显示

"No ROM BASIC" 然后死机.

5. 跳转到0000:7c00 处执行MBR 中的程序.

6. MBR 首先将自己复制到0000:0600 处, 然后继续执行.

7. 在主分区表中搜索标志为活动的分区. 如果发现没有活动

分区或有不止一个活动分区, 则转停止.

8. 将活动分区的第一个扇区读入内存地址0000:7c00 处.

9. 检查(WORD) 0000:7dfe 是否等于0xaa55, 若不等于则

显示"Missing Operating System" 然后停止, 或尝试

软盘启动.

10. 跳转到0000:7c00 处继续执行特定系统的启动程序.

11. 启动系统...

以上步骤中2,3,4,5 步是由BIOS 的引导程序完成. 6,7,8,9,10

步由MBR中的引导程序完成.

一般多系统引导程序(如SmartFDISK, BootStar, PQBoot 等)

都是将标准主引导记录替换成自己的引导程序, 在运行系统启动程序

之前让用户选择要启动的分区.

而某些系统自带的多系统引导程序(如lilo, NT Loader 等)

则可以将自己的引导程序放在系统所处分区的第一个扇区中, 在Linux

中即为SuperBlock (其实SuperBlock 是两个扇区).

注: 以上各步骤中使用的是标准MBR, 其他多系统引导程序的引导

过程与此不同.

////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////

了解计算机系统启动过程

此文译自Windows XP Resource Kit Web Resource 中Understanding the Startup Process 一章

为了诊断和修复启动故障,您需要理解启动过程中发生了什么。第一步隔离启动问题,判断问题是发生在Microsoft? Windows? XP Professional 启动之前还是之后。

启动失败的根本原因,包括相关因素,可能是来自多方面的,比如用户错误,应用程序错

误,硬件问题,病毒问题。如果问题过于严重,您可能需要重新安装Windows XP Professional 或者从备份介质中恢复文件。

在基于x86的系统上,发生在启动故障operating system loader (Ntldr) 可能意味着启动文件丢失或者被删除,或者硬盘主引导记录(MBR)损坏,或者分区表,或者引导扇区的损坏。如果问题发生在启动期间,那么系统可能存在不兼容的软件或者驱动,不兼容或者设置错误的硬件,或者系统文件损坏。

基于Itanium 系统的计算机启动或者和x86 系统类似。详见后面的章节"Startup Phases for Itanium-based Systems"

基于x86 系统的启动过程

Windows XP Professional 启动过程和Microsoft? Windows NT? version 4.0 and Microsoft? Windows? 2000 类似,区别于Microsoft? MS-DOS?, Microsoft? Windows? 95, Microsoft? Windows? 98, and Microsoft? Windows? Millennium Edition (Windows Me) 这些系统。

所有运行Windows XP Professional 的系统都遵循如下启动顺序:

上电自检(POST) 阶段

初始化启动阶段

启动装载阶段

检测、设置硬件阶段

系统核心装载阶段

登陆阶段

上述的启动过程适用于正常关机后的系统启动或者重新启动,从休眠或者待机状态恢复的情况例外,后者请参考后面的章节"Resolving Power Management Problems on x86-based Systems"

为了Windows XP Professional 能够引导,系统和启动分区必须包含表28.1.中的文件。

表28.1 基于x86 系统上Windows XP Professional 的启动文件

文件名文件所处位置描述

Ntldr 系统分区根目录操作系统装载器

Boot.ini 系统分区根目录该文件指定Windows XP Professional 的安装路径。对于多引导系统Boot.ini 包含一个显示在启动菜单上的操作系统选择菜单。

Bootsect.dos (仅适用于多引导系统) 系统分区根目录Ntldr 将会装载此文件,以读取可能包含MS-DOS, Windows 95, Windows 98, or Windows Me 等OS的Windows XP Professional 多引导系统设定。Bootsect.dos 包含这些操作系统的引导扇区,文件属性为系统、隐藏。https://www.360docs.net/doc/c815879557.html, 系统分区根目录此文件将扫描硬件设置信息,并传递给Ntldr

Ntbootdd.sys 系统分区根目录(SCSI 或者A TA 等固件本身禁用或者不支持INT-13 中断扩展调用的设备需要此文件). 该驱动程序用于访问不使用BIOS,而连接到SCSI 或者ATA 的硬盘驱动器,The contents of this file depend on the startup controller used. Ntoskrnl.exe systemroot\System32 Windows XP Professional操作系统的核心(也被叫做

kernel) 。作为kernel的一部分,运行在处理器特权模式下的代码,允许直接访问系统数据和硬件。在安装Windows XP Professional 操作系统期间,如果是单处理器系统,setup程序从操作系统光盘上复制Ntoskrnl.exe 文件,如果是多处理器系统,Setup 从安装光盘上复制Ntoskrnlmp.exe 并将它重命名为Ntoskrnl.exe.

Hal.dll systemroot\System32 硬件抽象层动态(HAL)链接库文件。HAL abstracts 从操作系统提取底层硬件信息,并给相同类型的设备,提供公用编程接口。Microsoft? Windows? XP Professional 操作系统光盘包含若干Hal 文件,Setup 将适合您系统硬件设置的文件复制到您的计算机,并重命名为Hal.dll.

System registry file systemroot\System32\Config\System 此注册表文件包含创建KEY_LOCAL_MACHINE\SYSTEM 注册表键值所需要的数据。该键值包含了操作系统启动设备和系统服务所需要的信息。Device drivers systemroot\System32\Drivers 一些硬件设备的驱动程序文件,比如键盘、鼠标、显卡。

注:

Windows NT 4.0, Windows 2000, and Windows XP Professional 定义"系统" 和"启动" 分区有别于启动操作系统。系统卷包含启动Windows XP Professional所必须的文件,比如Windows loader (Ntldr)。启动卷Windows XP Professional 操作系统文件和文件夹比如systemroot 和systemroot\System32。在基于x86 系统的计算机上,启动卷和系统卷可以但不一定是同一个卷。

在表28.1中,systemroot是众多环境变量之一,用于将象文件和文件路径这样的字符串关联到变量,以便Windows XP Professional应用程序和服务使用。例如,通过使用环境变量,脚本不同修改就可以运行在不同环境设置的计算机上。您可以通过在命令行执行set 命令查看环境变量列表。

关于环境变量,请参考Windows XP Professional中关于"To add or change the values of environment variables" 的描述;关于系统文件的信息,详见"System Files Reference"

上电自检

当您打开计算机的时候,中央处理器单元(CPU) 开始执行存放在基本输入输出系统(BIOS)中的指令。BIOS, 一种固件,包含一些代码,处理器依靠这些代码启动计算机,与外围标准设备通讯,形成一个最小环境,从而得以加载其他复杂代码,它与计算机所安装的操作系统无关。计算机启动过程的第一步就是上电自检(POST),POST 负责完成如下系统和检测功能:

执行硬件初始化检测,比如测试当前内存总数

校验启动操作系统所必须的设备,比如硬盘

从位于主板上的CMOS中检索系统设置

即便当您停机后,CMOS 存储器中也会保持一些信息,例如存储在CMOS存储器中的硬件设置包含启动设置和即插即用信息。

当主板上电自检(POST)完成后,那些拥有自己固件的附加板卡(比如显卡和硬盘控制器) 开始执行自我检测。

设定这些系统和外围设备固件参数,请参考相关厂商提供的系统文档。

初始化启动阶段

在上电自检(POST)阶段后,存储在CMOS存储器中的那些设定,比如启动设定,指明了可以引导操作系统的设备。比如,如果启动设定指定软盘作为启动的首选设备,而将硬盘作为次要设备(有些固件中显示为"A, C"),那么启动时将可能发生如下情形:

软驱中插有软盘

BIOS将搜索设定为启动软盘的软驱,如果存在,将会把0面0道1扇区(软盘的启动扇区)加载到内存。如果软盘不能启动,将会提示如下错误:

Non-system disk or disk errorReplace and press any key when ready

计算机将会一直显示上面的信息,直到您插入一张启动软盘或者驱出软盘重新启动计算机。

软驱中没有软盘

如果您重新启动计算机后没有插入软盘,计算机将会装载位于主引导记录(MBR)所在区域的指令。MBR 位于启动硬盘的第一个扇区,包含一些指令(称为启动代码)和一个标示主分区和扩展分区的表(称为分区表)。BIOS 将MBR 加载到内存,并将控制权移交给MBR 中的代码。

计算机然后搜索分区表,查找激活分区。激活分区的第一个扇区包含启动代码,这些代码允许计算机进行如下操作:

确定所使用的文件系统

定位并启动操作系统装载文件, Ntldr.

如果激活分区不存在或者启动扇区信息丢失、错误,系统将提示如下信息:

Invalid partition tableError loading operating systemMissing operating systemBOOT: Couldn't find NTLDRNTLDR is missing

如果激活分区定位成功,启动分区中的代码将会找到并开始启动Ntldr ,随后BIOS 完成使命,释放控制权

关于磁盘和文件系统,MBR, 分区以及启动扇区的一些更为详细的信息,请查看"File Systems" 和"Troubleshooting Disks and File Systems"

指定其他启动设备的启动顺序

除此之外,一些计算机固件允许从其他设备引导操作系统,比如:

CD-ROMs

网卡

可移动存储介质,比如LS-120 驱动器或者Iomega Zip 驱动器

接驳在便携式计算机上的一些存储器

在大多数的计算机上都允许您指定启动次序,比如"CDROM, A, C". 当您指定"CDROM, A, C" 这样的启动顺序的时候,那么启动时就会是如下情况:

计算机搜索CD-ROM 作为启动介质。如果存在可以启动的CD (光盘), 计算机将使用作为启动设备,否则计算机将按照设定的启动次序寻找下一个启动设备。

计算机搜索软盘作为启动介质。如果存在可以启动的软盘,计算机将使用软盘作为启动设备。否则将给出错误信息,并按照设定的启动次序寻找下一个启动设备。

计算机使用硬盘作为启动设备。当CD-ROM 驱动器和软盘驱动器都是空的时候,计算机将只会使用硬盘作为启动设备。

不过,引导介质上的代码对硬盘进行传输控制的情况是个例外。比如,当您使用可引导的Windows XP Professional 操作系统光盘引导系统的时候,Setup 程序将会检测是否存在可用的硬盘以用于Windows XP Professional 安装过程,如果检索到,那么系统将会提示如下字样Press any key to boot from CD ,这将给您一个选择,如果不按任何键就会跳过CD-ROM 启动。

您不能使用一个不能启动的光盘引导系统,同时一张无法启动的光盘将可能增加系统启动时间,如果不打算从光盘引导系统,请在启动前将光盘从CD-ROM 驱动器中取出。

关于启动顺序的选项,请参考您的系统文档。

启动装载阶段

Ntldr 从启动分区装载启动文件,然后进行如下步骤:

设置x86系统处理器进入32位内存保护模式运行

基于x86的计算机启动的时候运行在实模式,此在模式下,处理器禁止了一些功能,以便兼容于运行于8位和16位处理上的软件。随后Ntldr 将处理器切换到32位模式,这种模式下,允许访问大容量内存,并可以运行Windows XP Professional

启动文件系统

Ntldr 包含一些允许Windows XP Professional 读写NTFS 或者文件分配表(FAT16 or FAT32) 文件系统所需要的程序代码。

读取Boot.ini 文件

Ntldr分析Boot.ini 文件以确定操作系统启动分区的位置。如果使用单系统启动设定,那么Ntldr 将随后启动https://www.360docs.net/doc/c815879557.html,初始化硬件检测.

如果存在多系统启动,这可能包括Windows XP Professional, Windows 2000, Windows NT 4.0, Windows 95, Windows 98, Windows Me, 或者MS-DOS以及其他可能的操作系统,您将会在启动的时候看到一个操作系统的选择菜单。

注:

运行Windows NT 4.0 的计算机如果需要访问之前挂载在Windows 2000 or Windows XP Professional下的NTFS卷,需要安装至少Service Pack 4 。关于NTFS 互操作性信息,请参考"File Systems"

如果您选择Windows XP Professional, Windows 2000, or Windows NT 4.0, Ntldr 将随后启动

硬件检测阶段,如果没有就会引导启动扇区的其他系统。如果您选择Windows 95, Windows 98, Windows Me, or MS-DOS, Ntldr 将会扫描Bootsect.dos 文件,读取其中所包含的MBR 代码,并执行它。关于Boot.ini的其他信息请参考"Reviewing and Correcting Boot.ini Settings on x86-based Systems"

检测硬件和硬件配置文件

进入此阶段,Ntldr 启动https://www.360docs.net/doc/c815879557.html,, 后者将执行基础硬件扫描。随后Ntldr 扫描Boot.ini 信息,以及保存在注册表中的硬件和软件信息,传送给Ntoskrnl.exe。https://www.360docs.net/doc/c815879557.html, 检测硬件配置信息(比如便携计算机上接驳或未接驳设置) 和保存在Advanced Configuration and Power Interface (ACPI) 表中的信息。ACPI 兼容固件允许Windows XP Professional 检测设备电源管理功能和设备资源需求。

关于ACPI 请参考https://www.360docs.net/doc/c815879557.html,/windows/reskits/webresources.

检测、设置硬件阶段

在读取Boot.ini 并完成其任务后,Ntldr 启动https://www.360docs.net/doc/c815879557.html,。在x86 系统上https://www.360docs.net/doc/c815879557.html, 调用系统例行程序收集已经安装的硬件信息,并将收集的信息返回给Ntldr,Ntldr 将这些信息收集后存入内部数据库,然后启动Ntoskrnl.exe 并将信息传递给它。

https://www.360docs.net/doc/c815879557.html, 所收集的硬件设备的信息如下:

信息固件信息,比如日期和时间

总线和板卡类型

显卡

键盘

通讯端口

硬盘

软盘

输入设备(比如鼠标)

并行端口

安装在Industry Standard Architecture (ISA) 总线上的设备

https://www.360docs.net/doc/c815879557.html, 在非ACPI兼容计算机的设备扫描中扮演了重要的角色。因为在这些类型的计算机上,固件而不是操作系统决定了分配给设备的资源,对于使用ACPI固件的计算机,Windows XP Professional 对硬件设备分配资源。在这个阶段,https://www.360docs.net/doc/c815879557.html, 收集硬件信息,Windows XP Professional 为桌面计算机创建一个单独的默认硬件配置文件,而为便携计算机创建两个缺省的配置文件。对于便携计算机,操作系统基于当前计算机上硬件状态选择适当的配置文件。

桌面型计算机. Profile 1

便携式计算机.

Docked Profile

Undocked Profile

硬件配置文件对于便携式计算机是非常有用的,因为这些计算机的硬件状态通常都不是静态

的,启动的时候,没有列表在特定的硬件配置文件中的设备驱动是不会被加载的。

关于创建和使用硬件配置文件的信息,请参考Windows XP Professional 帮助和支持中心,也可以参考知识库文档225810, "How to Create Hardware Profiles on Windows 2000–Based Mobile Computers," 查找此文档,请查询Web Resources 页面https://www.360docs.net/doc/c815879557.html,/windows/reskits/webresources 上的知识库链接,同时您也可以查看"Managing Devices" 和"Supporting Mobile Users"

核心装载阶段

Ntldr 负责将Windows 核心层(Ntoskrnl.exe) 和硬件抽象层(HAL) 装载到内存。您的系统所使用的Hal.dll 文件是可以发生变化的。在安装期间,Windows XP Professional 安装程序从若干HAL 文件中选择一个复制到系统,(请参看表28.2 关于这些文件的列表) 并重名为Hal.dll。

在设备管理器中查看计算机描述

在运行对话框,输入devmgmt.msc,点击确定。

在设备管理器展开计算机察看您计算机的描述。

通过比较设备管理器中的描述和下面表28.2中的描述, 您可以确定从Windows XP Professional 操作系统光盘复制到您系统中的HAL文件

Table 28.2 关于不同Hal.dll 文件的描述

设备管理器中计算机的描述复制的HAL文件

ACPI 多处理器PC Halmacpi.dll

ACPI 单处理器PC Halaacpi.dll

Advanced Configuration and Power Interface (ACPI) PC Halacpi.dll

MPS 多处理器PC Halmps.dll

MPS 单处理器PC Halapic.dll

标准PC Hal.dll

Compaq SystemPro 多处理器或者完全兼容Halsp.dll

核心层kernel 和硬件抽象层HAL 初始化一组软件组件,他们统称为windows 执行体。Windows 执行体扫描储存在注册表control sets中的信息,并启动服务和驱动程序。

关于Windows executive services, 请查看"Common Stop Messages for Troubleshooting"

控制集Control Sets

Ntldr 从HKEY_LOCAL_MACHINE\SYSTEM 注册表子键中读取相关信息,该子健中的数据创建于\System32\Config\ System 文件,故而Ntldr 能够决定哪些设备驱动在系统启动时装载。通常,注册表中存在几个control sets, 其后面的序号取决于系统设定多长时间变更一次。。

提示:

如非必要不要直接编辑注册表。注册表编辑器绕开了系统保护机制,您的修改有可能会破坏系统,严重者甚至需要重新安装Windows。如果你必须编辑注册表,请事先作备份,并详细阅读Microsoft? Windows? 2000 Server Resource Kit 中关于Registry Reference 的章节https://www.360docs.net/doc/c815879557.html,/windows/reskits/webresources.

典型的注册表控制集control set 子键如下:

\CurrentControlSet, 一个注册在\Select\Current 项中,指向ControlSetxxx 子键的指针(xxx 代表一个control set 编号, 比如001)

\Clone, 一份\CurrentControlSet的拷贝,当您每次启动计算机的时候创建。(gnaw0725注:此处原文如此,有待考证)

\Select, 包含如下键值:

Default, 指针指向系统指定用户下次登陆所使用的控制集编号(比如001=ControlSet001)。如果没有错误发生,或者并非由LastKnownGood 启动项所设置,此control set 编号将为Default, Current和LastKnownGood 注册项所影响(假定当前用户可以成功登录) Current, 指向此次用于启动系统的控制集Failed, 指向没有成功启动Windows XP Professional 的控制集。当使用LastKnownGood 选项启动系统时,此项被更新(gnaw0725注:表示Windows XP 在其中保存失败启动产生的数据的控件组。此控件组在用户第一次调用“最近一次的正确配置”选项之前并不实际存在。)

LastKnownGood, 指向上次用户会话所使用的控制集。当用户登录的时候,LastKnownGood 控制集被前一次用户会话使用的设置信息所更新。除非您从Windows Advanced Options菜单中选择Last Known Good Configuration,Ntldr 将使用Default 键值所标示的控制集。

核心层使用Ntldr 提供的内部数据结构创建HKEY_LOCAL_MACHINE\HARDW ARE 子键,其中包含在系统启动阶段收集的硬件信息。这些数据包含信息包括各种硬件组件和分配给每个设备的系统资源。您可以通过查看在启动过程中显示的进度指示器来监控核心层加载过程关于Last Known Good Configuration的相关信息,您可以查阅"Tools for Troubleshooting" Windows XP Professional 支持设备扩展。新的或者更新的驱动程序并不存在于Windows XP Professional 操作系统光盘上,而是由于硬件厂商提供。驱动程序是核心模式组件,需要Drivers are kernel-mode components required by devices to function within an operating system. 服务是支持操作系统功能和应用程序的组件。与用户应用程序相比,服务可以运行在一个不同的上下文,通常不会提供用户可以设置的选项。服务,比如脱机打印Print Spooler,不需要用户登录即可运行,而且与登陆到系统的用户无关。Windows XP Professional 驱动程序和服务系统文件通常被存放在systemroot\System32 和systemroot\System32\Drivers 目录下,以.exe, .sys, or .dll 等扩展名保存。

驱动程序也是服务,因此在核心层初始化期间,Ntldr 和Ntoskrnl.exe 按照存储在KEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\servicename 注册表子键中的数值来确定装载的驱动程序和服务次序。例如,Ntldr 首先搜索Services 子键中Start 值为0的服务,比如硬盘控制器。当Ntldr 启动Ntoskrnl.exe后,一个Ntoskrnl.exe 组件搜索并启动驱动程序,比如网络协议,这些启动项Start 值为 1.

Table 28.3 ,列出了Start 项的值(十进制)。Boot 类型的驱动(Start 值为0的项) 文件系

统驱动程序的Start值始终为0,因为启动Windows XP Professional 需要它们的支持。

表28.3 <服务名> Start项的赋值

值Start类型关于Start 项赋值的描述

0 Boot 基于x86系统Ntldr 或者Itanium IA64ldr上的固件调用模式指定装载的驱动,如果没有错误发生,核心层Kernel将启动该驱动程序

1 System 指定在系统核心层Kernel 初始化期间被Windows XP Professional boot drivers 所调用的驱动程序

2 Auto load 指定在系统启动时被会话管理器(Smss.exe)或者服务控制器(Services.exe)所加载的驱动程序或者服务。

3 Load on demand 指定一个通过用户、进程或者其他服务手动启动的驱动程序或者服务

4 Disabled 指定一个禁止(不启动)的驱动程序或者服务。

表28.4 列出了Type 项的一些值(十进制)

表28.4 <服务名> Type 项的赋值

值Type 项赋值描述

1 指定一个核心设备驱动程序

2 指定一个文件系统驱动程序(也是一个核心设备驱动程序)

4 指定参数传递给设备驱动程序

16 指定一个遵循服务控制协议的服务,该服务可以独立运行在一个进程中,且可以为服务控制器所启动

32 指定一个可以和其他服务共享进程的服务

一些驱动程序和服务需要在启动之前确定之间的相互依赖关系。通过查看

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\servicename下DependOnGroup和DependOnService 项,您可以找到这个依存关系的列表。关于使用依赖关系阻止或者延迟驱动程序或者服务启动的信息,请查看"Temporarily Disabling Services" 。该服务子键也包含了影响驱动程序和服务如何加载的信息,表28.5 中描述了其中的一部分。

表28.5 注册表其他<服务名> 项

项描述

DependOnGroup 此组中所描述的项目,至少有一个在当前服务装载前必须被加载。子键

SYSTEM\CurrentControlSet\Control\ServiceGroupOrder 包含服务组装载次序DependOnService 此列表中描述的服务,必须在当前服务之前加载。

Description 组件描述

DisplayName 指定组件的显示名称

ErrorControl 控制一个驱动程序错误是需要系统使用LastKnownGood 控制集还是提示一个错误停止信息。

如果值为0x0 (忽略,没有错误报告), 不会显示警告信息,继续执行启动。

如果值为0x1 (普通,报告错误), 将错误记录到系统日志并提示警告信息,但继续启动过程。如果值为0x2 (严重), 将事件记录到系统日志,使用LastKnownGood 设置,重新启动系统,执行启动过程。

如果值为0x3 (关键), 将事件记录到系统日志,使用LastKnownGood 设置,重新启动系统。如果当前启动已经使用LastKnownGood 设定,则

显示错误停止信息。

Group 指定驱动程序或者服务隶属的组。此项设定允许驱动程序或者服务同步启动(比入:文件系统驱动程序)注册表子键

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ServiceGroupOrder 中的List 项指定了组项启动顺序。

ImagePath 如果存在ImagePath项,该项用于标示驱动程序或者服务的路径和文件名。您可以使用Windows Explorer 核实这些路径和文件名。

ObjectName 指定一个对象名。如果Type 项指定一个Windows XP Professional 服务,那么它就代表服务运行时用于登陆的帐户名。

Tag 指定一个驱动程序在驱动程序组中的启动顺序。

会话管理器

当所有标志为Boot 和Startup 数据类型的注册表子键执行完成后,kernel 开始加载会话管理器Session Manager,由它(Smss.exe) 执行后续重要的初始化工作,比如:

创建系统环境变量

启动Windows 子系统核心保护模式(通过systemroot\System32\Win32k.sys 实现), 这将Windows XP Professional 从文本模式切换至图形模式。基于Windows的应用程序都运行在Windows 子系统上,这个环境下允许应用程序访问操作系统功能函数,比如在屏幕上显示信息。

启动Windows 子系统用户模式部分(通过systemroot\System32\Csrss.exe 实现).

启动登陆管理器(通过systemroot\System32\Winlogon.exe 实现).

创建辅助虚拟内存页文件

为存放在下列子键中的文件列表,执行延迟的重命名操作。HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session

Manager\PendingFileRenameOperations. 比如:当您安装了一个新的驱动程序或者应用程序后,系统可能会提示您重新启动,以便Windows XP Professional 能够替换当前正在使用的文件。

Windows 子系统和基于它执行的应用程序是用户模式进程,它们不能直接访问硬件和设备驱动。用户模式进程执行优先级低于核心进程,当操作系统需要更多内存的时候,它可以将被用户模式下进程使用的内存缓存到虚拟页面文件。关于用户模式和核心模式组件的信息,请参考"Common Stop Messages for Troubleshooting" 。

会话管理器Session Manager 将搜索注册表,以获得服务信息,注册表键值如下:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager 包含一个在服务装载之前运行的命令列表Autochk.exe 工具由BootExecute 项的值和存储在Memory Management 子键中的虚拟内存(页面文件) 设置所指定。Autochk, 是Chkdsk 工具的一个版本,如果操作系统检测到一个文件系统错误,需要在完成启动过程之前进行修复,那么就会在启动的时候运行它。关于Autochk 和Chkdsk, "Troubleshooting Disks and File Systems" 。

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Subsystems 包含一个有效子系统的列表。比如Csrss.exe 包含Windows 子系统中的一部分,用户模式。HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\servicename. 服务控制管理器(Service Control Manager)初始化那些设置为启动自动加载的服务。

登录阶段

在此阶段Windows 子系统启动Winlogon.exe,此模块为系统服务,以完成用户的登入或者登出的动作。Winlogon.exe 所完成的功能如下:

启动服务子系统(Services.exe), 也称为服务控制管理器(SCM).

启动本地安全性授权进程Local Security Authority (LSA) (Lsass.exe).

在出现开始登陆提示时,侦测CTRL+ALT+DEL 组合键。

图形化识别和验证Graphical Identification and Authentication (GINA) 组件获取用户名和密码,并将这些信息传送给LSA 进行安全验证。如果用户提供有效验证,那么通过使用Kerberos V 5 验证协议或者NTLM 可以或者访问权限。关于安全组件的信息,比如LSA, Kerberos V5 协议或者NTLM, Distributed Systems Guide of the Microsoft? Windows? 2000 Server Resource Kit.

当服务控制管理器Service Control Manager 初始化自动装载服务项和驱动时,Winlogon 开始初始化安全和认证组件,当用户登录后,系统进如下动作:

更新控制集Control sets 。控制集为LastKnownGood 注册项所影响,并随Clone 项中的内容一同更新。Clone, 是CurrentControlSet 项的一份拷贝, 当您每次启动计算机时被创建。当用户登录的时候,LastKnownGood 控制集被前一次用户会话使用的设置信息所更新。

实施策略。组策略策略设定开始实施于用户和计算机帐户。关于组策略的相关信息,请查看"Planning Deployments," "Managing Desktops," 和"Authorization and Access Control" ,以及Windows 2000 Server Resource Kit中分布式系统指南中关于"Group Policy" 的章节,同

时您也可以参考其网站资源站点https://www.360docs.net/doc/c815879557.html,/windows/reskits/webresources 上关于Change and Configuration Management

Deployment Guide 的链接。

运行启动程序。Windows XP Professional 启动登陆脚本,启动程序组,并且启动在如下注册表子键和启动目录所关联的服务项:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Runonce

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\Explorer\ Run

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows\Run HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce systemdrive\Documents and Settings\All Users\Start Menu\Programs\Startup

systemdrive\Documents and Settings\username\Start Menu\Programs\Startup

windir\Profiles\All Users\Start Menu\Programs\Startup

windir\Profiles\username\Start Menu\Programs\Startup

windir\Profiles 目录文件夹仅存在于从Windows NT 4.0升级的系统上。

直到用户成功登陆到计算机后,Windows XP Professional 启动过程最终完成。

即插即用检测

即插即用检测不与登陆过程同步运作,它依赖于系统固件,硬件,设备驱动程序以及操作系统功能,从而能够检测和枚举新的设备。Windows

XP Professional 为使用ACPI固件的设备优化即插即用支持,并且允许增强功能,比如硬件资源共享。

当即插即用能够很好协调工作时,Windows XP Professional 能够在最小用户参与的前提下,检测到新的设备,分配系统资源,安装或者请求

驱动程序。ACPI 特性对于移动用户是非常有用的,这些特性可以很好的支持待机、休眠、冷热插拔等功能。

关于即插即用检测和系统资源,请参考"Managing Devices" and "Supporting Mobile Users"

BIOS即基本输入/输出系统。实际上它是被固化在计算机ROM(只读存储器)芯片上的一组程序,为计算机提供最低级的、最直接的硬件控制

与支持。更形象地说,BIOS就是硬件与软件程序之间的一个"桥梁"或者说是接口(虽然它本身也只是一个程序) ,负责解决硬件的即时需求,并

按软件对硬件的操作要求具体执行。BIOS的具体功能和作用如下:

BIOS中断调用,即BIOS中断服务程序。它是微机系统软、硬件之间的一个可编程接口,用于程序软件功能与微机硬件实现的衍接。

DOS/Windows操作系统对软、硬盘、光驱与键盘、显示器等外围设备的管理即建立在系统BIOS的基础上。程序员也可以通过对INT 5、INT 13等

中断的访问直接调用BIOS中断例程。

BIOS系统设置程序,微机部件配置情况是放在一块可读写的CMOS RAM芯片中的,它保存着系统CPU、软硬盘驱动器、显示器、键盘等部件的

信息。关机后,系统通过一块后备电池向CMOS供电以保持其中的信息。如果CMOS中关于微机的配置信息不正确,会导致系统性能降低、零部

件不能识别,并由此引发一系统的软硬件故障。在BIOS ROM芯片中装有一个程序称为"系统设置程序",就是用来设置CMOS RAM中的参数的。这

个程序一般在开机时按下一个或一组键即可进入,它提供了良好的界面供用户使用。这个设置CMOS参数的过程,习惯上也称为"BIOS设置"。新

购的微机或新增了部件的系统,都需进行BIOS设置。

POST上电自检,接通微机的电源,系统将执行一个自我检查的例行程序。这是BIOS功能的一部分,通常称为POST--上电自检(Power On Self

Test)。完整的POST自检包括对CPU、系统主板、基本的640KB内存、1MB以上的扩展内存、系统ROM BIOS的测试;CMOS中系统配置的校验;初始

化视频控制器,测试视频内存、检验视频信号和同步信号,对CRT接口进行测试;对键盘、软驱、硬盘及CD-ROM子系统作检查;对并行口(打印

机)和串行口(RS232)进行检查。自检中如发现有错误,将按两种情况处理:对于严重故障(致命性故障)则停机,此时由于各种初始化操作还没

完成,不能给出任何提示或信号;对于非严重故障则给出提示或声音报警信号(自检响铃代码的含义见下文),等待用户处理。

BIOS系统启动自举程序在完成POST自检后,ROM BIOS将按照系统CMOS设置中的启动顺序搜寻软硬盘驱动器及CDROM、网络服务器等有效的启

动驱动器,读入操作系统引导记录,然后将系统控制权交给引导记录,由引导记录完成系统的启动。

常见BIOS芯片的识别主板上的ROM BIOS芯片是主板上唯一贴有标签的芯片,一般为双排直插式封装(DIP),上面印有"BIOS"字样。虽然有些

BIOS 芯片没有明确印出"BIOS",但凭借外贴的标签也能很容易地将它认出。586以前的BIOS多为可重写EPROM芯片,上面的标签起着保护BIOS内

容的作用(紫外线照射会使EPROM内容丢失),不能随便撕下。586以后的ROM BIOS多采用Flash ROM(快闪可擦可编程只读存储器),通过跳线开

关和系统配带的驱动程序盘,可以对Flash ROM进行重写,方便地实现BIOS升级。常见的BIOS芯片有AMI、Award、Phoenix等,在芯片上都能见

到厂商的标记。

目前市面上较流行的主板BIOS主要有Award BIOS、AMI BIOS、Phoenix BIOS三种类型。Award BIOS是由Award Software公司开发的BIOS产

品,在目前的主板中使用最为广泛。Award BIOS功能较为齐全,支持许多新硬件,目前市面上多数586主机板和PⅡ主板都采用了这种BIOS;AMI

BIOS是AMI公司出品的BIOS系统软件,开发于80年代中期,早期的286、386大多采用AMI BIOS,它对各种软、硬件的适应性好,能保证系统性能

的稳定,到90年代后,绿色节能电脑开始普及,AMI却没能及时推出新版本来适应市场,使得AMI BIOS失去了大半壁江山;Phoenix BIOS是

Phoenix公司产品,Phoenix意为凤凰,有完美之物的含义。Phoenix BIOS 多用于高档的586原装品牌机和笔记本电脑上,其画面简洁,便于操

作。

▲BIOS是什么?

BIOS全名为(Basic Input Output System)即基本输入/输出系统,是电脑中最基础的而又最重要的程序。我们把这一段程序存放在一个不需

要电源的记忆体(芯片)中,这就是平时所说的BIOS。它为计算机提供最低级的、最直接的硬件控制,计算机的原始操作都是依照固化在BIOS

里的内容来完成的。准确地说,BIOS是硬件与软件程序之间的一个“转换器”或者说是接口(虽然它本身也只是一个程序),负责解决硬件的即

时需求,并按软件对硬件的操作要求具体执行。计算机用户在使用计算机的过程中,都会接触到BIOS,它在计算机系统中起着非常重要的作用

▲BIOS的功能

BIOS ROM 芯片不但可以在主板上看到,而且BIOS管理功能如何在很大程度上决定

了主板性能是否优越。BIOS管理功能包括:

1.BIOS中断服务程序实质上是微机系统中软件与硬件之间的一个可编程接口,主要用于程序软件功能与微机硬件之间接。例如,WINDOWS98

对软驱,光驱,硬盘等管理,中断的设置等服务、程序。

2. BIOS系统设置程序:微机部件配置记录是放在一块可写的CMOS RAM芯片中的,主要保存着系统的基本情况,CPU特性,软硬盘驱动器等部

件的信息。在BIOS ROM 芯片中装有“系统设置程序”,主要来设置CMOS RAM中的各项参数。这个程序在开机时按某个键就可进入设置状态,并

提供良好的界面。

3.POST上电自检:微机接通电源后,系统首先由(Power On Self Test,上电自检)程序来对内部各个设备进行检查。通常完整的POST自检将

包括对CPU,640K基本内存,1M以上的扩展内存,ROM,主板,CMOS存储器,串并口,显示卡,软硬盘子系统及键盘进行测试,一旦在自检中发现问题,

系统将给出提示信息或鸣笛警告。

4. BIOS系统启动自举程序:系统完成POST自检后,ROM BIOS就首先按照系统CMOS 设置中保存的启动顺序搜索软硬盘驱动器及CD-ROM,网络

服务器等有效地启动驱动器,读入操作系统引导记录,然后将系统控制权交给引导记录,并由引导记录来完成系统的顺序启动。

BIOS的主要作用有三点

1.自检及初始化:开机后BIOS最先被启动,然后它会对电脑的硬件设备进行完全彻底的检验和测试。如果发现问题,分两种情况处理:严重

故障停机,不给出任何提示或信号;非严重故障则给出屏幕提示或声音报警信号,等待用户处理。如果未发现问题,则将硬件设置为备用状态

,然后启动操作系统,把对电脑的控制权交给用户。

2.程序服务:BIOS直接与计算机的I/O(Input/Output,即输入/输出)设备打交道,通过特定的数据端口发出命令,传送或接收各种外部设

备的数据,实现软件程序对硬件的直接操作。

3.设定中断:开机时,BIOS会告诉CPU各硬件设备的中断号,当用户发出使用某个设备的指令后,CPU就根据中断号使用相应的硬件完成工作

,再根据中断号跳回原来的工作。

BIOS对整机性能的影响

从上面的描述可以看出:BIOS可以算是计算机启动和操作的基石,一块主板或者说一台计算机性能优越与否,从很大程度上取决于板上的

BIOS管理功能是否先进。大家在使用Windows 95/98中常会碰到很多奇怪的问题,诸如安装一半死机或使用中经常死机;Windows 95/98只能工

作在安全模式;声卡解压卡显示卡发生冲突;CD-ROM挂不上;不能正常运行一些在DOS、Windows 3.x下运行得很好的程序等等。事实上这些问

题在很大程度上与BIOS设置密切相关。换句话说,你的BIOS根本无法识别某些新硬件或对现行操作系统的支持不够完善。在这种情况下,就只

有重新设置BIOS或者对BIOS进行升级才能解决问题。另外,如果你想提高启动速度,也需要对BIOS进行一些调整才能达到目的,比如调整硬件

启动顺序、减少启动时的检测项目等等。

BIOS和CMOS相同吗?

BIOS是一组设置硬件的电脑程序,保存在主板上的一块ROM芯片中。而CMOS通常读作C-mo-se(中文发音“瑟模室”),是电脑主板上的一块

可读写的RAM芯片,用来保存当前系统的硬件配置情况和用户对某些参数的设定。CMOS 芯片由主板上的充电电池供电,即使系统断电,参数也不

会丢失。CMOS芯片只有保存数据的功能,而对CMOS中各项参数的修改要通过BIOS的设定程序来实现。

关于CMOS放电

常常听到计算机高手或者非高手说“口令忘啦?给CMOS放电吧。”,这到底是什么意思呢?

如果你在计算机中设置了进入口令,而你又碰巧忘记了这个口令,你将无法进入计算机。不过还好,口令是存储在CMOS中的,而CMOS必须有

电才能保持其中的数据。所以,我们可以通过对CMOS 的放电操作使计算机“放弃”对口令的要求。

具体操作如下:

打开机箱,找到主板上的电池,将其与主板的连接断开(就是取下电池喽),此时CMOS 将因断电而失去内部储存的一切信息。再将电池接通

,合上机箱开机,由于CMOS已是一片空白,它将不再要求你输入密码,此时进入BIOS 设置程序,选择主菜单中的“LOAD BIOS DEFAULT”(装入

BIOS缺省值)或“LOAD SETUP DEFAULT”(装入设置程序缺省值)即可,前者以最安全的方式启动计算机,后者能使你的计算机发挥出较高的

性能。

本文来自CSDN博客,转载请标明出处:https://www.360docs.net/doc/c815879557.html,/yhmhappy2006/archive/2006/10/10/1329323.aspx

计算机启动过程

从打开电源到开始操作,计算机的启动是一个非常复杂的过程。 零、boot 的含义 先问一个问题,"启动"用英语怎么说? 回答是boot。可是,boot 原来的意思是靴子,"启动"与靴子有什么关系呢?原来,这里的boot 是bootstrap(鞋带)的缩写,它来自一句谚语: "pull oneself up by one's bootstraps" 字面意思是"拽着鞋带把自己拉起来",这当然是不可能的事情。最早的时候,工程师们用它来比喻,计算机启动是一个很矛盾的过程:必须先运行程序,然后计算机才能启动,但是计算机不启动就无法运行程序! 早期真的是这样,必须想尽各种办法,把一小段程序装进内存,然后计算机才能正常运行。所以,工程师们把这个过程叫做"拉鞋带",久而久之就简称为boot 了。 计算机的整个启动过程分成四个阶段。 一、第一阶段:BIOS 上个世纪70 年代初,"只读内存"(read-only memory,缩写为ROM)发明,开机程序被刷入ROM 芯片,计算机通电后,第一件事就是读取它。 这块芯片里的程序叫做"基本輸出輸入系統"(Basic 无效/Output System),简称为BIOS。1. 1 硬件自检 BIOS 程序首先检查,计算机硬件能否满足运行的基本条件,这叫做"硬件自检"(Power-On Self-Test),缩写为POST。 如果硬件出现问题,主板会发出不同含义的蜂鸣,启动中止。如果没有问题,屏幕就会显示出CPU、内存、硬盘等信息。 1. 2 启动顺序 硬件自检完成后,BIOS 把控制权转交给下一阶段的启动程序。 这时,BIOS 需要知道,"下一阶段的启动程序"具体存放在哪一个设备。也就是说,BIOS 需要有一个外部储存设备的排序,排在前面的设备就是优先转交控制权的设备。这种排序叫做"启动顺序"(Boot Sequence)。 打开BIOS 的操作界面,里面有一项就是"设定启动顺序"。 二、第二阶段:主引导记录 BIOS 按照"启动顺序",把控制权转交给排在第一位的储存设备。 这时,计算机读取该设备的第一个扇区,也就是读取最前面的512 个字节。如果这512 个字节的最后两个字节是0x55 和0xAA,表明这个设备可以用于启动;如果不是,表明设备不能用于启动,控制权于是被转交给"启动顺序"中的下一个设备。 这最前面的512 个字节,就叫做"主引导记录"(Master boot record,缩写为MBR)。 2. 1 主引导记录的结构 "主引导记录"只有512 个字节,放不了太多东西。它的主要作用是,告诉计算机到硬盘的哪一个位置去找操作系统。 主引导记录由三个部分组成: (1)第1-446 字节:调用操作系统的机器码。 (2)第447-510 字节:分区表(Partition table)。 (3)第511-512 字节:主引导记录签名(0x55 和0xAA)。 其中,第二部分"分区表"的作用,是将硬盘分成若干个区。 2. 2 分区表 硬盘分区有很多好处。考虑到每个区可以安装不同的操作系统,"主引导记录"因此必须知道将控制权转交给哪个区。

电脑启动过程详解!!!

电脑启动过程详解 1.当按下电源开关时,电源就开始向主板和其它设备供电,这时电压还不太稳定,主板上的控制芯片组会向CPU发生并保持一个RESET(重置)信号,让CPU内部自动恢复到初始状态,但CPU在些刻不会马上执行指令,当芯片组检查到电源已经开始稳定供电了(当然从不稳定,到稳定的过程只是一瞬间的事情)它便撤去RESET信号(如果是手工按下电脑面板上的RESET按钮来重启机器,那么松开该按钮时芯片组就会撤去RESET信号)CPU马上从地址FFFF0H处开始执行指令,这个地址实际在系统BIOS的地址范围内, 无论是Award BIOS,还是AMI BIOS,在这里的只是一条跳转指令,跳到系统BIOS中真正的启动代码处。 2.系统BIOS的启动代码首先要做的事情就进行POST(Power-On Self Test,加电后自检),POST的主要任务是检查系统中一些关键设备是否存在和是否正常工作,例如内存和显卡等设备.由于POST是最早进行的检查过程,此时显卡还没有初始化,如果系统BIOS在进行POST的过程中发现了些致命错误,例如没有找到内存或内存有问题 (此时只会检查640KB常规内存),那么系统BIOS就会直接控制嗽叭发生声音来报告错误,声音的长短和次数代表了错误的类型.在正常情况下,POST过程进行的非常快,我们几乎无法感觉到它的存在,POST结束之后就会调用其它代码来进行更完整的硬件检测。 3.接下来系统BIOS将查找显卡的BIOS,前面说过,存放显卡BIOS的ROM芯片的超始地址通常设在 C0000H,系统BIOS在这个地方找到显卡BIOS之后就调用它的初始化代码来初始化显卡,此时多数显卡都在屏幕上显示出一些初始化信息,介绍生产厂商,图形芯片类型等内容,不过这个画面几乎是一闪而过,系统BIOS接着会查找其它设备的BIOS程序,找到之后同样会调用这些BIOS内部的初始化代码来初始化相关的设备。 4.查找完所有其它设备的BIOS之后,系统BIOS将显示出它自己的启动画面,其中包括有系统BISO的类型,序列号和版本号等内容. 5.接着系统BIOS将检查和显示CPU的类型和工作频率,然后开始测试所有RAM,并同时在屏莫显示内存测试的速度,用户可以在CMOS设置中自行决定使用简单耗时少或详细耗时多的测试方式. 6.内存测试通过之后,系统BIOS将开始检测系统中安装的一些标准硬件设备,包括硬盘,CD-ROM,串口,并口,软驱等设备,另外绝大数较新版本的系统BIOS在这一过程中还要自动检测和设置内存的定时参数,硬盘参数和访问模式等. 7.标准设备检查完毕后,系统BIOS内部的支持即插即用的代码将开始检测和配置系统中安装的的即插即用设备,每找到一个设备之后,系统BIOS都会在屏幕上显示出设备的名称和型号等信息,同时为该设备分配中断,DMA通道和I/O端口等资源。 8.到这一步为止,所有硬件都已经检测配置完毕了,多数系统BIOS会重新清屏并在屏幕上方显示出一个表格,其它概略地列出了系统中安装的各种标准硬件设备,以及它们使用的资源和一些相关工作参数。 9.接下来系统BIOS会更新ESCD(Extended system configuration data,扩展系统配置数据.)ESCD是系统BIOS用来与操作系统交换硬件配置信息的一种手段,这些数据被存放在CMOS之中,通常ESCD数据只在系统配置发生改变后才会更新,所以不是每次启动电脑时都能够看到"updata ESCD … Success"这样的信息, 不过某些主板的系统BIOS在保存ESCD数据时使用了与widnwos 9x不相同的数据格式,于是widnwos 9x在启动过程中会把ESCD数据修改成自己的格式,但在下一次启动时,既使硬件配置没有发生改变,系统BIOS也会把ESCD的数据格式修改回来,如此循环,将会导致在每次启动电脑时,系统BIOS都要更新一遍ESCD,这就是为什么有些机器在每次启动时都会显示出相关信息的原因。 10.ESCD更新完毕后,系统BIOS的启动代码将进行它的最后一项工作,即根据用户指定的启动顺序从软件,硬件或光驱启动,以从C盘启动为例,系统BIOS将读取并执行硬盘上的主引导记录,主引导记录接着从分区表中找到第一个活动分区,然后读取并执行这个活动分区的引导记录,而分区引导记录将负责读取并执行 IO.SYS这是DOS和widnows 9x的IO.SYS(或NT的NTLDR)首先要初始化一些重要的系统数据,然后将显示出我们熟悉的蓝天白云,在这幅画面之下,widnwos 将继续进行DOS部分和GUI(图形用户界面)部分的引导和初始化工作. 上面介绍的便是电脑在打开电源开关(或按RESET)进行冷启动时所要完成的各种初始化工作,如果在DOS 下按Ctrl Alt DEL组合键,(或从windows中选择重新启动电脑)来进行热启动,那么POST过程将被跳过去,

计算机启动过程

计算机启动过程 讲课教师:黄小龙 计算机启动过程总体分为两个过程,即硬件启动过程和操作系统启动过程。本课中操作系统我们仅选用Windows XP 的启动过程讲解。 一、硬件启动过程 ⑴加电 按下电源开关后,电源就开始向主板和其它设备供电,此时电压还不稳定, 主板上的控制芯片组会向CPU 发出并保持一个RESET(重置)信号,让CPU 初始化。当电源开始稳定供电后,芯片组便撤去RESET 信号(如果是按下Reset 按钮来重启,那么松开该按钮时芯片组就会撤去RESET 信号)。然后,CPU 马上就从地址FFFF0H 处开始执行指令(这是BIOS 的起始地址),但放在这里的只是一条跳转指令,跳到系统真正的BIOS 启动代码处,由BIOS 的代码进行下一步的POST 自检。 ⑵BIOS 进行post

POST就是加电自检,它是Power On Sel f Test的缩写。它是检查一些关键设备是否存在和能否正常工作,如内存和显卡等。如果发现错误,则通过喇叭发声来报告错误情况,此时的声音长短和次数代表了错误类型。 注:由于POST的检测过程在显示卡初始化之前,因此POST 自检过程发现的错误是无法在屏幕上显示出来的。 ⑶BIOS检测硬件的各种信息 BIOS进行加电自检后,就开始检测计算机上硬件设备的各种信息,如设备类型、工作频率、芯片组型号、出厂厂商等。这阶段的硬件检测顺序是:显示卡、CPU、内存、其它标准硬件设备(如硬盘、光驱、软驱、外设等)。 ⑷BIOS更新ESCD 按下来系统BIOS将更新ESCD(Extended System Configuration Data,扩展系统配置数据)。ESCD是系统BIOS用来与操作系统交换硬件配置信息的数据,这些数据被存放在CMOS之中。通常ESCD数据只在系统硬件配置发生改变后才会进行更新,因此不是每次启动都能看到"Update ESCD... Success"这样的信息。不过,某些主板的BIOS在保存ESCD数据时使用了与Windows 9x 不相同的数据格式,于是Windows 9x在每一次启动都会把ESCD 数据转换成自己的格式,导致BIOS每次重新启动时都认为是硬件配置发生变化,并重新改写ESCD数据,这就是为什么有的计算机在每次启动时都会显示"Update ESCD... Success"信息的原因。

计算机启动过程详解

或者你才在上一个洞吞了柏忌,下一个洞你就为抓了老鹰而兴奋不已。 计算机启动过程详解 1 system power on(启动电源开关) 2 early chipset initialization(早期芯片初始化,在主板上) 3 memory detection test(内存条检测) 4 decompressing bios image to ram(把计算机的基本输入输出指令解压到直接存储器中) 5 initializing keyboard controller 6 test vga bios 7 processor initialization 8 testing rtc 9 initalizing vedio interface 10 bios sign on 11 testing base and extended memory 12 assign resource to all isa 13 initializing hard driver controller 14 initializing fdd controller 15 boot attempt 16 os booting +++++++++++++++++++++++++ 打开电源启动机器几乎是电脑爱好者每天必做的事情,面对屏幕上出现的一幅幅启动画面,我们一点儿也不会感到陌生,但是,计算机在显示这些启动画面时都做了些什么工作呢?相信有的朋友还不是很清楚,本文就来介绍一下从打开电源到出现Windows 9x的蓝天白云时,计算机到底都干了些什么事情。 首先让我们来了解一些基本概念。第一个是大家非常熟悉的BIOS(基本输入输出系统),BIOS是直接与硬件打交道的底层代码,它为操作系统提供了控制硬件设备的基本功能。BI OS包括有系统BIOS(即常说的主板BIOS)、显卡BIOS和其它设备(例如IDE控制器、SCSI卡或网卡等)的BIOS,其中系统BIOS是本文要讨论的主角,因为计算机的启动过程正是在它的控制下进行的。BIOS一般被存放在ROM(只读存储芯片)之中,即使在关机或掉电以后,这些代码也不会消失。 第二个基本概念是内存的地址,我们的机器中一般安装有32MB、64MB或128MB内存,这些内存的每一个字节都被赋予了一个地址,以便CPU访问内存。32MB的地址范围用十六进制数表示就是0~1FFFFFFH,其中0~FFFFFH的低端1MB内存非常特殊,因为最 只有凭借毅力,坚持到底,才有可能成为最后的赢家。这些磨练与考验使成长中的青少年受益匪浅。在种种历练之后,他们可以学会如何独立处理问题;如何调节情绪与心境,直面挫折,抵御压力;如何保持积极进取的心态去应对每一次挑战。往往有着超越年龄的成熟与自

计算机启动过程

计算机系统的启动过程 1:硬件自检 BIOS程序首先检查计算机的硬件是否满足运行的基本条件,这就叫做“硬件自检”(Power-On Self-Test),POST。如果硬件出现问题,主板会发出不同含义的蜂鸣启动就会终止,,如果没有问题,屏幕就会显示出CPU,内存,硬盘等信息。 2:启动程序 硬件自检完成之后,BIOS就把控制权转交给下一阶段的启动程序。 这时,BIOS需要知道“下一阶段的启动程序”具体存放在哪一个设备。也就是说,BIOS 需要有一个外部储存设备的排序,排在前面的设备就是优先被转交控制权的设备。这种排序叫做“启动顺序”(Boot Sequence)。 打开BIOS的操作界面我们就可以看到里面有一项是“设定启动顺序”。 主引导记录 BIOS按照“启动顺序”,把控制权转交给排在第一位的储存设备。 这时,计算机读取该设备的第一个扇区,也就是读取最前面的512字节,如果这512个字节的最后两个字节是0x55和0xAA,表明这个设备可以启动,否则则不可以启动控制权被交与“启动顺序”中的下一个设备。 这最前面的512个字节,就叫做"主引导记录"(Master boot record,缩写为MBR)。 1:主引导记录的结构 “主引导记录”只有512个字节,放不了太多东西。它的主要作用是,告诉计算机到硬盘的哪一个位置去找操作系统。 主引导记录由三个部分组成: (1)第1-446字节:调用操作系统的机器码。 (2)第447-510字节:分区表(Partition table)。 (3)第511-512字节:主引导记录签名(0x55和0xAA)。 其中,第二部分"分区表"的作用,是将硬盘分成若干个区。 2:分区表 硬盘分区有很多好处。考虑到每个区可以安装不同的操作系统,"主引导记录"因此必须知道将控制权转交给哪个区。 分区表的长度只有64个字节,里面又分成四项,每项16个字节。所以,一个硬盘最多只能分四个一级分区,又叫做"主分区"。 每个主分区的16个字节,由6个部分组成: (1)第1个字节:如果为0x80,就表示该主分区是激活分区,控制权要转交给这个分四个主分区里面只能有一个是激活的。 (2)第2-4个字节:主分区第一个扇区的物理位置(柱面、磁头、扇区号等等)。 (3)第5个字节:主分区类型。 (4)第6-8个字节:主分区最后一个扇区的物理位置。

Windows启动过程详解

Windows启动过程详解 我们每天都在和Windows打交道,很多人可能每天都要面对多次W indows的启动过程,可是您知道在Windows的启动过程背后,隐藏着什么秘密吗?在这一系列过程中都用到了哪些重要的系统文件?系统的启动分为几个步骤?在这些步骤中计算机中发生了什么事情?这些就是本文试图告诉您的。 本文的适用范围 随着技术的发展,我们能够见到的计算机硬件种类越来越多。以计算机上最重要的组件CPU来说,目前就有很多选择。当然,这里的选择并不是说AMD或者Intel这种产品品牌,而是指其内部的体系结构。目前常见的CPU体系结构主要基于复杂指令集(Complex I nstruction Set Computing,CISC)或者精简指令集(Reduced Ins truction Set Computing,RISC),我们常用的Intel的Pentium、C eleron系列以及AMD的Athlon、Sempron系列都是基于复杂指令集的,而这些基于复杂指令集的CPU还有32位和64位的寄存器数据带宽区别。关于这些指令集以及寄存器数据带宽之间的区别等内容比较繁杂,而且不是本文的重点,感兴趣的朋友可以自己在网上搜索相关内容。因为CPU种类的不同,在不同CPU的系统中运行的Wind ows的启动过程也有一些小的不同。本文将会以目前来说最普遍的,在x86架构的系统上安装的32位Windows XP Professional为例向

您介绍。 基本上,操作系统的引导过程是从计算机通电自检完成之后开始进行的,而这一过程又可以细分为预引导、引导、载入内核、初始化内核,以及登录这五个阶段。 在继续阅读之前,首先请注意图1,这是Windows XP的操作系统结构,其中包括了一些在后台工作的组件以及经常和我们打交道的程序。在了解Windows XP的启动过程之前,对系统结构有一个初步概念是很重要的。

正确的电脑开关机顺序

正确的电脑开关机顺序 由于电脑在刚加电和断电的瞬间会有较大的电冲击,会给主机发送干扰信号导致主机无法启动或出现异常,因此,在开机时应该先给外部设备加电,然后才给主机加电。但是如果个别计算机,先开外部设备(特别是打印机)则主机无法正常工作,这种情况下应该采用相反的开机顺序。关机时则相反,应该先关主机,然后关闭外部设备的电源。这样可以避免主机中的部位受到大的电冲击。在使用计算机的过程中还应该注意下面几点:而且 WINDOWS 系统也不能任意开关,一定要正常关机;如果死机,应先设法“软启动”,再“硬启动”(按 RESET 键),实在不行再“硬关机”(按电源开关 数秒种)。 在电脑运行过程中,机器的各种设备不要随便移动,不要插拔各种接口卡,也不要装卸外部设备和主机之间的信号电缆。如果需要作上述改动的话,则必须在关机且断开电源线的情况下进行。 不要频繁地开关机器。关机后立即加电会使电源装置产生突发的大冲击电流,造成电源装置中的器件被损坏,也可以造成硬盘驱动突然加速,使盘片被磁头划伤。因此,这里我们建议如果要重新启动机器,则应该在关闭机器后等待 10 秒钟以上。在一般情况下用户

不要擅自打开机器,如果机器出现异常情况,应该及时与专业维修部门联系。 鼠标的操作 Windows 中的许多操作都可以通过鼠标的操作完成。 二键鼠标有左、右两键,左按键又叫做主按键,大多数的鼠标操作是通过主按键的单击或双击完成的。右按键又叫做辅按键,主要用于一些专用的快捷操作。 鼠标的基本操作包括指向、单击、双击、拖动和右击。 (1)指向:指移动鼠标,将鼠标指针移到操作对象上。 (2)单击:指快速按下并释放鼠标左键。单击一般用于选定一个操作对象。 (3)双击:指连续两次快速按下并释放鼠标左键。双击一般用于打开窗口,启动应用程序。 (4)拖动:指按下鼠标左键,移动鼠标到指定位置,再释放按键的操作。拖动一般用于选择多个操作对象,复制或移动对象等。(5)右击:指快速按下并释放鼠标右键。右击一般用于打开一个与操作相关的快捷菜单。

WindowsXP启动过程详解

WindowsXP启动过程详解 在基于INTEL的计算机上,Windows2000/XP的启动过程大致可分为5个步骤:预启动,启动,装载内核,初始化内核以及用户登录。下面分别展开介绍: 一.预启动 首先计算机通电进行自检,并由BIOS(即基本输入输出系统)完成基本硬件配置,然后读取硬盘的MBR(主引导记录)检查硬盘分区表以确定引导分区,并将引导分区上的操作系统引导扇区调入内存中执行,此处即执行NTLDR(操作系统加载器)文件。 * Windows2000/XP支持多重启动。它在安装时会首先将已存在的其它操作系统引导扇区保存为BOOTSECT.DOS 文件(位于活动分区根目录下),并修改系统引导扇区,以便系统启动时加载NTLDR文件,从而达到多重启动的目的。而Windows98则不具备这个功能,因此如果先装好Windows2000/XP后再装Windows98会破坏掉Windows2000/XP 的引导记录,导致2000/XP不能启动。 二.启动 1.首先进行出始化,NTLDR会把处理器从实模式转换为32位保护模式。 2.读取BOOT.INI文件。该文件位于活动分区根目录下,它的作用是使系统在启动过程中出现选择菜单,由用户选择希望启动的操作系统。如果选择启动Windows2000/XP,NTLDR会继续引导进行以下过程;如果选择为非Windows2000/XP系统,NTLDR则会读取系统引导扇区副本BOTSECT.DOS转入启动相应系统。 * 其中[BOOT LOADER]即操作系统加载器,指定系统选择菜单默认等待时间和默认引导的操作系统。可手工修改或在控制面板中修改,为了保险起见,建议在控制面板中修改。依次选择控制面板-〉系统-〉高级->启动和故障恢复,即可更改相关设置。(在WindowsXP中还有另一种方法,即运行msconfig(系统配置实用程序)。 [OPERATING SYSTEMS]段指定操作系统列表,由双引号括起来的部分就是列表所显示的内容,可任意修改,使其更加个性化。 * 形如MULTI(0)DISK(0)RDISK(0)PARTITION(1)格式的语句被称为ARC路径,它的格式为:MULTI()——指定磁盘控制器(若为SCSI控制器,则此处应替换为SCSI());DISK()——指定SCSI设备编号(对于MULTI该处值始终为0);RDISK()——指定IDE设备编号(对于SCSI,此处被忽略);PARTITION()——指定分区编号。除分区编号由1开始外,其余编号均从0开始。 参数/FASTDETECT表示禁用串行鼠标检测,是系统默认值。还有几个常见参数:MAXMEM——指定Windows2000/XP 可用内存容量;BASEVIDEO——使用标准VGA显示驱动程序;NOGUIBOOT——启动过程中不显示图形屏幕;SOS——加载设备驱动程序时显示其名称。 * 在操作系统选择菜单中的中文字体由位于活动分区根目录下的BOOTFONT.BIN文件提供。 3.系统加载https://www.360docs.net/doc/c815879557.html,文件。由它来检测机器硬件,如并行端口,显示适配器等等,并将收集到的硬件列表返回NTLDR用于以后在注册表中注册保存。 4.如果Windows2000/XP有多个硬件配置文件,此时会出现选择菜单,等待用户确定要使用的硬件配置文件,否则直接跳过此步,启用默认配置。 * 硬件配置文件是指保存计算机特定硬件配置的系统文件。可以创建多个不同的硬件配置文件以满足计算机在不同场合的应用。可以依次选择控制面板-〉系统->硬件-〉硬件配置文件作出修改。 三.装载内核 引导过程开始装载Windows2000/XP内核NTOSKRNL.EXE。这个文件位于Windows2000/XP安装文件夹下的SYSTEM32文件夹中。随后,硬件抽象层(HAL)被引导进程加载,完成本步骤。 * 硬件抽象层(HAL):隐藏特定平台的硬件接口细节,为操作系统提供虚拟硬件平台,使其具有硬件无关性,可在多种平台上进行移植。 四.初始化内核 内核完成初始化,NTLDR将控制权转交Windows2000/XP内核,后者开始装载并初始化设备驱动程序,以及启动WIN32子系统和WINDOWS2000/XP服务。 五.用户登录 开始登录进程。由WIN32子系统启动WINLOGON.EXE,并由它启动LOCAL SECURITY AUTHORITY(LSASS.EXE)显示登录对话框。用户登录后,WINDOWS2000/XP会继续配置网络设备和用户环境。最后,伴随着微软之声和我们熟悉的个性化桌面,WINDOWS2000/XP漫长的启动过程终于完成。呵,是不是睡着了,醒醒吧,系统启动成功,您现在该干嘛就干嘛! WINXP启动的简单过程

详细电脑启动过程

打开电源启动机器几乎是电脑爱好者每天必做的事情,面对屏幕上出现的一幅幅启动画面,我们一点儿也不会感到陌生,但是,计算机在显示这些启动画面时都做了些什么工作呢?相信有的朋友还不是很清楚,本文就来介绍一下从打开电源到出现Windows的蓝天白云时,计算机到底都干了些什么事情。 首先让我们来了解一些基本概念。第一个是大家非常熟悉的BIOS(基本输入输出系统),BIOS是直接与硬件打交道的底层代码,它为操作系统提供了控制硬件设备的基本功能。BI OS包括有系统BIOS(即常说的主板BIOS)、显卡BIOS和其它设备(例如IDE控制器、SCSI卡或网卡等)的BIOS,其中系统BIOS是本文要讨论的主角,因为计算机的启动过程正是在它的控制下进行的。BIOS一般被存放在ROM(只读存储芯片)之中,即使在关机或掉电以后,这些代码也不会消失。 第二个基本概念是内存的地址,我们的机器中一般安装有32MB、64MB或128MB内存,这些内存的每一个字节都被赋予了一个地址,以便CPU访问内存。32MB的地址范围用十六进制数表示就是0~1FFFFFFH,其中0~FFFFFH的低端1MB内存非常特殊,因为最初的8086处理器能够访问的内存最大只有1MB,这1MB的低端640KB被称为基本内存,而A0000H~BFFFFH要保留给显示卡的显存使用,C0000H~FFFFFH则被保留给BIOS使用,其中系统BIOS一般占用了最后的64KB或更多一点的空间,显卡BIOS一般在C0000 H~C7FFFH处,IDE控制器的BIOS在C8000H~CBFFFH处。 第一步:当我们按下电源开关时,电源就开始向主板和其它设备供电,此时电压还不太稳定,主板上的控制芯片组会向CPU发出并保持一个RESET(重置)信号,让CPU内部自动恢复到初始状态,但CPU在此刻不会马上执行指令。当芯片组检测到电源已经开始稳定供电了(当然从不稳定到稳定的过程只是一瞬间的事情),它便撤去RESET信号(如果是手工按下计算机面板上的Reset按钮来重启机器,那么松开该按钮时芯片组就会撤去R ESET信号),CPU马上就从地址FFFF0H处开始执行指令,从前面的介绍可知,这个地址

电脑启动过程详解

电脑从按完开关加电开始直到进入到系统桌面的整个过程详解本文以Windows2000/xp和Windows Vista/7两个内核做讲解 电脑从加电到进桌面可以分为两大部分: 无论是Windows2000/XP还是Windows Vista/7,在硬件自检方面都是想同的,不同的是在系统加截。 硬件部分: 在讲解前,我们先来了解几个概念: BIOS:即“Basic Input/Output System”(基本输入输出系统),它是一组被“固化”在计算机主板上的一块 ROM 中直接关联硬件的程序,保存着计算机最重要的基本输入输出的程序、系统设置信息、开机后自检程序和系统自启动程序,其主要功能是为计算机提供最底层的、最直接的硬件设置和控制,它包括系统 BIOS(主板 BIOS).其它设备 BIOS(例如 IDE 控制器 BIOS、显卡 BIOS 等)其中系统 BIOS 占据了主导地位.计算机启动过程中各个 BIOS 的启动都是在它的控制下进行的。 CMOS:即“Complementary Metal-Oxide-Semiconductor”(互补金属氧化物半导体),它本是计算机系统内一种重要的芯片,保存了系统引导最基本的资料。 内存地址:我们知道,内存空间的最基本单位是位,8 位视为一个字节,即我们常用的单位 B,内存中的每一个字节都占有一个地址(地址是为了让 CPU 识别这些空间,是按照 16 进制表示的),而最早的 8086 处理器只能识别 1MB(2 的 20 次方 B)的空间,这 1MB 内存中低端(即最后面)的 640KB 就被称为基本内存,而剩下的内存(所有的)则是扩展内存。这 640KB 的空间分别由显存和各 BIOS 所得。 我们来看一下硬件部分的流程图:

dell上电时序及戴尔笔记本电脑开机过程

dell上电时序及戴尔笔记本电脑开机过程 根据我最近维修的戴尔系列笔记本电脑来看,不管是从奔四还是到迅驰或者双核,只要是使用SMSC系列单片机的主板,其开机过程都是大同小异,同样的道理像IBM的笔记本从奔三到迅驰的开机流程也都是差不多,因为它们也都是使用相同开机控制芯片系统(TB+PMH4+H8S),也就是说只要你熟悉某一块主板后,其他和这块主板使用相同单片机的电脑对你来说都不是太难。 最近我维修的机型有C640、D400、D420、D520、D600、D610、D820、D830、M1210、M1330、M1530等等,这些机器都有一个共同特点,那就是它们都是使用SMSC系列单片机,不过从D820后的单片机不再是BGA封装了,而是用两个DIP封装的芯片组合形成一个完整地控制系统。它们之间的开机步骤基本是相同的,与其他IBM或者HP机型相比较来说,其大的步骤也有相同之处,只是有些细节方面和信号名称不同而已。以下内容是以D600为例来解说,其他机型可能没有相应信号或者名称不同,在参考阅读时请适当灵活变化运用,下面各个步骤的名称也只是根据我个人爱好来取的,并非官方的准确名字。 第一步:BIOS电压(+RTC_PWR5V&+RTC_PWR3_3V) 这个电压从名称来看就是指BIOS电池供电的电压信号+RTCSRC,这个电压在没有插电源和电池时,是由主板上面的BIOS电池供给,当插上电源或电池时主板BIOS电池就处于充电状态,这个+RTCSRC电压信号的主要作用就是用来生成 +RTC_PWR5V和+RTC_PWR3_3V两个电压信号,其中+RTC_PWR3_3V信号是给南桥和单片机的一个重要供电。 第二步:公共电压(PWR_SRC) 戴尔机器的公共电压名称叫做PWR_SRC,像IBM的公共电压名称叫做VINT16是一样的意思,公共电压顾名思义就知道是公共的意思,即就是电源和电池共用的上电电路,也就是说这个电压信号既可以是电源供给,也可以是电池供给,同时这个电压信号还会送到主板很多地方去使用,这里详细说说电源上电电路过程,把电池上电电路过程作为电池充电电路内容讲解。 公共电压PWR_SRC是从外部电源经过一系列电路转换而来的,大致步骤要经过DCIN+、+DC_IN、DC_IN+、SDC_IN+、ACAV_IN等几个信号的转换过程,其中SDC_IN+和ACAV_IN两个信号都是充电电路中比较重要的信号,因为SDC_IN+是给电池充电的一个主要电源,而ACAV_IN这个信号是给单片机SMSC芯片的一个重要开启信号,单片机缺少这个信号时将无法正常工作进行充电,当然如果是电池独立供电时就没有这个信号,但会从电池电路上发送另一个具有相同功能的信号给单片机作为指示,这些将会在电池充电电路中关于电源和电池转换过程中详细说明。

笔记本开机过程★★★

笔记本开机过程 笔记本开机过程(超详细) 在没有任何的电力设备在供电(没电池和电源)时,机器内部只有RTC电路在运作,南桥上会接有一个3V的纽扣电池来供给RTC(实时时钟)电力,以保持内部时间的运行和CMOS信息。在插上电池或者电源的时候,机器内部的单片机EC(开机控制芯片)就Reset(复位)并开始工作,等待用户按下Power(电源开关)键。在此期间的时序是:ALWAYS(市电)电开启以后,EC Reset并开始运行,随后发给南桥一个称为‘RSMRST#’(注:RSMRST#是通知南桥5VSB(SB意思为电脑电源的辅助电源,它提供给电脑待机器件电源的,主要提供给机箱开关,网卡等等需要唤醒电脑开机所需功能的部分供电)和3VSB待机电压正常的信号)的信号。这时候南桥的部分功能开始初始化并等待开机信号。这里要注意,这时候的南桥并没有打开全部电源,只有很少一部分的功能可用,比如供检测开机信号的PWRBTN#信号。 在用户按下Power键的时候,EC检测到一个电平变化(一般时序是:高-低-高),然后发送一个开机信号(PWRBTN#)给南桥,南桥收到 PWRBTN#信号后依次拉高SLP_S5#,SLP_S4#,SLP_S3#信号,开启了所有的外围电压,主要是+3V,+5V以及DDR2.5V等,并发送PM PWROK信号,这信号表明外围电源正常开启。 PM PWROK将作为一个使能信号发送到CPU外围VCCP的电压Generator,并开启VCCP。在此之后,VCCP Generator会发出CORE_VR_ON来开启CORE VR(即CPU的核心电压)。至此,整机的电压已经全部开启。 在用VR_PWRGD_ICH这个信号通知南桥CORE VR成功开启后,南桥会发出PCI RST#信号到PCI 总线,于是总线上的设备都被初始化(包括北桥),并同时发出H_PWRGD来通知CPU它的核心电压已经成功开启。然后北桥发 H_CPURST#信号给CPU,CPU被RESET,并正式开始工作。 在用户需要进入待机模式(S3)的时候,系统的ACPI和windows同时运作,拉低SLP_S3#,并保持SLP_S4#和SLP_S5#被拉高,以关闭了MAIN电,系统则进入待机模式。 而在需要进入休眠或者关机模式时,同时拉低SLP_S3#、SLP_S4#和SLP_S5#,关闭除了RTC以外的电源。当然,在这一系列的过程中,需要操作系统和BIOS的共同协作,对硬件工程师来说,只需要保证在特定的状态保证特定的电压供给即可。 当机器要要从S0进入S5,即关机的时候,也会有一定的时序进行,基本上就是前面时序的逆运行,笔者就不多费笔墨了。 RTC 实时时钟 笔记本EC芯片简介 开机控制芯片又称为EC(Embed Controller,嵌入式控制器)是一个16 位单片机,它内部本身也有一定容量的Flash 来存储EC 的代码。在系统开启的过程中,EC 控制着绝大多数重要信号的时序。在笔记本中,EC 是一直开着的,无论你是在开机或者是关机状态,除非你把CMOS 电池和Adapter 完全卸除。在关机状态下,EC 一直保持运行,并在等待用户的开机信息。而在开机后,EC 更作为键盘控制器,充电指示灯以及风扇和其他各种指示灯等设备的控制,还控制着系统的待机、休眠等状态。主流笔记本系统中,EC 在系统架构中的地位如下图:

《计算机启动过程》(图文详解)

我们每天使用计算机必须要经过的一个步骤就是启动了,但是,你是否知道计算机到底是怎样启动的呢?或许,你会认为这并不重要,是的,对于我们一般人而言,它确实不重要,事实上,我们更关心它启动得有多快,但是,这却实在是一个很“基本”的问题,每天都在用计算机,却不知道它是怎样启动的,似乎总感觉有些别扭(当然了,多数人都不知道的话也就没什么好别扭的了)。下面就为大家介绍一下我们使用的计算机到底是怎样启动起来的,由于这个问题比较大,我将它分为了两部分来介绍,这样可能比较好接受一些。这次只介绍前半部分(即和操作系统无关的部分)。另外,为方便大家理解,我特意制作了相关的流程图,建议大家对照着看。 如果你愿意了解一下,希望你能通过下面的介绍弄懂这个问题,如果你没什么兴趣,也没关系,毕竟,它是个比较边缘的东西,不太了解也行。 像大多数介绍此知识的文章一样,这里还是需要先介绍一下两个基本而重要的概念。 BIOS:即“Basic Input/Output System”(基本输入输出系统),它是一组被“固化”在计算机主

板上的一块ROM中直接关联硬件的程序,保存着计算机最重要的基本输入输出的程序、系统设置信息、开机后自检程序和系统自启动程序,其主要功能是为计算机提供最底层的、最直接的硬件设置和控制,它包括系统BIOS(主板BIOS).其它设备BIOS(例如IDE 控制器BIOS、显卡BIOS等)其中系统BIOS占据了主导地位.计算机启动过程中各个BIOS的启动都是在它的控制下进行的. 内存地址:我曾在虚拟内存的介绍中提到过它,我们知道,内存空间的最基本单位是位,8位视为一个字节,即我们常用的单位B,内存中的每一个字节都占有一个地址(地址是为了让CPU识别这些空间,是按照16进制表示的),而最早的8086处理器只能识别1MB(2的20次方B)的空间,这1MB内存中低端(即最后面)的640KB就被称为基本内存,而剩下的内存(所有的)则是扩展内存。这640KB的空间分别由显存和各BIOS所得。 现在正式开始介绍计算机的启动过程(从打开电源到操作系统启动之前) 1、当电源开关按下时,电源开始向主板和其他

给电脑重装系统全过程(有图)

悠悠详细解析,给电脑重装系统全过程!!!适合菜鸟们。。。 一、准备工作: 如何重装电脑系统 首先,在启动电脑的时候按住DELETE键进入BIOS,选择Advanced BIOS Features 选项,按Enter键进入设置程序。选择First Boot Device 选项,然后按键盘上的Page Up或Page Down 键将该项设置为CD-ROM,这样就可以把 系统改为光盘启动。 其次,退回到主菜单,保存BIOS设置。(保存方法是按下F10,然后再按Y键 即可) 1.准备好Windows XP Professional 简体中文版安装光盘,并检查光驱是否支持 自启动。 2.可能的情况下,在运行安装程序前用磁盘扫描程序扫描所有硬盘检查硬盘错误 并进行修复,否则安装程序运行时如检查到有硬盘错误即会很麻烦。 3.用纸张记录安装文件的产品密匙(安装序列号)。 4.可能的情况下,用驱动程序备份工具(如:驱动精灵2004 V1.9 Beta.exe)将原Windows XP下的所有驱动程序备份到硬盘上(如:FDrive)。最好能记下主板、网卡、显卡等主要硬件的型号及生产厂家,预先下载驱动程序备用。 5.如果你想在安装过程中格式化C盘或D盘(建议安装过程中格式化C盘),请 备份C盘或D盘有用的数据。 二、用光盘启动系统: (如果你已经知道方法请转到下一步),重新启动系统并把光驱设为第一启动盘,保存设置并重启。将XP安装光盘放入光驱,重新启动电脑。刚启动时,当出现如下图所示时快速按下回车键,否则不能启动XP系统光盘安装。如果你不知道具体做法请参考与这相同的-->如何进入纯DOS系统:

微机启动过程分析

微机启动过程分析 微机在启动过程中要经历很多的操作,每一步工作完成后才能进行下一步工作。微机的大多数故障(特别是硬件故障)都出在微机启动阶段,深入了解微机启动的详细过程,就能够根据故障现象快速地推断出故障点所在,而不是盲目地试验。 微机的启动过程大致可分为如下几个阶段,每一阶段又可分为若干步骤。 一、微机启动第一阶段:电源开启阶段 第1步:按下电源开关。如果市电供电正常且主机电源开关正常,则220V、50HZ的市电输入到微机的主机电源中。 第2步:主机电源开始工作,将220V、50HZ交流电转换为±5V、±12V、3.3V等规格的直流电,并发送一个PG(Power Good)信号触发微机各部件开始工作。输出电压和电流值偏高或偏低均会引起微机工作不正常;其他电压输出正常,但PG信号不正常,微机也不能启动。 二、微机启动第二阶段:POST自检阶段 第1步:系统各部件进行初始化。 如果主机电源无故障(即上述第2步正常通过),则主机电源输出电压给CPU、主板及其他设备供电,各设备开始进入准备工作阶段。表现为以下一些现象: ①主机电源指示灯点亮; ②硬盘进行脱机自检:硬盘指示灯点亮,在安静环境下能听到硬盘有“嘀嘀嘀”的自检声,这种自检是硬盘的脱机自检,这是硬盘本身的功能,该自检过程不受CPU或其他设备的控制,只要给硬盘加电即进行,脱机自检完成后,硬盘指示灯熄灭; ③光驱指示灯闪亮一下即灭。有些光驱指示灯呈一直点亮状态,此过程表现为一种颜色(一般为黄色)变为另一种颜色(一般为绿色),然后恢复到初始状态; ④键盘的三个指示灯(Num Lock、Caps Lock、Scroll Lock)一起闪亮。 与此同时,电源输出的PG信号触发CPU内的各寄存器(通用寄存器、段寄存器、标志寄存器等)复位,然后主板的ROM BIOS开始将自己的例行自检程序装入内存并准备执行自检过程。 由于是主板的BIOS本身将存储在其中的例行自检程序装入内存并执行,并不需要外部干预,因而将这一过程称为“Power On Self Test”,简称POST,即加点时自检之意。 自检的主要作用有以下几方面: ①检测微机各主要部件(CPU、时钟、计数器等)是否正常; ②根据微机CMOS RAM中存储的配置信息去查找相关配置,并检查实际硬件设备参数与CMOS的设置信息是否一致; ③检查系统的即插即用设备,并将这些设备一一登记。 运行POST的基本条件是CPU、主板上的ROM BIOS、主板上的其他关键性部件及内存(至少16KB)处于正常工作状态,其中任一个工作不正常,则微机不能开始进行POST自检过程。

讲解win7启动过程

:BIOS→MBR→Bootmgr→BCD→Winl oad.exe→内核加载 1.开机后,BIOS进行开机自检(POST),然后选择从硬盘进行启动,加载硬 盘的MBR并把控制权交给MBR(MBR是硬盘的第一个扇区,它不在任何一个分区内); 2.MBR会搜索64B大小的分区表,找到4个主分区(可能没有4个)的活动分 区并确认其他主分区都不是活动的,然后加载活动分区的第一个扇区 (Bootmgr)到内存; 3.Bootmgr寻找并读取BCD,如果有多个启动选项,会将这些启动选项反映 在屏幕上,由用户选择从哪个启动项启动。 4.选择从Windows7启动后,会加载C:\windows\system32\winload.exe, 并开始内核的加载过程,内核加载过程比较长,比较复杂,这里就不一一讲了。 在这个过程中,bootmgr和BCD存放在Windows7的保留分区里,而从Winload.exe开始,就开始进入到C盘执行内核的加载过程了。 ?MBR(Master Boot Record),中文意为主引导记录。 注意事项 硬盘的0磁道的第一个扇区称为MBR,它的大小是512字节,而这个区域可以分为两个部分。第一部分为pre-boot区(预启动区),占446字节;第二部分是Partition table区(分区表),占66个字节,该区相当于一个小程序,作用是判断哪个分区被标记为活动分区,然后去读取那个分区的启动区,并运行该区中的代码。 他是不属于任何一个操作系统,也不能用操作系统提供的磁盘操作命令来读取它。但我们可以用ROM-BIOS中提供的INT13H的2号功能来读出该扇区的内容,也可用软件工具Norton8.0中的DISKEDIT.EXE来读取 ?BCD=Boot Configuration Data (启动设置数据) ,BCD是操作系统中的启动设置数据, 在有vista或windows7的多重操作系统中,系统通bootmgr程序导入BCD 文件完成启动菜单的引导。 可用bcdedit.exe程序来编辑BCD文件,来调整开机默认操作系统和等待时间。 先让我们看一下windows7的启动过程的常识: 电脑加电后,首先是启动BIOS程序,BIOS自检完毕后,找到硬

相关文档
最新文档