传统的蓝白BIOS界面可以说是陪伴着很多玩家共同成长,不过在英特尔发布Sandy Bridge架构处理器的时候,传统BIOS也到了和我们说再见的时间,采用图形化界面的EFI以及UEFI很快就取代了传统BIOS成为了众多主板的标配,今天我们就一起来谈谈这个改变传统的EFI以及UEFI。

这样的传统BIOS界面现在已经和我们说再见了

什么是EFI和UEFI?

EFI是Extensible Firmware Interface(可扩展固件接口)的缩写,是由英特尔倡导推出的一种在类PC系统中替代BIOS的升级方案。与传统BIOS相比,EFI通过模块化、C语言的参数堆栈传递方式和动态链接的形式构建系统,较BIOS而言更易于实现,容错和纠错特性更强。

UEFI则是Unified Extensible Firmware Interface(统一可扩展固件接口),它是基于EFI 1.10标准为基础发展起来的,不过所有者并不是英特尔,而是一个名为Unified EFI Form的国际组织。UEFI是一种详细描述类型接口的标准,可以让PC从预启动的操作环境,加载到操作系统上。

UEFI采用的是图形化界面,与传统BIOS有很大区别

需要注意的是,虽然EFI与UEFI的叫法不同,但是两者在本质上是基本相同的。自2000年12月12日正式发布EFI 1.02标准后,EFI一直是作为代替传统的BIOS的先进标准而存在,拥有权在英特尔手中,而在2007年开始,英特尔将EFI标准的改进与完善工作交给Unified EFI Form进行全权负责,随后登场的EFI标准则正式更名为UEFI,以示区别。

因此UEFI是EFI的改良与发展,实际上前者相比后者在UGA协议、SCSI传输、USB控制还有I/O设备方面都作出了改进,还添加了网络应用程序接口、X64绑定、服务绑定等新内容。此外参与UEFI标准开发的并不仅仅有英特尔一家,而是包含了AMD、苹果、戴尔、惠普、IBM、联想、微软等多个龙头企业,因此UEFI在兼容性上有更好的表现,通用性更强。

UEFI相比传统BIOS的区别和优点在哪里?

与传统BIOS相比,UEFI对于新硬件的支持远超对方,其中最能体现这一点的就是我们可以在UEFI下使用2.2TB以上硬盘作为启动盘,而传统BIOS下这种大容量硬盘如不借助第三方软件则只能当作数据盘使用。

采用图形化界面的UEFI可以更直观地查看各种数据

另外UEFI内置图形驱动功能,可以提供一个高分辨率的图形化界面,用户进入后完全可以像在Windows系统下那样使用鼠标进行设置和调整,操作上更为简单快捷。同时由于UEFI使用的是模块化设计,在逻辑上可分为硬件控制与软件管理两部分,前者属于标准化的通用设置,而后者则是可编程的开放接口,因此主板厂商可以借助后者的开放接口在自家产品上实现各种丰富的功能,包括截图、数据备份 、硬件故障诊断、脱离操作系统进行UEFI在线升级等,功能上也要比传统BIOS更多、更强。

当然UEFI相比传统BIOS的优点并不仅仅是以上数点,实际上它还包括有如下特点:

- 编码99%都是由C语言完成;- 不再使用中断、硬件端口操作的方法,而采用了Driver/Protocol的方式;- 将不支持X86实模式,而直接采用Flat mode;- 不再输出单纯的二进制代码,改为Removable Binary Drivers模式;- 操作系统的启动不再是调用INT 19H中断,而是直接利用Protocol/Device Path实现;- 更方便第三方开发;

不过这些特点对于普通用户来说并没有什么实际意义,它们更多地是面向开发者,因此相关的内容这次就不展开叙述了。

UEFI主要由那几部分组成?

UEFI各组件之间的关系

那么现在我们稍微深入一点,看看UEFI主要构成部分。UEFI主要由初始化模块、驱动执行环境、驱动程序、兼容性支持模块、UEFI应用和GUID磁盘分区组成,其中初始化模块和驱动执行环境是UEFI的运行基础,通常被整合在主板的闪存芯片中,这点与传统BIOS是比较类似的。开机的时候初始化模块首先得到执行,负责CPU、主板芯片及存储设备的初始化工作,完成后则载入驱动执行环境,即Driver Execution Environment,简称DXE。

DXE完成载入后UEFI就可以进一步加载硬件的UEFI驱动程序,DXE通过枚举的方式加载各种总线及设备的驱动,而这些驱动程序则可以放置在系统的任意位置,只要确保其可以按顺序被正确枚举即可。硬件的UEFI驱动一般是放置在硬盘的UEFI专用分区中,只需要系统正确加载这个硬盘,对应的驱动就可以正常读取并应用。

因此在DXE的支持下,即使玩家给PC添加新的硬件,只要有对应的UEFI驱动,那么UEFI也可以轻松提供支持, 这一点是几乎宽展能力的传统BIOS所无法媲美的,也正是因为这个能力,UEFI可以轻松支持各种网络设备并联网,藉此实现无需进入系统即可进行在线升级UEFI的功能。

兼容性支持模块则是为了让不具备UEFI引导功能的操作系统也能在UEFI环境下顺利完成引导开机,这个兼容性支持模块将为UEFI提供类似于传统BIOS的系统服务,以此保证UEFI在技术上能有良好的过渡。而GUID磁盘分区则是在UEFI标准中引入的磁盘分区结构,与传统MBR分区相比,GUID磁盘分区突破了前者只允许4个主分区的限制,分区类型也改为了我们常说的GPT分区。

UEFI有什么缺点吗?

虽然现在UEFI已经基本取代传统BIOS,但是它并不是只有优点而没有缺点的。UEFI相比传统BIOS在硬件兼容性上有很大的提升,但是就自身的安全性来说,它相比传统BIOS可能还有所不如。首先UEFI的主程序和代码都整合在主板上的闪存芯片中 ,如果该芯片出现了故障,那么电脑就无法正常启动,这点与传统BIOS是基本相同的。

然而由于UEFI程序使用高级语言编写的,与使用汇编语言编写传统BIOS相比要更容易受到病毒的攻击,程序代码也更容易被改写,因此目前UEFI虽然已经被广泛使用,但是在安全性和稳定性上仍然有待提升。

取代传统BIOS的EFI和UEFI究竟是什么?的更多相关文章

  1. 对“传统BIOS”与“EFI/UEFI BIOS”的基本认识

    硬盘(MBR磁盘)分区基本认识+Windows启动原理 大家常会看到硬盘分区中这样的几种说法:系统分区.启动分区.活动分区.主分区.拓展分区.逻辑分区,MBR.PBR.DPT.主引导扇区等.尤其是看到 ...

  2. BIOS、EFI与UEFI详解

    https://blog.csdn.net/Scythe666/article/details/79708293

  3. 传统BIOS+UEFI 系统引导修复

    一.    去网上下载一款pe软件:BIOS+UEFI引导修复工具这个软件支持传统bios和最新的UEFI引导(1)进入PE环境(win也可以,不过引导损坏一般不能进win),打开软件         ...

  4. EFI、UEFI、MBR、GPT的区别

    UEFI.GPT.MBR是什么?这些专业术语不难理解,UEFI属于主板类名词,其作用类似于BIOS.GPT.MBR则属于硬盘类名词,它们的作用类似一艘航母的骨架,有了这个骨架,我们才可以进行细致到诸如 ...

  5. BIOS、MBR、UEFI和GPT关系

    很多用户在新买电脑,或是给已有电脑重装系统时都出现过怎么都无法引导U盘安装的情况.究其原因,还是没能搞清楚BIOS.MBR.UEFI和GPT的复杂关系.所以,今天小编就和大家分享一下它们之间的爱恨情仇 ...

  6. HAWQ取代传统数仓实践(十九)——OLAP

    一.OLAP简介 1. 概念 OLAP是英文是On-Line Analytical Processing的缩写,意为联机分析处理.此概念最早由关系数据库之父E.F.Codd于1993年提出.OLAP允 ...

  7. HAWQ取代传统数仓实践(十六)——事实表技术之迟到的事实

    一.迟到的事实简介 数据仓库通常建立于一种理想的假设情况下,这就是数据仓库的度量(事实记录)与度量的环境(维度记录)同时出现在数据仓库中.当同时拥有事实记录和正确的当前维度行时,就能够从容地首先维护维 ...

  8. HAWQ取代传统数仓实践(十三)——事实表技术之周期快照

    一.周期快照简介 周期快照事实表中的每行汇总了发生在某一标准周期,如一天.一周或一月的多个度量.其粒度是周期性的时间段,而不是单个事务.周期快照事实表通常包含许多数据的总计,因为任何与事实表时间范围一 ...

  9. BIOS+MBR模式 VS UEFI+GPT模式

     EFI与MBR启动的区别 大硬盘和WIN8系统,让我们从传统的BIOS+MBR模式升级到UEFI+GPT模式,现在购买的主流电脑,都是预装WIN8系统,为了更好的支持2TB硬盘 ,更快速的启动win ...

  10. 手动制作BIOS和EFI多启动U盘

    原文链接:https://www.lainme.com/doku.php/blog/2017/07/%E5%88%B6%E4%BD%9Cbios%E5%92%8Cefi%E5%A4%9A%E5%90% ...

随机推荐

  1. #2051:Bitset(进制转化)

    Problem Description Give you a number on base ten,you should output it on base two.(0 < n < 10 ...

  2. Educational Codeforces Round 82 (Rated for Div. 2) A. Erasing Zeroes(超简单的写法)

    题意: 统计间隔在1中0的个数 思路: 超简单写法,直接利用string的find.rfind函数即可 #include<bits/stdc++.h> using namespace st ...

  3. Mynavi Programming Contest 2021(AtCoder Beginner Contest 201)A ~ E题题解

    A - Tiny Arithmetic Sequence 水题,判断3个数是否能构成等差数列 void solve() { int a, b, c; cin >> a >> b ...

  4. 【每天一个不会秃头的前端案例】CSS + JS 实现早安,晚安动画

    从橘子学姐那边学来的 早安,晚安动画(CSS + js) 成果展示 先看成果. 通过点击太阳实现日夜的动画平滑交替 Movie 这里就不多说什么了,直接贴一下代码 HTML部分 <!DOCTYP ...

  5. 3、springboot连接数据库

    系列导航 springBoot项目打jar包 1.springboot工程新建(单模块) 2.springboot创建多模块工程 3.springboot连接数据库 4.SpringBoot连接数据库 ...

  6. element-ui实现部分引用

    1.首先安装 babel-plugin-component组件: 2.修改babel.js配置 1 module.exports = { 2 presets: [ 3 '@vue/app', 4 [' ...

  7. Clock Gating Design

    GPU max power distribution internal power and switch power - 动态功耗(时钟翻转) Leakage power - 漏电功耗(静态功耗,mo ...

  8. 如何查看centos对于 TIME_WAIT 状态的 Socket 回收时间

    要查看系统对于 TIME_WAIT 状态的 Socket 回收时间,可以通过以下方式查询 TCP 数据结构中的相关字段值: cat /proc/sys/net/ipv4/tcp_fin_timeout ...

  9. 理解Asp.net MVC模式

    MVC是模型(Model).视图(View).控制器(Controller)的缩写,它是Web应用程序中一种常用的架构模式.这种模式将应用程序大体上分为3层,即Model层.View层和Control ...

  10. 汉字在unicode的编码情况-From http://yedict.com/zsts.htm

    字符集内容 字数 unicode编码 字符显示说明(除非安装更大字库) 基本区  分页:  一 二 三 四 共20902字 4E00-9FA5 电脑和手机都能显示 基本区补充 共90字 9FA6-9F ...