智慧沃家PC端

你对这个回答的评价是

这块芯爿的存放寿命中存储的是在电脑开启时检测、初始化系统设备、装入操作系统并调度操作系统向硬件发出的指令,是软件与硬件之间的桥梁或者说是转换器。

可以这么理解:没有这个BIOS软件无法控制硬件。

BIOS可不是直接装在主板上的它是一块芯片的存放寿命,通过主板上嘚一个插槽装上去的

你对这个回答的评价是

BIOS——Basic Input Output System,译为基本输入输出系统主要用于计算机开机过程中各种硬件设备的初始化和检测。

BIOS程序存放在主板的一个只读存储器中不需要供电就可保持数据不丢失。

CMOS是BIOS设置的结果其存放于南桥芯片的存放寿命内集成的存储器中,需要不间断供电才能保持其数据不丢失

你对这个回答的评价是?

bios 是计算机ROM芯片的存放寿命的程序吧

你对这个回答的评价是?

下载百喥知道APP抢鲜体验

使用百度知道APP,立即抢鲜体验你的手机镜头里或许有别人想知道的答案。

VIP专享文档是百度文库认证用户/机構上传的专业性文档文库VIP用户或购买VIP专享文档下载特权礼包的其他会员用户可用VIP专享文档下载特权免费下载VIP专享文档。只要带有以下“VIP專享文档”标识的文档便是该类文档

VIP免费文档是特定的一类共享文档,会员用户可以免费随意获取非会员用户需要消耗下载券/积分获取。只要带有以下“VIP免费文档”标识的文档便是该类文档

VIP专享8折文档是特定的一类付费文档,会员用户可以通过设定价的8折获取非会員用户需要原价获取。只要带有以下“VIP专享8折优惠”标识的文档便是该类文档

付费文档是百度文库认证用户/机构上传的专业性文档,需偠文库用户支付人民币获取具体价格由上传人自由设定。只要带有以下“付费文档”标识的文档便是该类文档

共享文档是百度文库用戶免费上传的可与其他用户免费共享的文档,具体共享方式由上传人自由设定只要带有以下“共享文档”标识的文档便是该类文档。

前一篇文已经说过BIOS是个程序()存储在BIOS芯片的存放寿命中,而现在的新式电脑用的基本都是UEFI启动早期的过渡电脑用的都是EFI启动。其实EFI或UEFI的一部分也是存储在一个芯片嘚存放寿命中由于它们在表面形式、基本功能上和BIOS差不多,所以习惯上我们也把存储EFI/UEFI的芯片的存放寿命叫做EFI/UEFI BIOS芯片的存放寿命EFI/UEFI也叫做EFI/UEFI BIOS,泹在实际上它们和BIOS根本是不一样的所以最好还是把后面的“BIOS”尾巴去掉为好,下面就来具体谈一下BIOS、EFI和UEFI

前篇文指出BIOS用于计算机硬件自檢、CMOS设置、引导操作系统启动、提供硬件I/O、硬件中断等4项主要功能,因此BIOS程序可以分为若干模块主要有Boot Block引导模块、CMOS设置模块、扩展配置數据(ESCD)模块、DMI收集硬件数据模块,其中引导模块直接负责执行BIOS程序本身入口、计算机基本硬件的检测和初始化ESCD用于BIOS与OS交换硬件配置数據,DMI则充当了硬件管理工具和系统层之间接口的角色通过DMI,用户可以直观地获得硬件的任何信息CMOS设置模块就是实现对硬件信息进行设置,并保存在CMOS中是除了启动初始化以外BIOS程序最常用的功能。

BIOS本身是汇编语言代码是在16位实模式下调用INT 13H中断执行的,由于x86-64是一个高度兼嫆的指令集也为了迁就BIOS的16位实模式的运行环境,所以即使现在的CPU都已是64位如果还是在BIOS启动(基本见于09年以前的主板),在开机时仍然嘟是在16位实模式下执行的16位实模式直接能访问的内存只有1MB,就算你安了4G、8G或者16G还是32G内存到了BIOS上一律只先认前1MB。在这1MB内存中前640K称为基夲内存,后面384K内存留给开机必要硬件和各类BIOS本身使用了解了这些,下面谈一下BIOS启动计算机的具体过程

当按下电源开关时,电源就开始姠主板和其他设备供电这时电压还不稳定,在早期的南北桥主板上由主板北桥向CPU发复位信号,对CPU初始化;稳定电压后复位信号便撤掉而对于现在的单南桥主板,则由CPU自身调整稳定电压达到初始化的目的当电压稳定后,CPU便在系统BIOS保留的内存地址处执行跳转BIOS起始处指令开始执行POST自检。

在POST自检中BIOS只检查系统的必要核心硬件是否有问题,主要是CPU、640K基本内存、显卡是否正常PS/2键盘控制器、系统时钟是否有錯误等等。由于POST检查在显卡初始化以前因此在这个阶段如发生错误,是无法在屏幕上显示的不过主板上还有个报警扬声器,而且如果主板的8255外围可编程接口芯片的存放寿命没有损坏的话POST报警声音一定是会出来的。可以根据报警声的不同大致判断错误所在一般情况下,一声短“嘀”声基本代表正常启动不同的错误则是不同的短“嘀”声和长“嘀”声组合。POST自检结束后BIOS开始调用中断完成各种硬件初始化工作。

硬件初始化工作中主要说明两点,首先经过POST检测后电脑终于出现了开机启动画面,这就是已经检测到了显卡并完成了初始囮但是请注意,由于BIOS是在16位实模式运行因此该画面是以VGA分辨率(640*480,纵横比4:3)显示的因为实模式最高支持的就是VGA。以前的小14-17寸CRT显示器甴于都是4:3比例最高分辨率也比较低,因此这个开机启动画面没有什么违和感但现在的液晶显示器基本上都是宽屏16:9的,分辨率也较高洇此在这样的显示屏下,启动画面上的一切东西显示都可以说“惨不忍睹”——图形被拉长字体很大很模糊,可以很明显看到显示字体嘚锯齿第二,BIOS只识别到由主引导记录(MBR)初始化的硬盘之所以说明这点,是因为后续的EFI或UEFI采用了一种新的GUID磁盘分区系统(GPT)格式这種硬盘在BIOS下是无法识别的。硬件全部初始化完毕后接下来进入更新ESCD阶段。

在ESCD更新阶段中BIOS将对存储在CMOS中和操作系统交换的硬件配置数据進行检测,如果系统硬件发生变动则会更新该数据,否则不更新保持原状不变ESCD检测或更新结束后,BIOS将完成最后一项工作就是启动操莋系统。

最后这一步中BIOS根据CMOS中用户指定的硬件启动顺序,读取相应设备的启动或引导记录引导相应设备上的操作系统启动,进入操作系统此后便由操作系统接替BIOS负责硬件和软件间的相互通信。如果发现所有硬件都没有能引导操作系统的记录则会在屏幕上显示相应错誤信息,并将电脑维持在16位实模式

虽然BIOS作为电脑加电启动所必不可少的部分,但是从其于1975年诞生之日起近30余年16位汇编语言代码,1M内存尋址调用中断一条条执行的理念和方式竟然一点都没有改变,虽然经各大主板商不懈努力BIOS也有了ACPI、USB设备支持,PnP即插即用支持等新东西但是这在根本上没有改变BIOS的本质,而英特尔为了迁就这些旧技术不得不在一代又一代处理器中保留着16位实模式(否则根本无法开机的)。但是英特尔在2001年开发了全新的安腾处理器,采用IA-64架构并推出了全新的EFI。后来证明安腾处理器、IA-64架构没有推广开来,而EFI和后继的UEFI卻发扬光大成为现在电脑的主要预启动环境。

Interface的词头缩写直译过来就是可扩展固件接口,它是用模块化、高级语言(主要是C语言)构建的一个小型化系统它和BIOS一样,主要在启动过程中完成硬件初始化但它是直接利用加载EFI驱动的方式,识别系统硬件并完成硬件初始化彻底摒弃读各种中断执行。EFI驱动并不是直接面向CPU的代码而是由EFI字节码编写成,EFI字节码是专用于EFI的虚拟机器指令需要在EFI驱动运行环境DXE丅解释运行,这样EFI既可以实现通配又提供了良好的兼容。此外EFI完全是32位或64位,摒弃16位实模式在EFI中就可以实现处理器的最大寻址,因此可以在任何内存地址存放任何信息另外,由于EFI的驱动开发非常简单基于EFI的驱动模型原则上可以使EFI接触到所有硬件功能,在EFI上实现文件读写网络浏览都是完全可能的。iBIOS上的的CMOS设置程序在EFI上是作为一个个EFI程序来执行的,硬件设置是硬件设置程序、而启动管理则是另一個程序保存CMOS又是另一个程序,虽然它们在形式的Shell上是在一起的

EFI在功能上完全等同于一个轻量化的OS,但是EFI在制定时就定位到不足以成为專业OS的地位上首先,它只是一个硬件和操作系统间的一个接口;其次EFI不提供中断访问机制,EFI必须用轮询的方式检查并解释硬件较OS下嘚驱动执行效率较低,最后EFI只有简单的存储器管理机制,在段保护模式下只将存储器分段所有程序都可以存取任何一段位置,不提供嫃实的保护服务伴随着EFI,一种全新的GUID磁盘分区系统(GPT)被引入支持传统MBR磁盘只能存在4个主分区,只有在创建主分区不足4个时可以建竝一个扩展分区,再在其上建立被系统识别的逻辑分区逻辑分区也是有数量的,太多的逻辑分区会严重影响系统启动MBR硬盘分区最大仅支持2T容量,对于现在的大容量硬盘来说也是浪费GPT支持任意多的分区,每个分区大小原则上是无限制的但实际上受到OS的规定限制不能做箌无限,不过比MBR的2T限制是非常重要的进步GPT的分区类型由GUID表唯一指定,基本不可能出现重复其中的EFI系统分区可以被EFI存取,用来存取部分驅动和应用程序虽然这原则上会使EFI系统分区变得不安全,但是一般这里放置的都是些“边缘”数据即使其被破坏,一般也不会造成严偅后果而且也能够简单的恢复回来。

当EFI发展到1.1的时候英特尔决定把EFI公之于众,于是后续的2.0吸引了众多公司加入EFI也不再属于英特尔,洏是属于了Unified EFI Form的国际组织EFI在2.0后也遂改称为UEFI,UEFI其中的EFI和原来是一个意思,U则是Unified(一元化、统一)的缩写所以UEFI的意思就是“统一的可扩展凅件接口”,与前身EFI相比UEFI主要有以下改进:

首先,UEFI具有完整的图形驱动功能之前的EFI虽然原则上加入了图形驱动,但为了保证EFI和BIOS的良好過渡EFI多数还是一种类DOS界面(仍然是640*480VGA分辨率),只支持PS/2键盘操作(极少数支持鼠标操作)不支持USB键盘和鼠标。到了UEFI则是拥有了完整的圖形驱动,无论是PS/2还是USB键盘和鼠标UEFI一律是支持的,而且UEFI在显卡也支持GOP VBIOS的时候显示的设置界面是显卡高分辨率按640*480或显示,因此画面虽小泹很清楚但是这样会导致屏幕周围大片留黑,不过鱼和熊掌不可兼得除非UEFI默认窗口大小也是最高分辨率

其次,UEFI具有一个独特的功能咹全启动,而EFI是没有安全启动的安全启动(Secure Boot),实际上通俗的解释是叫做固件验证开启UEFI的安全启动后,主板会根据TPM芯片的存放寿命(戓者CPU内置的TPM)记录的硬件签名对各硬件判断只有符合认证的硬件驱动才会被加载,而Win8以后的Windows则是在操作系统加载的过程中对硬件驱动继續查签名符合Windows记录的硬件才能被Windows加载,这在一定程度上降低了启动型程序在操作系统启动前被预加载造成的风险但是这也会造成系统咹装变得垄断

无论EFI还是UEFI,都必须要有预加载环境、驱动执行环境、驱动程序等必要部分组成为了支持部分旧设备(如在UEFI下挂载传统MBR硬盘,不支持UEFI启动的显卡在UEFI下仍然支持运行等)还需要一个CSM兼容性支持模块、EFI或UEFI都是仅支持GPT磁盘引导系统的,下面就具体谈一下EFI或UEFI启动计算機的过程

一般地,预加载环境和驱动执行环境是存储在UEFI(UEFI BIOS)芯片的存放寿命中的当打开电源开关时,电脑的主要部件都开始有了供电与BIOS不同的是,UEFI预加载环境首先开始执行负责CPU和内存(是全部容量)的初始化工作,这里如出现重要问题电脑即使有报警喇叭也不会響,因为UEFI没有去驱动8255发声不过预加载环境只检查CPU和内存,如果这两个主要硬件出问题屏幕没显示可以立即确定,另外一些主板会有提供LED提示可根据CPU或内存亮灯大致判断故障。

CPU和内存初始化成功后驱动执行环境(DXE)载入,当DXE载入后UEFI就具有了枚举并加载UEFI驱动程序的能仂,在此阶段UEFI会枚举搜索各个硬件的UEFI驱动并相继加载,完成硬件初始化工作这相比BIOS的读中断加载速度会快的多,同样如加载显卡的UEFI驱動成功电脑也会出现启动画面,硬件驱动全部加载完毕后最后同BIOS一样,也得去启动操作系统

在启动操作系统的阶段,同样是根据启動记录的启动顺序转到相应设备(仅限GPT设备,如果启动传统MBR设备则需要打开CSM支持)的引导记录,引导操作系统并进入这里需要注意嘚是,UEFI在检测到无任何操作系统启动设备时会直接进入UEFI设置页面,而不是像BIOS那样黑屏显示相关信息

综上对BIOS和UEFI启动计算机过程的叙述,鈳以概括为:BIOS先要对CPU初始化然后跳转到BIOS启动处进行POST自检,此过程如有严重错误则电脑会用不同的报警声音提醒,接下来采用读中断的方式加载各种硬件完成硬件初始化后进入操作系统启动过程;而UEFI则是运行预加载环境先直接初始化CPU和内存,CPU和内存若有问题则直接黑屏其后启动PXE采用枚举方式搜索各种硬件并加载驱动,完成硬件初始化之后同样进入操作系统启动过程。

此外BIOS是16位汇编语言程序,只能運行在16位实模式可访问的内存只有1MB,而UEFI是32位或64位高级语言程序(C语言程序)突破实模式限制,可以达到要求的最大寻址

我要回帖

 

随机推荐