估计很多小白看不懂这篇文章,但还是建议你硬着头皮看完。本文主要讲解这些BIOS对计算机启动问题的理解将有利于启动模式。
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、因此,硬件中断等四大功能BIOS程序可分为多个模块,主要包括Boot Block引导模块、CMOS设置模块,扩展配置数据(ESCD)模块、DMI收集硬件数据模块,指导模块直接负责执行BIOS程序本身的入口,计算机基本硬件的检测和初始化,ESCD用于BIOS与OS交换硬件配置数据,DMI通过硬件管理工具和系统层之间的界面,它起到了作用DMI,用户可以直观地获取任何硬件信息,CMOS设置模块是设置和保存硬件信息CMOS中,除启动初始化外,除启动初始化BIOS最常用的程序功能。
BIOS语言代码本身语言代码,在16位实际模式下调用INT 13H因为x86-64是一个高度兼容的指令集,也是为了迁就BIOS16位实模式的运行环境,所以即使是现在CPU都是64,如果还在的话BIOS启动(基本见09年前的主板),启动时仍在16位实际模式下执行。直接访问16位实模式的内存只有1MB,就算你安了4G、8G或者16G还是32G内存,到了BIOS上一个只先认前1MB。直接访问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年诞生以来,汇编语言代码16位,语言代码16位M虽然各大主板商不懈努力,但内存寻址、调用中断一个个执行的理念和方式并没有改变,BIOS也有了ACPI、USB设备支持,PnP即插即用支持等新事物,但它根本没有改变BIOS为了适应这些旧技术,英特尔不得不在一代又一代的处理器中保留16个真实模式(否则根本无法启动)。然而,英特尔在2001年开发了新的安腾处理器IA-64架构,推出全新EFI。然而,英特尔在2001年开发了新的安腾处理器IA-64架构,推出全新EFI。后来证明安腾处理器,IA-64架构没有推广,但是EFI和后继的UEFI然而,它已经成为计算机的主要预启动环境。
EFI,是Extensible Firmware Interface直译是一个可扩展的固件接口。它是一个由模块化和高级语言(主要是C语言)构建的小型系统BIOS同样,硬件初始化主要在启动过程中完成,但直接使用加载EFI驱动模式,识别系统硬件,完成硬件初始化,完全放弃阅读各种中断执行。EFI驱动不是直接面向的CPU代码,但由EFI编写字节码,EFI字节码是专用的EFI虚拟机器指令需要在EFI驱动运行环境DXE下面解释操作,这样EFI既能实现通配,又能提供良好的兼容性。此外,EFI完全是32或64,抛弃16位真实模式EFI可以实现处理器的最大搜索,因此可以在任何内存地址中存储任何信息。此外,EFI完全是32或64,抛弃16位真实模式EFI处理器现处理器的最大搜索,因此可以在任何内存地址中存储任何信息。此外,由于EFI基于EFI原则上,驱动模型可以使EFI接触所有硬件功能EFI网络浏览完全有可能实现文件读写。i,BIOS上的的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国际组织,EFI2.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或1024*768显示,所以画面虽小但很清晰,但这样会导致屏幕周围大片留黑,但鱼与熊掌不能兼得,除非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自检,如果这个过程有严重错误,电脑会用不同的报警声提醒,然后用 读中