上微机原理课老师说到了关于bois的一些相关知识,忽然想起来以前在书中看到过相关的内容,过了几个月就忘干净了,赶紧写一篇捋一捋。
bios
关于bois,下面是百度搜出来给的解释
bois:英文"Basic Input Output System"的缩略词,直译过来后中文名称就是"基本输入输出系统"。在IBM PC兼容系统上,是一种业界标准的固件接口。
bois,是一组固化在计算机内主板上一个ROM芯片上的程序,它保存着计算机最重要的基本输入输出的程序、开机后自检程序和系统自启动程序。
主要负责再电脑开机时间侧硬件功能和引导操作系统启动的功能。
-
启动原理
bois首先对CPU初始化,然后跳转BIOS启动除进行POST自检,如果有错误,则会提醒(电脑报警),采用读中断的方试加载各种硬件,完成硬件初始化后,进入操作系统启动的过程。 -
引导开机图
-
功能和程序组成
bois本身是汇编语言代码。计算机硬件自检、CMOS设置、引导操作系统启动、提供硬件I/O、硬件中断等主要功能。
因此,bios程序可以分成几个模块:主要有Boot Block引导模块,CMOS设置模块,扩展配置数据模块。DMI硬件收集硬件数据模块。其中引导模块直接负责执行BIOS 程序本身入口、计算机基本硬件的检测和初始化,ESCD用于BIOS与OS交换硬件配置数据。
DMI则充当了硬件管理工具和系统层之间接口的角色,通过DMI,用户可以直观地获得硬件的任何信息。
CMOS设置模块就是实现对硬件信息进行设置,并保存在CMOS中,这是除了启动初始化以外BIOS程序最常用的功能。 -
具体过程
下面具体说一下bios启动计算机的具体过程:
当摁下电脑电源开关时,电源就开始向主板和其他设备供电,这时电压还不稳定。
在早期的南北桥主板上,由主板北桥向CPU发复位信号,对CPU初始化;稳定电压后复位信号便撤掉。而对于现在的单南桥主板,则由CPU自身调整,稳定电压达到初始化的目的。
当电压稳定后, CPU便在系统BIOS保留的内存地址处执行跳转BIOS 起始处指令,开始执行POST自检。
在POST自检中,BIOS只检查系统的必要核心硬件是否有问题,主要是CPU、640K 基本内存、显卡是否正常,PS/2 键盘控制器、系统时钟是否有错误。
由于POST检查在显卡初始化以前,因此在这个阶段如发生错误,是无法在屏幕上显示的,不过主板上还有个报警扬声器,POST报警声音是会出来的。
硬件初始化中,说两点。首先,经过POST检测后,电脑出现了开机画面,这就是检测到了显卡并完成了初始化。第二,bios只识别到由主引导记录初始化的硬盘。(P.S:后面的Uefi采用了新的GUID磁盘分区系统(GPT)格式,这种硬盘在bios下是无法识别的)
Uefi
Uefi:统一的可扩展固件接口。uefi是新式的bios。
首先,Uefi具有完整的图形驱动功能,其次,Uefi具有安全启动功能
新式电脑大都使用了Uefi引导系统,引导时省去了bios自检过程,所以可以加快开机速度。
-
uefi的启动原理
Uefi是运行预加载,直接初始化CPU和内存,若有问题,则直接黑屏,其后启动PXE【即预启动执行环境】采用枚举的方式搜索各种硬件并加载驱动,完成硬件初始化,之后同样进入操作系统启动过程。 -
引导开机图
-
具体过程
UEFI ,由预加载环境、驱动执行环境、驱动程序等必要部分组成。
为了支持部分旧设备, 还需要一一个 CSM兼容性支持模块、EFI 或UEFI都是仅支持GPT磁盘引导系统的。
一般地,预加载环境和驱动执行环境是存储在UEFI ( UEFI BIOS )芯片中的,当打开电源开关时。电脑的主要部件都开始有了供电。
与BIOS 不同的是,Uefi预加载环境首先开始执行,负责CPU和内存(是全部容量)的初始化工作,这里如果出现问题,电脑即使有报警喇叭也不会响,因为UEFI 没有去驱动8255发声。
但是,预加载环境只检查CPU和内存,如果它们两个有了问题,屏幕没显示可以立即确定,另外一些主板会有提供提示灯提示,可根据CPU或内存亮灯大致判断故障。
CPU和内存初始化成功后,驱动执行环境( DXE )载入,当DXE载入后,Uefi就具有了枚举并加载UEFI驱动程序的能力。在此阶段,Uefi会枚举搜索各个硬件的Uefi驱动并相继加载,完成硬件初始化工作。这相比bios的读中断加载速度会快的多,
同样。如加载显卡的Uefi驱动成功,电脑也会出现启动画,硬件驱动全部加载完毕后,最后同bios一样,开始启动操作系统。
最后,总结一下
使用UEFI好处
- 安全性
Uefi启动需要一个独立的分区,它将系统启动文件和操作系统本身隔离,可以更好的保护系统的启动。即使系统启动出错需要重新配置,只要简单对启动分区重新进行配置即可。
而且,对于win8以上系统,它利用Uefi安全启动以及固件中存储的证书与平台固件之间创建一个信任源,可以确保在加载操作系统之前,近能够执行已签名并获得认证的“已知安全”代码和启动加载程序,可以防止用户在根路径中执行恶意代码。 - 启动灵活
efi启动和Grub启动类似,在启动的时候可以调用efiShell,在此可以加载指定硬件驱动,选择启动文件。比如默认启动失败,在efiShell加载U盘 上的启动文件继续启动系统 - 支持容量更大
传统的BIOS启动由于MBR的限制,默认是无法弓导超过2.1TB以上的硬盘的。随着硬盘价格的不断走低,2.1TB以 上的硬盘会逐渐普及,因此Uefi启动也就称为时下越来越主流的启动方式了。 - 分区不受限制
- 扩展性更好