当前位置:文档之家› 计算机启动过程详解

计算机启动过程详解

计算机启动过程详解
计算机启动过程详解

计算机启动过程详解

综述:计算机启动时经过了哪些过程:

计算机接通电源后,第一步要进行加电自检,也就是POST(Power On Self Test),检查RAM、驱动器等;第二步BIOS会读取活动分区主引导记录的启动装载器;第三步启动装载器初始化完成,操作系统启动正式开始,这个过程主要又分为引导阶段、加载内核阶段、初始化内核阶段、登录系统启动这四个阶段。其中初始化内核阶段是一个很复杂的过程,系统需要加载很多底层硬件的驱动程序,读取注册信息、寻找新硬件设备、启动相关服务,初始化显示设备和显示出用户界面等。并且实施各种用户自定义的配置,例如安全配置等。

分述:

全面透析计算机启动过程

Windows98的启动过程

WIN2000启动的简单过程

Windows2000/XP启动过程详解

WINXP启动的简单过程

Windows XP 启动过程详述

全面透析计算机启动过程(作者:eNet 出处:eNet硅谷动力)

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

介绍一下从打开电源到出现Windows的蓝天白云时,计算机到底都干了些什么事情。

首先让我们来了解一些基本概念。第一个是大家非常熟悉的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处。

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

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

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

会查找其它设备的BIOS程序,找到之后同样要调用这些BIOS内部的初始化代码来初始化相关的设备。

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

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

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

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

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

第九步:接下来系统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,这就是为什么有些机器在每次启动时都会显示出相关信息的原因。

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

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

下面分别介绍WINDOWS各版本的启动过程:

Windows98的启动过程

了解Windows98的启动过程,初学电脑的朋友可以更好地认识系统,并能够处理一些简单的启动故障,下面就一起去看看吧。

一、启动的过程

接通电脑电源,并点亮显示器,同时键盘、机箱上的指示灯闪烁。显示器将检测显示卡信息(图1),这个过程比较短暂,画面几乎是一闪而过。

完成显卡检测后,会发出嘟嘟的响声,然后进入下一画面,此时的界面中将显示系统BIOS

信息,同时包括显示电脑硬件配置信息,包括CPU、内存等信息参数。

完成上面过程后,会显示一个系统配置列表。然后根据CMOS 设置的参数,硬盘将磁头定位在物理扇0柱0面1扇上,接着先后读取扇区结束标志55AAH、主引导记录MBR、硬盘分区表HDPT,然后根据硬盘分区表提供的数据,硬盘将磁头定位在活动分区(主DOS 引导分区)的引导扇区上(一般为物理扇0柱1面1扇),接着先后读取扇区结束标志55AAH、操作系统参数。这一过程虽然复杂,但目的却很简单,是将操作系统读取内存中,储存在ROM(只读存储器)中的Bootstrap Loader程序和自诊断程序移动到RAM(随机存储器中),随着Bootstrap Loader的运行,操作系统将系统文件送到RAM中。然后系统会执行Io.sys和Msdos.sys两个文件,此时屏幕上会出现“Starting Windows 98……”的信息。

需要说明的是,Windows启动时需要https://www.doczj.com/doc/8b8931388.html,,Io.sys,Msdos.sys,Drvspace.bin 四个文件,在初始化过程中还要读取Autoexec.bat,Config.sys,System.ini,Win.ini,User.dat,System.dat六个文件。

当进入蓝天白云画面后,在此画面中,下方的蓝色条是不断闪烁的,此时在后台系统将运行一些系统文件,如果你的系统中已经配置了“Config.sys”文件,那么此时会被执行,同时系统还将执行“https://www.doczj.com/doc/8b8931388.html,”文件,使电脑能够进入DOS 的实模式,启动基本成功。

然后会根据Autoexec.bat、msdos.sys进一步配置Windows98,并决定进入哪一种模式,如果进入窗口模式,还要根据user.dat,system.dat,Win.ini ,system.ini 等读取相关文件,自动对Windows系统进行初始化,此时屏幕已经黑屏,并在屏幕左上角出现一个闪烁的光标,与此同时,启动过程将自动读取Windows 的注册表文件,并完成启动过程,出现Windows 的初始画面,就可以运行Windows系统了。

在整个的启动过程,固化在主板中的ROM BIOS将监测硬件配置是否异常,比如板卡的接线、连接安装情况等是否正常,如果发生硬件故障,那么画面上将什么都不会出现,同时停止启动。

二、启动也提速

Windows系统启动过程需要对整个计算机软硬件进行初始化,所以很多朋友会觉得启动过程过于缓慢,如何提高Windows98的启动速度呢?

1.优化BIOS

进入BIOS设置程序,在“STANDARD CMOS SETUP”中将硬盘的检测方式设置为“IDE Auto Detection”,并将其他没有挂接磁盘或光驱的IDE接口设置为“None”。

在“BIOS FEAUTURES SETUP”中将“System Boot Up Speed”设置为“High”,并将Quick Power On Self Test、Boot From LAN First设置成为“Disabled”,将“Boot Sequence”选项设置为“C Only”或者“C,A”方式,设定“Boot Up Floppy Seek”为设为“Disabled”,然后设置“System BIOS Cacheable”为“Enabled”。还可以在CPU选项中设置“CPU L1 Cache”、“CPU L2 Cache”或“External Cache”、“InternalCache”设置为Enabled方式。

2.修改msdos.sys

在DOS方式下,取消msdos.sys的只读属性,然后使用Edit程序打开对其编辑。首先需要设置“Autoscan=0”,可以跳过Windows98被非正常关闭之后,自动运行scandisk磁盘扫描程序,从而可以加快启动速度。设置“BootDelay”的值为0,用以指定Windows98引导前“Start Windows”提示信息停留时间。加入Bootmenu=0命令行禁用启动菜单,即系统启动时不出现启动选项。

3.配置“系统配置实用程序”

在Windows98启动时会自动运行一些程序,比如超级解霸的自动播放监视器等,我们可以将它们禁止运行,以达到快速启动的目的。具体方法是点击“开始/程序/附件/系统工具/系统信息”,并选取菜单“工具/系统配置实用程序”,并在启动选项卡中图3),取消不必要的随系统自动运行的程序。比如说,SystemTray是管理驻留内存的程序,可以保留。LoadPowerProfile是电源管理方案,可以将其关闭。ScanRegistry的作用是在Windows启动时检查注册表,可以将其取消。TaskMonitor是计划任务监视器,可以将其取消。SchedulingAgent是计划任务的时间表,也可以取消。

4.跳过启动画面

Windows98在启动时会显示蓝天白云画面,可以通过跳过该启动画面加速系统启动过程,实现方法是,可以在系统启动时按住ESC键取消,或者打开根目录下的Msdos.sys文件,在其(Options)节添加Logo=0命令行。

5.简化系统配置文件

可以将系统配置文件Config.sys 和自动批处理文件Autoexec.bat 删除,以改善系统的性能和启动速度,如果因为两个文件中加载了实模式驱动程序,反而会影响系统启动时间,如果要保留,注意不要加载光驱的驱动程序,以免启动时增加光驱的检测次数,增加光盘的读盘时间。

6.定期整理硬盘碎片

要经常使用Windows98提供的“磁盘碎片整理程序”进行硬盘碎片整理,这样可以重新整理硬盘上文件和未使用的空间,以加速文件的读取和程序的运行,减少硬盘寻道时间,实现方法是,点击“开始/程序/附件/系统工具/磁盘碎片整理程序”,在“选择驱动器”对话框中,单击“设置”按钮,并选取“重新安排程序文件以使程序启动得更快”。

7.设置预读

在“我的电脑”上单击鼠标右键,选择“属性”,在“系统属性”对话框中选择“性能”选项卡,单击“文件系统”按钮,在“硬盘”选项卡中,将电脑种类设置为“台式机”,将“预读式优化”滑块设置到“全部”,然后单击“确定”按钮即可。

8.取消文件系统的疑难解答

Windows为排除电脑故障,设置了文件“疑难解答”,可以在“系统属性”对话框的“性能”选项卡中单击“文件系统”按钮,然后选择“疑难解答”选项卡,并将其全部取消。

WIN2000启动的简单过程

在启动过程中,基于Windows 2000的计算机初始化其后查找硬件中的引导部分,这叫做Preboot Sequence。系统启动时加载Ntldr并且是这一过程的最后一步,之后计算机将Ntldr 加载到内存,在Windows 2000加载阶段准备过程中引导次序收集硬件和驱动信息,Preboot Sequence使用如下文件作引导进入系统:

Ntldr,boot.ini,bootsect.dos(如果使用更早的操作系统版本如Window 9X或DOS作双启动的选项),https://www.doczj.com/doc/8b8931388.html,,Ntoskrnl.exe。

Windows2000/XP启动过程详解

Windows2000/XP是一个优秀的操作系统,它功能强大,安全稳定,深受广大电脑用户青睐。但在使用过程中,我们明显地感觉到它的启动时间比Windows98要延长许多,比之Windows98更能考验人的耐性。那么在这段让人忍无可忍但又不可不忍的时间中,系统究竟做了些什么工作哪,别急,,容俺慢慢道来,咱看一看它究竟为何如此龟速。

在基于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.doczj.com/doc/8b8931388.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启动的简单过程

打开电源,ROM BIOS先检测内存是否异常,接着是显卡,输入输出端口,软硬盘等,如果没有问题POST自检结束,开始寻找启动文件把它送到内存,读取Io.sys,https://www.doczj.com/doc/8b8931388.html,,msdos.sys,config.sys.autoexec.bat,等等文件并装载其中的命令,最后读https://www.doczj.com/doc/8b8931388.html,启动windows,启动结束.IO.SYS是最先读取的系统文件,他和https://www.doczj.com/doc/8b8931388.html,,msdos.sys组成了最基本的系统,这个文件一般是不能直接修改的,我也就是在以前用WIN98β3版时,由于使用日期过期了,才用pctools改了一下,以便继续使用至可以搞到正式版的win98。在读取io.sys的同时读取himem.sys,ifship,setver.exe,dbispace.bin 文件,一般用户可以通过cinfig.sys,autoexec.bat里的命令来修改io.sys里的项目,关于这两个文件的里关于命令大部分于说过了。MSDOS.SYS在DOS中是负责内存管理,系统读取的启动文件,在windows中主要用于启动时调整启动的选项这个文件修改很容易,举部分例子如下:

[paths]

HOSTWinBootDRV=C:启动驱动器的路径

WinBootDir=C:\wondows启动路径

WINDIR=C:\wondows 装载操作系统的路径

[OPTION]

AUTOSCAN="" 用于设定启动时是否检查硬盘(上次有人发帖有开机老是系统扫描的可能就是这儿有问题)

设为1,有提示扫描,设为2,无提示直接扫描,设为0不扫描。

BOOTDELAY=““设置启动时等待按F8的时间,一般为2(秒),设为0就可能调不出启动选项的菜单。

BOOTGUI=1 设置为1时进入图形界面,设为0时进字符界面,可以通过输入

https://www.doczj.com/doc/8b8931388.html,进入图形界面。

其他的选项还有很多,就不多说了。

https://www.doczj.com/doc/8b8931388.html,内部命令和一些特殊命令的解释程序

CONFIG.SYS,autoexec.bat,https://www.doczj.com/doc/8b8931388.html,.system.ini.win.ini就不一一解释了

Windows XP 启动过程详述

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

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后,操作系统选择阶段结束,硬件检测阶段开始。

在硬件检测阶段中,https://www.doczj.com/doc/8b8931388.html,将收集计算机硬件信息列表并将列表返回到NTLDR,

这样做的目的是便于以后将这些硬件信息加入到注册表HKEY_LOCAL_MACHINE下的hardware中。

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

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

c) 加载内核阶段

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

d) 初始化内核阶段

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

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

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

? 系统完成初始化以及加载设备驱动程序,内核初始化那些在加载内核阶段被加载的底层驱动程序,然后内核扫描HKEY_LOCAL_MACHINE\system\CurrentControlSet\service\...下start键值为1的设备驱动程序。这些设备驱动程序在加载的时候便完成初始化,如果有错误发生,内核使用ErrorControl键值来决定如何处理,值为3时,错误标志为危机/关键,系统初次遇到错误会以LastKnownGood Control Set重新启动,如果使用LastKnownGood

Control Set启动仍然产生错误,系统报告启动失败,错误信息将被显示,系统停止启动;值为2时错误情况为严重,系统启动失败并且以LastKnownGood Control Set重新启动,如果系统启动已经在使用LastKnownGood值,它会忽略错误并且继续启动;当值是1的时候错误为普通,系统会产生一个错误信息,但是仍然会忽略这个错误并且继续启动;当值是0的时候忽略,系统不会显示任何错误信息而继续运行

? Session Manager启动了Windows XP高级子系统以及服务,Session Manager启动控制所有输入、输出设备以及访问显示器屏幕的Win32子系统以及Winlogon进程,初始化内核完毕。

e) 登陆

? Winlogon.exe启动Local Security Authority,同时Windows XP Professional欢迎屏幕或者登陆对话框显示,这时候,系统还可能在后台继续初始化刚才没有完成的驱动程序。

?提示输入有效的用户名或密码。

?Service Controller最后执行以及扫描HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Servives来检查是否还有服务需要加载,Service Controller查找start键值为2或更高的服务,服务按照start的值以及DependOnGroup和DepandOnService的值来加载。

只有用户成功登陆到计算机后,Windows XP的启动才被认为是完成,在成功登陆后,系统拷贝Clone Control Set到LastKnownGood Control Set,完成这一步骤后,系统才意味着已经成功引导了。

总结:

WIN98启动:https://www.doczj.com/doc/8b8931388.html,,Io.sys,Msdos.sys,Drvspace.bin

WIN2000启动:Ntldr,boot.ini,bootsect.dos,https://www.doczj.com/doc/8b8931388.html,,Ntoskrnl.exe

WINXP启动:NTLDR,Boot.ini,https://www.doczj.com/doc/8b8931388.html,,ntokrnl.exe,Ntbootdd.sys,bootsect.dos(可选的)

计算机启动过程

从打开电源到开始操作,计算机的启动是一个非常复杂的过程。 零、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过程将被跳过去,

WindowsXP启动过程概述

WindowsXP启动过程概述 从按下计算机开关启动计算机,到登入到桌面完成启动,一共经过了以下几个阶段: 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]

计算机启动过程

计算机启动过程 讲课教师:黄小龙 计算机启动过程总体分为两个过程,即硬件启动过程和操作系统启动过程。本课中操作系统我们仅选用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、CPU供电 当用户按下电源按钮后,计算机首先要做的操作就是为主板部分芯片和CPU进行供电。 2、BIOS BIOS是写入到主板中的软件程序。CPU供电后,计算机接下来要做事情就是执行硬件中的BIOS程序。BIOS程序会检查计算机硬件能否满足运行的基本条件,这叫做“硬件自检”,顺序如下: (1)独显(集显属于CPU的一部分,不依靠BIOS自检) (2)内存 (3)硬盘和光驱(其实是探测SATA或者IDE口的过程,用于识别外界存储设备,并向他们供电,打开他们的功能。) (4)PS2接口(旧版鼠标键盘接口)、USB接口、声卡、网卡等等 硬件自检完成后,BIOS把控制权转交给下一阶段的启动程序。这时,BIOS需要知道,“下一阶段的启动程序”具体存放在哪一个设备。也就是说,BIOS需要有一个外部储存设备的排序,排在前面的设备就是优先转交控制权的设备。 3、主引导记录MBR BIOS按照“启动顺序”,把控制权转交给排在第一位的储存设备。即根据用户指定的引导顺序从存储设备中读取启动设备的主引导记录MBR。MBR只有512个字节,内含引导加载程序,在硬盘0磁道的第一个扇区,不属于任何一个分区,它告诉计算机到硬盘的哪一个位置去找操作系统。 4、启动操作系统 计算机通过MBR找到硬盘内操作系统的位置后,就会开始启动操作系统。启动硬盘内的操作系统有三种情况: (1)卷引导记录:如果计算机只安装了一个windows操作系统,那么硬盘通常会以第一种方式启动,即读取激活分区的第一个扇区,加载操作系统。 (2)启动管理器:如果计算机安装了双系统,硬盘一般会以该方式启动,让用户去选择启动哪个分区的操作系统。 (3)扩展分区和逻辑分区:只听说有,但从未见过,故不作讲解。 以Windows7为例,当控制权转交到操作系统后,计算机会执行如下操作: (1)加载内核程序(Ntoskrnl.exe)、硬件抽象层(hal.dll)、注册表SYSTEM项(system32\config\system)、设备驱动,然后控制权交给Ntoskrnl.exe (2)Ntoskrnl初始化执行体子系统,并初始化引导的和系统的设备驱动启动程序,为原生应用程序(如SMSS等)初始化运行环境,控制权交给SMSS.exe (3)SMSS初始化注册表,创建系统环境变量,加载Win32子系统(Win32k.sys),启动子系统进程(CSRSS、WinInit、Winlogon),控制权交给WinInit.exe和Winlogon.exe (4)WinInit启动服务控制管理器(SCM),本地安全子系统(LSASS),本地会话管理(LSM) (5)Winlogon加载登录界面程序(LogonUI),显示交互式登录对话框。等待用户登录后,根据注册表配置启动UserInit.exe和Explorer.exe (6)UserInit启动用户所有自启动进程,建立网络连接,启动生效的组策略 (7)Explorer提供交互式图形界面,包括桌面和文件管理。

计算机启动过程详解

或者你才在上一个洞吞了柏忌,下一个洞你就为抓了老鹰而兴奋不已。 计算机启动过程详解 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内存非常特殊,因为最 只有凭借毅力,坚持到底,才有可能成为最后的赢家。这些磨练与考验使成长中的青少年受益匪浅。在种种历练之后,他们可以学会如何独立处理问题;如何调节情绪与心境,直面挫折,抵御压力;如何保持积极进取的心态去应对每一次挑战。往往有着超越年龄的成熟与自

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的启动过程之前,对系统结构有一个初步概念是很重要的。

计算机启动过程

计算机系统的启动过程 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个字节:主分区最后一个扇区的物理位置。

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.doczj.com/doc/8b8931388.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 所得。 我们来看一下硬件部分的流程图:

Linux启动过程详解

深入浅出:Linux的启动流程刨析 Linux的启动过程,是一个Linuxer必须要熟练掌握的。通过系统的启动过程,可以更深入的理解Linux,假如Linux系统出问题的话,可以通过启动过程来分析原因,解决问题。而且,在掌握了Linux的启动流程后,还可以借助宿主机来打造自己的Linux。 下面是我画的一张简单的Linux启动流程图 在了解启动流程之前,我们应该先知道系统的几个重要脚本和配置文件,他们对应的路径为: 1、/sbin/init 2、/etc/inittab 3、/etc/rc.d/rc.sysinit 4、/etc/rc.d/rcN.d //这是几个文件夹N代表数字1,2,3,4.. 5、/etc/fstab 1、关于/sbin/init与/etc/inittab 关于/sbin/init ,它是一个二进制可执行文件,为系统的初始化程序,而/etc/inittab是它的配置文件,我们可以通过/etc/inittab来一睹它的功能,里面的内容是一种固定的文本格式,id:runlevels:action:process 我们来通过它的内容来学习它之前,先了解写运行级别的分类(0-6): 0:关机half

1:单用户模式singel user 2:多用户模式multi user ,不提供nfs服务without nfs 3:完全多用户字符模式full multiuser text mod 4:系统预留officially undefined 5:图形登录界面graphical login 6:重启reboot id:3:initdefault: //这里定义linux的启动时的运行级别,可以看到我的主机的启动级别是3 # System initialization. si::sysinit:/etc/rc.d/rc.sysinit //紧接着,运行系统第一个脚本/etc/rc.d/rc/sysinit //它的action:sysyinit指的是定义系统初始化过程 l0:0:wait:/etc/rc.d/rc 0 l1:1:wait:/etc/rc.d/rc 1 l2:2:wait:/etc/rc.d/rc 2 //然后就是加载服务了,他们被定义在/etc/rc.d/rcN.d l3:3:wait:/etc/rc.d/rc 3 //action:waite 这个进程在在对应级别启动一次,知道它结束为止,我的系统启动级别为3,所有执行rc 3对应的服务 l4:4:wait:/etc/rc.d/rc 4 l5:5:wait:/etc/rc.d/rc 5 l6:6:wait:/etc/rc.d/rc 6 ca::ctrlaltdel:/sbin/shutdown -t3 -r now //这里定义了一个组合快捷键,熟悉吧,没错就是重启,你可以把它注释掉不用 pf::powerfail:/sbin/shutdown -f -h +2 "Power Failure; System Shutting Down"//这里定义了ups电源,powerfail 指的是如果突然断电,它对应的process命令是,提示用户系统电源失效,将要关机,提醒用户把数据都存储好 pr:12345:powerokwait:/sbin/shutdown -c "Power Restored; Shutdown Cancelled"//这里的action,powerokwaite,指的是系统恢复供电,关机取消...

 1:2345:respawn:/sbin/mingetty tty1 //开启终端,在系统准备工作做好后,就会启动出6个终端,tty1~6 mingetyy就是终端的执行命令 2:2345:respawn:/sbin/mingetty tty2 //可以看到他们对应的级别是2345,你也可以注释

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

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

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芯片的一个重要开启信号,单片机缺少这个信号时将无法正常工作进行充电,当然如果是电池独立供电时就没有这个信号,但会从电池电路上发送另一个具有相同功能的信号给单片机作为指示,这些将会在电池充电电路中关于电源和电池转换过程中详细说明。

微机启动过程分析

微机启动过程分析 微机在启动过程中要经历很多的操作,每一步工作完成后才能进行下一步工作。微机的大多数故障(特别是硬件故障)都出在微机启动阶段,深入了解微机启动的详细过程,就能够根据故障现象快速地推断出故障点所在,而不是盲目地试验。 微机的启动过程大致可分为如下几个阶段,每一阶段又可分为若干步骤。 一、微机启动第一阶段:电源开启阶段 第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自检过程。

相关主题
文本预览
相关文档 最新文档