UEFI:为什么它能够替代BIOS成为新的标准?

引言

在谈论计算机的启动过程时,你可能听说过BIOS(基本输入输出系统)。这是一种固化到计算机中的程序,用于启动计算机,加载操作系统。然而,随着技术的发展,BIOS的局限性开始显现,特别是其缺乏扩展性的问题。于是,英特尔提出了一个新的概念,那就是UEFI,全称是统一的可扩展固件接口(Unified Extensible Firmware Interface)。那么,UEFI究竟是什么呢?我们为什么需要它?又是如何工作的呢?这就是本文要探讨的问题。

为什么需要UEFI?

在早期的计算机系统中,英特尔的8086处理器工作在1M实模式下,也就是说,它最多只能访问1MB的内存。这个限制主要是由于8086处理器的地址总线宽度只有20位,最多只能寻址到2的20次方,也就是1MB的内存。

然而,随着技术的发展,计算机的内存容量已经远远超过了1MB。新的处理器也能够访问更大的内存空间。但是,由于传统的BIOS仍然基于8086的1M实模式,这就意味着新的处理器在启动过程中,必须首先进入1M实模式,然后再切换到保护模式或者长模式,才能访问更大的内存空间。

这个过程不仅复杂,而且也会浪费处理器的性能。因为处理器在启动过程中,必须在不同的模式之间切换,这就像是一辆跑车在高速公路上却只能以慢速行驶,显然是对性能的一种浪费。

此外,由于BIOS是固定的,缺乏文档,完全基于经验和晦涩约定的一个事实标准,这就导致了其扩展性非常不好。例如,BIOS不能直接支持新的硬件设备,每当需要支持新的硬件设备时,都必须更新BIOS。而且,由于缺乏标准,不同的BIOS可能会有不同的实现方式,这就使得硬件制造商需要为不同的BIOS提供不同的驱动程序,增加了开发的复杂性。因此,英特尔提出了EFI(可扩展固件接口),并逐渐发展为UEFI。

可以这么理解,如果说BIOS是一部老旧的黑白电视,那么UEFI就像是一台智能彩电。它不仅具备了播放电视节目的基本功能,还能够接入网络,播放网络视频,甚至还能安装各种应用,功能强大,扩展性极强。

UEFI是如何工作的?

UEFI的工作过程可以分为几个阶段,每个阶段都有其特定的任务和功能。

  1. 开机阶段(Security阶段) :当你按下电源按钮,计算机开始工作,这就好比电影开始拍摄。UEFI在这个阶段会把处理器从最初的简单模式切换到更复杂的模式,同时还会为接下来的工作做一些基本的准备。
  2. 硬件初始化阶段(PEI阶段) :在这个阶段,UEFI会检查并初始化计算机的硬件,包括CPU、内存、硬盘等,就像导演在拍电影之前需要检查摄影机、灯光、道具等。
  3. 驱动加载阶段(DXE阶段) :这个阶段,UEFI会找到并加载需要的驱动程序,这些驱动程序就像电影中的演员,每个都有自己的角色和任务。
  4. 启动设备选择阶段(BDS阶段) :在这个阶段,UEFI会列出所有可用的启动设备,让你选择从哪个设备启动操作系统,就像导演在电影中选择合适的场景。
  5. 操作系统预加载阶段(TSL阶段) :在这个阶段,UEFI会为操作系统的加载做好准备,这就像导演在拍摄前做最后的准备工作。
  6. 操作系统加载阶段(RT阶段) :这个阶段,UEFI会把控制权交给操作系统,然后操作系统开始加载,就像电影开始正式拍摄。
  7. 错误处理阶段(AL阶段) :如果在启动过程中出现了严重的错误,UEFI会提供错误处理和恢复机制,就像电影拍摄过程中,如果出现了问题,导演需要找到解决办法,确保电影能够顺利拍摄完成。

UEFI与BIOS的区别

UEFI和BIOS在许多方面都存在着明显的区别。

首先,UEFI是一个标准平台,接口开放,厂家可以编写符合UEFI标准的驱动来拓展UEFI的能力,因此其扩展性极强。而传统的BIOS则不统一,封闭的,具体某个BIOS是由单个公司负责的模块。因此其规模、扩展性等都有很大限制。

其次,UEFI的99%是用C语言编写的,更像软件。而BIOS则是用汇编语言写的,更接近硬件。

再次,UEFI的基础程序在主板ROM,磁盘上的EFI系统分区可以存储更多内容。而BIOS的所有的程序和数据都在主板ROM。

此外,UEFI从文件系统(FAT格式)读取\efi\boot\bootx64.efi文件,启动这个程序,让此程序做想做的事。而BIOS从硬盘分区读取MBR(第一个扇区的前512个字节)交给CPU执行,做MBR想做的事。

最后,UEFI还有许多其他的优点,比如没有1M情节,可以通过GPT分区格式使用超过2TB的磁盘分区,有图形界面,交互体验好,可以实现安全引导,可以在UEFI UI界面和用户操作系统中更改启动配置等。而BIOS则在这些方面都做不到。

结论

总的来说,UEFI是一种全新的计算机启动方式,它弥补了BIOS的许多不足,具有更强的扩展性和更好的用户体验。随着技术的发展,UEFI将越来越广泛地应用于各种计算机系统中。

关注微/信/公/众\号:萤火架构,提升技术不迷路!

相关推荐
李剑一5 天前
早在八十年代我们就有国产操作系统,但为什么最后还是Windows一统天下,答案藏在时间里
操作系统
Java成神之路-5 天前
虚拟内存核心精讲:页表、VMA、缺页异常与mmap(单级页表 + 多级页表对照)
操作系统
OpenAnolis小助手7 天前
RISC-V 基础软件的工程化与性能优化实践
性能优化·操作系统·龙蜥社区·risc-v
青梅味猪大肠8 天前
【操作系统-60】临近适应算法
java·linux·开发语言·嵌入式硬件·算法·操作系统
PMAOS11 天前
4G 功能机操作系统选型指南:KaiOS、Mocor、MAUI、PMAOS 的能力边界与验证方法
嵌入式硬件·ai·操作系统
罗四强11 天前
第10篇:打包上架:签名、打包 HAP、发布到华为应用市场
分布式·操作系统·harmonyos·arkts·鸿蒙系统
Liaiyang6613 天前
空圈容错视角-HarmonyOS 7 架构体检:从被动容错到主动免疫的真伪验证与生态反推
操作系统·harmonyos·架构设计·ai-agent·端云协同·鸿蒙7·空圈容错
OpenAnolis小助手13 天前
龙蜥社区亮相 GOSIM AI Vision Forum 共话“Agentic Native”开源新
人工智能·ai·开源·操作系统·龙蜥社区·agent
阿里云基础软件13 天前
Agent 任务提速 10.71%,内存占用降低 21.60%|Alibaba Cloud Linux 4 重大发布
java·linux·人工智能·操作系统·agent
OpenAnolis小助手14 天前
多租户公有云共享 CXL 内存池场景下的内存卸载研究
人工智能·操作系统·龙蜥社区·risc-v·agentic os