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将越来越广泛地应用于各种计算机系统中。

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

相关推荐
WZF-Sang18 小时前
Linux—进程学习-01
linux·服务器·数据库·学习·操作系统·vim·进程
Goboy1 天前
0帧起步:3分钟打造个人博客,让技术成长与职业发展齐头并进
程序员·开源·操作系统
结衣结衣.1 天前
【Linux】Linux管道揭秘:匿名管道如何连接进程世界
linux·运维·c语言·数据库·操作系统
OpenAnolis小助手2 天前
龙蜥副理事长张东:加速推进 AI+OS 深度融合,打造最 AI 的服务器操作系统
ai·开源·操作系统·龙蜥社区·服务器操作系统·anolis os
小蜗的房子3 天前
SQL Server 2022安装要求(硬件、软件、操作系统等)
运维·windows·sql·学习·microsoft·sqlserver·操作系统
邂逅岁月4 天前
【多线程奇妙屋】 Java 的 Thread类必会小技巧,教你如何用多种方式快速创建线程,学并发编程必备(实践篇)
java·开发语言·操作系统·线程·进程·并发编程·javaee
CXDNW6 天前
【系统面试篇】进程和线程类(1)(笔记)——区别、通讯方式、同步、互斥、死锁
笔记·操作系统·线程·进程·互斥·死锁
Anemone_6 天前
MIT 6.S081 Lab3
操作系统
掘了7 天前
持久化内存 | Persistent Memory
c++·架构·操作系统
结衣结衣.8 天前
【Linux】掌握库的艺术:我的动静态库封装之旅
linux·运维·服务器·c语言·操作系统·