百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

当你按下电源键后,电脑都在做什么?(详)

cac55 2024-12-24 11:04 24 浏览 0 评论

电脑从按下开关到显示桌面是很复杂的一个过程。

按下开关,主机电源的PS-ON信号就会被强制拉低,主电源开始启动工作,向主板送出+12V,+5V,+3.3V等主板正常工作所需要的电压。电扇开始运转,系统将电力供给到计算机中的各种设备,主板上的电源指示灯亮,并通电使鼠标亮起。

这时整个系统由BIOS控制,电压还不太稳定(几百毫秒),EC复位,芯片组(北桥)向CPU发送并保持一个重置(RESET)命令,使CPU初始化。

然后,芯片组(北桥)会等待电源发送一个POWER GOOD命令,电压稳定后,电源就会发出命令,芯片组会马上停止重置命令的发送,这时CPU会在BIOS中寻找一小段程序,从地址FFFF0H开始执行寻址指令。这个地址中会存储一条跳转指令,直接跳转到系统BIOS中真正的启动代码处,进行上电自检(POST,全称Power On Self Test)

POST检测系统中的一些关键设备是否存在和正常工作,例如CPU、内存、显卡、键鼠等等的硬件。由于POST是最早进行的检测过程,此时显卡还没有初始化,无法显示,如果系统BIOS在进行POST的过程中发现了一些致命错误,例如没有找到内存或者内存有问题,那么系统BIOS就会直接控制主板上的喇叭发声来报告错误。而如果一切正常,Award会响一声(短),而Ami不会响。在正常情况下,POST会进行的非常快,我们是难以感觉到这个过程的。

南北桥检测完后,系统BIOS会找到显卡BIOS,存放显卡BIOS的ROM地址在C0000H处,系统BIOS找到显卡BIOS之后调用它的代码,显卡初始化,显示屏上显示初始化信息,包括主板相关信息,主板的BIOS版本和编程日期等信息。该画面有时因为显示器反应慢的原因,我们无法看到。

但是一些品牌电脑启动后,屏幕往往只显示一个生产厂商的LOGO,而不显示电脑启动自检信息,这时一般可以按下TAB键,中断LOGO显示,而显示电脑自检信息。

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

查找完所有其他设备的BIOS之后,系统BIOS将显示出它自己的启动画面,其中包括系统BIOS的类型、序列号和版本号等内容。然后检测和显示CPU的类型和工作频率,然后开始测试所有的RAM,并同时在屏幕上显示内存测试的进度。内存因为BIOS设置的原因,有的会从0开始一直扫描到最大内存。如果你的电脑在BIOS中设置了快速自检,就会跳过内存的完全检测。

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

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

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

接下来加载DMI数据, 在加载过程中,如果CMOS电池电压过低不足以保存配置数据时,或者因为配置数据有误,会出现错误提示,要按F1才能继续。然后系统BIOS将根据CMOS配置更新ESCD(Extended System Configuration Data,扩展系统配置数据),ESCD是系统BIOS用来与操作系统交换硬件配置信息的一种手段。通常ESCD数据只在系统硬件配置发生改变后才会更新,所以不是每次启动机器时我们都能够看到“Update ESCD… Success”这样的信息。

硬件自检完成后,BIOS把控制权转交给下一阶段的启动程序。按照顺序将控制权依次转移给列表中的存储设备并依次读取这个设备的第一个扇区,即第一个512字节,如果这512个字节的最后两个字节是0x55和0xAA,表明这个设备可以用于启动;如果不是,表明设备不能用于启动,控制权于是被转交给"启动顺序"中的下一个设备。

在硬启动时,计算机的控制权需转交给硬盘的某个分区,这里分成三种情况:

1、 情况A:卷引导记录

四个主分区里面,只有一个是激活的。计算机会读取这个分区的主引导记录(MBR)中对应相第一个字节是不是0x80,如果是,说眀已经激活。之后,计算机会读取激活分区的第一个扇区,叫做"卷引导记录"(VBR)。

"卷引导记录"告诉计算机操作系统在这个分区里的位置。然后,计算机就会加载操作系统了。

2、 情况B:扩展分区和逻辑分区

随着硬盘越来越大,四个主分区已经不够了,需要更多的分区。但是,分区表只有四项,因此规定有且仅有一个区可以被定义成"扩展分区"(Extended partition)。

所谓"扩展分区",就是指这个区里面又分成多个区。这种分区里面的分区,就叫做"逻辑分区"(logical partition)。

计算机先读取扩展分区的第一个扇区,叫做"扩展引导记录"(EBR)。它里面也包含一张64字节的分区表,但是最多只有两项(也就是两个逻辑分区)。

3、 情况C:启动管理器

在这种情况下,计算机读取"主引导记录"前面446字节的机器码之后,不再把控制权转交给某一个分区,而是运行事先安装的"启动管理器"(boot loader),由用户选择启动哪一个操作系统。这时会出现选择菜单。

计算机的作系统位置已经确定,进入硬盘启动模式选择。选择后开始进入硬件检测。

在硬件检测阶段中,ntdetect.com将收集计算机硬件信息列表并将列表返回到NTLDR,这样做的目的是便于以后将这些硬件信息加入到注册表HKEY_LOCAL_MACHINE下的hardware中。检测完毕后,开始加载内核。

在加载内核阶段,ntldr加载称为Windows 内核的ntokrnl.exe。系统加载了Windows 内核但是没有将它初始化。接着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传递控制给内核,初始化内核阶段就开始了。在内核初始化阶段开始的时候,彩色的Windows XP的logo以及进度条显示在屏幕中央。

如果是Win7话会显示一个由64张图片组成的一小段视频,真实效果可见第一张图片。

在这个阶段,系完成了启动的4项任务:

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

内核通过引用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 高级子系统以及服务,Session Manager启动控制所有输入、输出设备以及访问显示器屏幕的Win32子系统以及Winlogon进程,初始化内核完毕。

驱动程序加载完成后,Windows做如下设置:1. 创建系统环境变量2. 启动 win32.sys ,这个是Windows子系统的内核模式部分。3. 启动 csrss.exe,这个是Windows子系统的用户模式部分。4. 启动 winlogon.exe5. 创建虚拟内存页面文件6. 对一些必要的文件进行改名,然后进入“欢迎使用”界面,系统文件无错误则正常进入桌面,系统文件有错误则报错蓝屏代码或直接自动重启。至此启动完毕。

相关推荐

小车五位自动循环往返控制_小车自动往返控制系统

需求描述:用三相异步电动机拖动一辆小车在A、B、C、D、E五点之间自动循环往返运行,小车初始在A点,按下启动按钮,小车依次前进到B、C、D、E点,并分别停止2s返回到A点停止。按下停止...

自动灌溉系统_自动灌溉系统by

需求描述:PLC时钟设定每日6:00、18:00自动启动灌溉系统,每次运行15分钟后停止;非定时时段按下手动灌溉按钮,立即启动并运行15分钟;土壤湿度传感器检测到湿润时,跳过本次定时灌溉...

主板ERP开启还是关闭好_主板设置erp是什么

主板功能的开启与关闭,本质是在“节能环保”和“使用便利”之间做选择。为帮你快速决策,先给出直接结论,再深入解析原理、影响及操作步骤,让你根据自身需求精准设置。一、直接结论:ERP功能如何选?...

新电脑必做5项设置!做完再玩,流畅安全多用三年

刚拿到新电脑,兴奋之余先别急着开机畅玩!做好以下这5大设置,能让你的爱机长期保持流畅如新,安全又省心。尤其是最后一招,很多老用户都不知道!1关闭隐私常规,杜绝数据偷跑新电脑首次开机进行系统初始化时,...

属于 PHP 开发者的 Supervisor 实用指南

属于PHP开发者的Supervisor实用指南在PHP开发中,我们经常需要运行一些后台进程:队列处理、长时间运行的脚本、WebSocket服务器等。这些进程可能会因为各种原因意外退出,手...

领导半夜12点微信派活?三句高情商回复,反手拿捏让他不敢再烦

友友们大家来啦!今天来和大家一起分享精彩话题老规矩先点赞再看文!0102别在这里害人了,现在能保住工作就烧高香了,再得瑟,明天早上去办离职0304很简单,把他一起拉上,每半小时打电话或语音汇报,一两次...

"零点黑科技!硬盘自动备份+离线神操作,服务器数据安全躺赢"

公司有一台服务器,数据库需要每天零点进行数据库备份,要求在本机备份一次,再在移动硬盘上异地备份一次。备份完成后硬盘自动离线。具体思路如下:数据库自动备份时间为每天0点,备份过程约需1分钟。0点时开启硬...

峰谷电:白天贵、晚上便宜,你家真的适合开通吗?

电费单又超预算了?别急着关掉空调,其实你可能错过了一个"电费打折"的机会——峰谷电。它就像电影院的日场和夜场票,白天贵、晚上便宜,聪明利用,电费真的能省下来。一、峰谷电是什么?峰谷电把...

电脑开机密码设置全指南:从基础到进阶的安全防护

在数字化时代,电脑存储着大量个人隐私和重要数据,设置开机密码是保护信息安全的第一道防线。本文将系统介绍Windows、macOS、Linux三大主流操作系统及BIOS层面的密码设置方法,同时涵盖密码管...

自动喷香机_香薰机自动喷香机

需求描述:PLC时钟设定每日9:00、14:00、18:00自动启动喷雾,每次喷雾3秒后停止;非定时时段按下手动喷雾按钮,立即喷雾3秒;香薰液缺液传感器检测到液位过低时,停止喷雾并亮报警...

macbook系统自动启动项在哪里查看

了解和管理MacBook的开机自动启动项,是优化系统启动速度和运行效率的好方法。下面我来为你介绍几种查看和管理这些启动项的方法。查看和管理MacBook启动项1.通过系统设置(最简单直接的方法)...

想让电脑自己到点开机和关机?这4个超实用的设置方法快收好!

嘿,你是不是也经常忙到忘记关电脑?或者早上想用电脑时发现还没开机?别慌,今天我就跟你分享几个超实用的方法,帮你轻松搞定电脑的定时开关机设置。不管你是电脑小白还是有点基础,这篇教程都能让你秒懂操作,省时...

定时关机这样操作小白也会 一招设定工作日关机 指定时间关机

在日常使用电脑的过程中,我们常常会遇到这样的情况:晚上睡觉前忘记手动关机,导致电脑整夜运行,既浪费电又缩短硬件寿命;或者在下载大文件时,需要等待很长时间才能完成,却不能一直守在电脑前,下载完成后也无法...

日本无线电操作证试题,这些问题你能答的上来吗?

一直以来,我们对于日本的业余无线电的印象都停留在“操作能力强,爱好者数目众多”上,然而我们对于他们的业余无线电体系所知甚少。日本业余无线电操作证的等级分作四级,最基本的四级操作证书具有8MHz以下、2...

你知道吗?单边带信号就像DNA分子一样!

我们在准备B级操作证书的过程中,避免不了的要接触到一个新的名词——SSB。单边带是传统AM模式的一种特殊的形式,在传送相同的信息的过程中,其占用的带宽仅为AM模式的一半,那么SSB模式到底是怎样的一种...

取消回复欢迎 发表评论: