计算机启动过程读配置,计算机启动过程详解

计算机启动过程详解

01

System Power On(启动电源开关)

02 Early

Chipset Initialization(早期芯片初始化,在主板上)

03 Memory

Detection Test(内存条检测)

04

Decompressing BIOS Image To

RAM(把计算机的基本输入/输出指令解压到直接存储器中)

05

Initializing Keyboard Controller

06 Test VGA

BIOS

07 Processor

Initialization

08 Testing

RTC

09

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是直接与硬件打交道的底层代码,它为操作系统提供了控制硬件设备的基本功能,BIOS包括有系统BIOS(即常说的主板BIOS)、显卡BIOS和其它设备的BIOS(例如:IDE控制器、SCSI卡、网卡等)。其中系统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(图形用户界面)部分的引导和初始化工作。

POST自检测过程大致分为:加电->CPU->ROM->BIOS->System

Clock->DMA->64KB RAM->IRQ->显卡等。

POST自检测代码含义是什么?当系统检测到相应的错误时,会以两种方式进行报告,即在屏幕上显示出错误信息或以报警声响次数的方式来指出检测到的故障。

CMOS

Battery Failed(CMOS电池失效)。

原因:说明CMOS电池的电力已经不足,请更换新的电池。

CMOS

Check SUM Error-Defaults

Loaded(CMOS执行全部检查时发现错误,因此载入预设的系统设定值)。

原因:通常发生这种状况都是因为电池电力不足所造成,所以不妨先换个电池试试看;如果问题依然存在的话,那就说明CMOS

RAM可能有问题,最好送回原厂处理。

Display Switch Is Set Incorrectly(显示开关配置错误)。

原因:较旧型的主板上有跳线可设定显示器为单色或彩色,而这个错误提示表示主板上的设定和BIOS里的设定不一致,重新设定即可。

Press

ESC To Skip Memory Test(内存检查,可按ESC键跳过)。

原因:如果在BIOS中并没有设定快速加电自检的话,那么开机就会执行内存的测试;如果你不想等待,可按ESC键跳过或是到BIOS中开启Quick

Power On Self Test。

Hard

Disk Initializing【Please Wait A

Moment...】(硬盘正在初始化Initialize动作,请等待片刻)。

原因:这种问题在较新的硬盘上根本看不到,但在较旧的硬盘上,其启动较慢,所以就会出现这个问题。

Hard

Disk Install Failure(硬盘安装失败)。

原因:硬盘的电源线、数据线可能未接好或者硬盘跳线不当而导致的错误(例如:一根数据线上的两个硬盘都设置为Master或Slave)。

Secondary Slave Hard Fail(检测从盘失败)。

原因:1.

CMOS设置不当(例如:没有从盘,但在CMOS中设有从盘);2.

硬盘的电源线、数据线可能未接好或者硬盘跳线设置不当。

Hard

Disk(s) Diagnosis Fail(执行硬盘诊断时发生错误)。

原因:这通常代表硬盘本身的故障,你可以先把硬盘接到另一台电脑上试一下,如果问题依旧,那只好送修了。

Floppy Disk(s) Fail或Floppy Disk(s) Fail(80)或Floppy Disk(s)

Fail(40)(无法驱动软驱)。

原因:软驱的排线是否接错或者松脱?电源线有没有接好?如果这些都没有问题,那就买个新的吧。

Keyboard Error Or No Keyboard Present(键盘错误或者未接键盘)。

原因:键盘连接线是否插好?连接线是否损坏?

Memory Test Fail(内存检测失败)。

原因:通常都是因为内存不兼容或故障所导致。

Override Enable-Defaults

Loaded(当前CMOS设定无法启动系统,载入BIOS预设值以启动系统)。

原因:可能是你在BIOS中的设定并不适合你的电脑(比如你的内存只能跑100MHz,但你让它跑133MHz),这时进入BIOS重新设定调整即可。

Press

TAB To Show POST Screen(按TAB键可以切换屏幕显示)。

原因:有一些OEM厂商会以自己设计的显示画面来取代BIOS预设的开机显示画面,而此提示就是要告诉使用者可以按TAB键来把厂商的自定义画面和BIOS预设的开机画面进行切换。

Resuming From Disk,Press TAB To Show POST

Screen(从硬盘恢复开机,按TAB键显示开机自检画面)。

原因:某些主板的BIOS提供了Suspend To

Disk(挂起到硬盘)的功能,当使用者以Suspend To

Disk的方式来关机时,那么在下次开机时就会显示此提示消息。

BIOS

ROM Checksum Error-System

Halted(BIOS程序代码在进行总和检查Checksum时发现错误,因此无法开机)。

原因:遇到这种问题通常是因为BIOS程序代码更新不完全所造成的,解决办法是重新刷写烧坏主板BIOS。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ava实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),可运行高分资源 Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值