研究生投稿的网站:电脑启动过程

来源:百度文库 编辑:中财网 时间:2024/04/25 23:29:02
今天上网刚好看到的一篇关于系统开机的详细过程,转摘过来供大家看看。
当我们按下Power键后,首先电源进行自检,如果正常就给微处理器定时器发送一个“Power Good”的信号。这个过程大约需要1~5秒的时间;
这个过程最容易发生的问题是电脑无法正常启动、或者是显示器黑屏、有时会重启。这一般是因为电源老化、电压不正常、或者插座不良导致的电源无法通过自检。
解决的方法是加装UPS不间断电源或更换插座等等。

定时器收到这个“Power Good”的信号后,就停止了向CPU发送reset信号,于是CPU从主板的BIOS芯片的开始处读入一个16字节的代码。CPU开始执行主板BIOS中的指令(就是这个16字节的跳转指令),转到BIOS代码的实际地址;
到这里由于显卡还没有加载,屏幕上不能显示任何信息,在这一阶段如果产生错误,主要是通过声音代码来报警--就是我们平时所说的BIOS报警声。由于各个版本的BIOS报警声都不一样,所以出现这样的症状,需要大家对照不同的BIOS进行查找。

BIOS接到指令后,开始初始化和识别电脑中的基本硬件,如果适配器有内置的BIOS的(比如显卡),就调用它来完成该硬件的本身的初始化。显卡在这个时候被初始化,因此再有问题一般就能在屏幕上显示文本信息了;
此阶段常出现的问题一般都与CMOS中的设置不当有关系,故障会以代码显示,问题也会有很多,这里就不一一列举了。

一切正常的话,返回到BIOS,然后从CMOS中读取配置参数,参数正常。此一阶段的启动过程算是完成,系统将启动权交给我们在CMOS里设置为第一启动设备上的启动系统(我们都是直接从硬盘启动的,这里就以硬盘启动为例讲);

BIOS便开始把启动硬盘中的主引导记录(MBR)读取到内存中,并将启动权交给MBR;
MBR位于启动硬盘的第一个扇区,它分为分区表和启动代码。电脑根据分区表找到激活分区,这一分区的第一个扇区包含有引导记录。引导记录实质上也是一段代码,这段代码是用来定位操作系统文件的。比如DOS中就是IO.SYS,而XP中就是NTLDR程序。

正常的话,启动权就交到了NTLDR的手中,加载适当的文件系统驱动,以使NTLDR能识别XP所能支持的文件系统格式。然后初始化支持XP的最小环境;
这一过程常常会发生的是“××××文件丢失,系统无法正常启动”这样的提示。

然后是读取boot.ini这个文件,如果有多系统,则会出现启动一个系统选择菜单,让我们选择一个操作系统。这里以选择XP为例。选择后,则会调用Ntdetect.com这个文件,检测当前的硬件;
Ntdetect.com会收集当前系统的所有硬件信息,并把它们写入注册表〔HKEY_LOCAL_MACHINE\HARDWARE〕键中;

上面的步骤完成后,NTLDR将Windows核心层(Ntoskrnl.exe)以及硬件抽象层(HAL)装载到内存中。Windows核心层和硬件抽象层会初始化一系列软件组件。这些软件组件会扫描储存在注册表ControlSets中的信息,然后加载系统核心、启动服务加载驱动程序;

驱动加载完毕后,加载会话管理器(SMSS)以及启动Winlogon.exe,显示登陆界面。没有用户选择的话,则直接显示“欢迎使用”的界面。

登陆XP后,我们算是完成了启动系统的过程了