1、开机全过程以每行一种过程来看 IO.SYS MSDOS.SYS CONFIG.SYS COMMAND.COM AUTOEXEC.BAT 这五个文献是开机五个应当有文献顺序 电脑脑启动流程是指从给电脑加电到装载完操作系统过程,这个过程涉及电脑硬件和软件一系列操作。对启动流程理解,有助于在电脑发生故障时分析、判断产生故障环节。 电脑从加电启动到启动成功,重要经历了开机、加电自检、检测显卡BIOS、显示BIOS信息、检测CPU、检测内存、检测原则设备、检测即插即用设备、显示原则设备参数、按指定启动顺序启动系统、执行IO.SYS和MSDOS.SYS系统文献、执行COMM
2、AND.COM等其她系统文献、读取Windowns初始化文献、启动成功。 一方面让咱们来理解某些基本概念。第一种是人们非常熟悉BIOS(基本输入输出系统),BIOS是直接与硬件打交道底层代码,它为操作系统提供了控制硬件设备基本功能。BIOS涉及有系统BIOS(即常说主板BIOS)、显卡BIOS和其他设备(例如IDE控制器、SCSI卡或网卡等)BIOS,其中系统BIOS是本文要讨论主角,由于计算机启动过程正是在它控制下进行。BIOS普通被存储在ROM(只读存储芯片)之中,虽然在关机或掉电后来,这些代码也不会消失。 第二个基本概念是内存地址,假设咱们机器中装有32MB,这些内存每一种字节都
3、被赋予了一种地址,以便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处。 引导过程 打开计算机机电源后到计算机准备接受你发出命令之间计算机所运营过程称为引导(Boot)过程。咱们懂
4、得,当关闭电源后,RAM数据将丢失,因而,计算机不是用RAM来保持计算机基本工作指令,而是使用此外办法将操作系统文献加载到RAM中,再由操作系统接管对机器控制。这是引导过程中一种重要某些。总说来,引导过程有下面几种环节: ① 加电––––打开电源开关,给主板和内部电扇供电。 ② 启动引导程序––––CPU开始执行存储在ROM BIOS中指令。 ③ 开机自检––––计算机对系统重要部件进行诊断测试。 ④ 加载操作系统––––计算机将操作系统文献从磁盘读到RAM中。 ⑤ 检查配备文献,定制操作系统运营环境––––读取配备文献,依照顾客设立对操作系统进行定制。 ⑥ 准备读取命令和数据––
5、––计算机等待顾客输入命令和数据。 (一) 加电 引导过程第一步就是通电。电扇开始运转,电源批示灯应当变亮,否则阐明系统电源供应有问题,或是主板等部件和机箱发生短路。 (二) 启动引导程序 CPU是从内存地址FFFF0H处开始执行指令,从前面简介可知,这个地址事实上在系统BIOS地址范畴内,无论是哪家公司 BIOS,放在这里只是一条跳转指令,跳到系统BIOS中真正启动代码处。 (三) 开机自检 系统BIOS启动代码一方面要做事情就是进行POST(Power-On Self Test,加电后自检),POST重要任务是检测系统中某些核心设备与否存在和能否正常工作,例如内存和显卡等设备。
6、由于POST是最早进行检测过程,此时显卡还没有初始化,如果系统BIOS在进行POST过程中发现了某些致命错误,例如没有找到内存或者内存有问题(此时只会检查640K常规内存),那么系统BIOS就会直接控制喇叭发声来报告错误。正常状况下,POST过程进行得非常快。 POST结束之后,系统BIOS将查找显卡BIOS并调用它初始化代码,由显卡BIOS来初始化显卡,此时多数显卡都会在屏幕上显示出某些初始化信息,简介 生产厂商、图形芯片类型等内容。系统BIOS接着会查找其她设备BIOS程序,找到之后同样要调用这些BIOS内部初始化代码来初始化有关设备。 查找完所有其她设备BIOS之后,系统BIOS将
7、显示出它自己启动画面,其中涉及系统BIOS类型、序列号和版本号等内容。然后检测和显示CPU类型和工作频率,然后开始测试所有RAM,并同步在屏幕上显示内存测试进度。 内存测试通过之后,系统BIOS将开始检测系统中安装某些原则硬件设备,涉及硬盘、CD-ROM、串口、并口、软驱等设备,此外绝大多数较新版本系统BIOS在这一过程中还要自动检测和设立内存定期参数、硬盘参数和访问模式等。 原则设备检测完毕后,系统BIOS内部支持即插即用代码将开始检测和配备系统中安装即插即用设备,每找到一种设备之后,系统BIOS都会在屏幕上显示出设备名称和型号等信息,同步为该设备分派中断、DMA通道和I/O端口等资源。
8、 通过上面几步,所有硬件都已经检测配备完毕,多数系统BIOS会重新清屏并在屏幕上方显示出一种表格,其中概略地列出了系统中安装各种原则硬件设备,以及它们使用资源和某些有关工作参数。 接下来系统BIOS将依照CMOS配备更新ESCD(Extended System Configuration Data,扩展系统配备数据),ESCD是系统BIOS用来与操作系统互换硬件配备信息一种手段。普通ESCD数据只在系统硬件配备发生变化后才会更新,因此不是每次启动机器时咱们都可以看到“Update ESCD… Success”这样信息。 (四) 加载操作系统 在POST成功之后,系统BIOS启动代码将进
9、行它最后一项工作,即依照顾客指定启动顺序从软盘、硬盘或光驱启动,定位并加载操作系统文献。一方面计算机查找两个操作系统文献:Io.sys和Msdos.sys。如果这两个文献不存在,引导过程会显示如下信息:“Non-system disk or disk error”或者“Invalid system disk”。 提示:如果设定启动顺序是先软盘后硬盘,浮现上述提示时要检查一下软驱中与否放是系统盘(包括上述系统文献)。如果不是系统盘,可将软盘取出,在按任意键后,计算机将从下一种驱动器(硬盘)查找系统文献。 然后,微解决器将试图加载此外一种操作系统文献C。如果加载失败(C文献不存在或版本不对),
10、会浮现故障信息:“Bad or missing command interpreter”,并且你发出所有命令计算机都无法执行,由于C是专门用来解释这些命令。 (五) 检查配备文献并定制操作系统运营环境 在引导过程初期,计算机通过检查CMOS中信息对硬件作初始化等工作。但具 体到不同操作系统中,计算机还需要更多配备信息来对的使用所有设备并创立个性化运营环境。 咱们以DOS和Windows两种惯用PC操作系统为例,在DOS中咱们常通过创立并编辑Autoexec.bat文献实现开机后自动执行某些命令,例如设立硬盘缓冲区大小、自动启动中文环境等;在另一种文献Config.sys中可以加载鼠标、
11、光驱、声卡等设备DOS驱动程序等,使在DOS中可以使用这些设备。在Windows中对运营环境进行配备办法更多,例如修改注册表,编辑System.ini、Win.ini等系统配备文献,或将但愿启动完Windows后及时执行内容放入Windows启动(Startup)组中。 (六) 准备接受命令和数据 当计算机准备好接受命令时就结束了引导过程。普通在引导结束后,计算机会显示操作系统屏幕或提示符。如果你使用是Windows,那么就会看到Windows桌面;如果使用是DOS,就会看到操作系统提示符(如C:\>;A:\>等)。 上面简介整个过程便是计算机在打开电源开关(或按Reset键)进行冷启动
12、时所要完毕引导工作。如果咱们在DOS下按Ctrl+Alt+Del组合键(或从Windows中选取重新启动计算机)来进行热启动,那么POST过程将被跳过去,此外检测CPU和内存测试也不会再进行。咱们可以看到,无论是冷启动还是热启动,系统BIOS都一次又一次地重复进行着这些咱们平时并不太注意事情,然而正是这些单调环节为咱们可以正常使用电脑提供了基本。 目录 1、预引导(Pre-Boot)阶段 2、引导阶段 3、加载内核阶段 4、初始化内核阶段 5、登陆 一、预引导阶段 在按下计算机电源使计算机启动, 并且在Windows XP操作系统启动之前这段时间, 咱们称之为
13、预引导(Pre-Boot)阶段, 在这个阶段里,计算机一方面运营Power On Self Test(POST), POST检测系统总内存以及其她硬件设备现状。 如果计算机系统BIOS(基本输入/输出系统)是即插即用, 那么计算机硬件设备将通过检查以及完毕配备。 计算机基本输入/输出系统(BIOS)定位计算机引导设备, 然后MBR(Master Boot Record)被加载并运营。 在预引导阶段,计算机要加载Windows XPNTLDR文献。 二、引导阶段 Windows XP Professional引导阶段包括4个小阶段。 一方面,计算机要通过初始引导
14、加载器阶段(Initial Boot Loader), 在这个阶段里,NTLDR将计算机微解决器从实模式转换为32位平面内存模式。 在实模式中,系统为MS-DOS保存640kb内存,别的内存视为扩展内存, 而在32位平面内存模式中,系统(Windows XP Professional)视所有内存为可用内存。 接着,NTLDR启动内建mini-file system drivers, 通过这个环节,使NTLDR可以辨认每一种用NTFS或者FAT文献系统格式化分区, 以便发现以及加载Windows XP Professional, 到这里,初始引导加载器阶段就结束了。
15、 接着系统来到了操作系统选取阶段, 如果计算机安装了不止一种操作系统(也就是多系统), 并且对的设立了boot.ini使系统提供操作系统选取条件下, 计算机显示屏会显示一种操作系统选单, 这是NTLDR读取boot.ini成果。 三、加载内核阶段 在加载内核阶段,ntldr加载称为Windows XP内核ntokrnl.exe。 系统加载了Windows XP内核但是没有将它初始化。 接着ntldr加载硬件抽象层(HAL,hal.dll),然后, 系统继续加载HKEY_LOCAL_MACHINE\system键, NTLDR读取select键来决定哪一种
16、Control Set将被加载。 控制集中包括设备驱动程序以及需要加载服务。 NTLDR加载HKEY_LOCAL_MACHINE\system\service\...下start键值为0最底层设备驱动。 当作为Control Set镜像Current Control Set被加载时, ntldr传递控制给内核,初始化内核阶段就开始了。 四、初始化内核阶段 在初始化内核阶段开始时候, 彩色Windows XPlogo以及进度条显示在屏幕中央, 在这个阶段,系统完毕了启动4项任务: 内核使用在硬件检测时收集到数据来创立了HKEY_LOCAL_MACHINE\HAR
17、DWARE键。 内核通过引用HKEY_LOCAL_MACHINE\system\Current默认值复制Control Set来创立了Clone Control Set。 Clone Control Set配备是计算机数据备份,不涉及启动中变化,也不会被修改。 系统完毕初始化以及加载设备驱动程序,内核初始化那些在加载内核阶段被加载底层驱动程序, 然后内核扫描HKEY_LOCAL_MACHINE\system\CurrentControlSet\service\...下start键值为1设备驱动程序。 这些设备驱动程序在加载时候便完毕初始化,如果有错误发生,内核使用E
18、rrorControl键值来决定如何解决, 值为3时,错误标志为危机/核心,系统初次遇到错误会以LastKnownGood Control Set重新启动, 如果使用LastKnownGood Control Set启动依然产生错误,系统报告启动失败,错误信息将被显示, 系统停止启动;值为2时错误状况为严重,系统启动失败并且以LastKnownGood Control Set重新启动, 如果系统启动已经在使用LastKnownGood值,它会忽视错误并且继续启动; 当值是1时候错误为普通,系统会产生一种错误信息, 但是依然会忽视这个错误并且继续启动;当值是0时候忽视,系
19、统不会显示任何错误信息而继续运营 Session Manager启动了Windows XP高档子系统以及服务, Session Manager启动控制所有输入、输出设备以及访问显示屏屏幕Win32子系统以及Winlogon进程, 初始化内核完毕。 五、登陆 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,完毕这一环节后, 系统才意味着已经成功引导了。






