操作系统 什么是UEFI,它与BIOS有什么区别
统一可扩展固件接口(UEFI)是一个公开可用的规范,定义了操作系统和平台固件之间的软件接口。它在计算机启动时运行,初始化硬件并将操作系统加载到内存中。
UEFI取代了最初存在于所有IBM PC兼容个人计算机中的基本输入输出系统(BIOS)固件接口,大多数UEFI固件实现支持BIOS服务。UEFI可以支持远程诊断和修复计算机,即使没有安装操作系统。
英特尔 开发了最初的 可扩展固件接口 (EFI)规范。2005年,UEFI废弃了EFI 1.10(EFI的最终版本)。统一EFI论坛是负责管理整个UEFI规范的行业机构。
UEFI有许多新功能和优点,这些是传统的BIOS无法实现的,UEFI旨在完全取代BIOS。UEFI将初始化和启动的所有信息存储在一个名为 .efi 的文件中,该文件存储在一个称为 EFI系统分区 (ESP)的特殊分区中。
ESP分区还将包含计算机上安装的操作系统的引导加载程序。由于有了这个分区,UEFI可以直接启动操作系统并保存BIOS自检过程,这对于UEFI更快的启动非常重要。
UEFI的功能是什么
UEFI定义了一种与操作系统和平台固件通信的新方法,提供了一个轻量级的BIOS替代方案,只使用启动操作系统进程所需的信息。UEFI提供了增强的计算机安全功能,并支持大多数现有的BIOS系统向后兼容。
UEFI是可编程的,使原始设备制造商开发人员能够添加应用程序、驱动程序和功能,使UEFI可以作为一个轻量级的操作系统。UEFI包含平台相关的数据表、启动和运行时服务调用的OS加载程序使用。这些信息定义了必须实现的接口和结构,以支持UEFI的固件和硬件设备。
BIOS通常被认为是早期计算的遗物,而UEFI被认为是未来的潮流。然而,为了便于理解,一些信息技术用户将这些过程统称为 UEFI BIOS ,尽管它们存在较大差异。
BIOS为什么已经过时
作为所有IBM PC兼容个人计算机中的一部分,BIOS自上世纪70年代末以来一直存在。此后,它已经进行了一些重大改进,例如添加了用户界面和高级电源管理功能,使BIOS能够配置计算机并轻松创建更好的电源管理方案。但是,自上世纪70年代以来,它的发展不如计算机硬件和软件技术进步得那么多。
BIOS 的限制
BIOS 有以下限制,例如:
- BIOS 只能从少于2 TB 的驱动器启动。现在3 TB 或以上的驱动器已经成为标准,而具有 BIOS 的系统无法从它们启动。
- BIOS 必须在 16 位处理器模式下运行,并且只有 1MB 的可执行空间。它在一次初始化多个硬件设备时会遇到困难,这会导致在初始化现代 PC 上的所有硬件接口和设备时引起启动过程变慢。
- 它无法同时初始化多个硬件设备,从而导致启动过程变慢。
UEFI 引导过程和 BIOS 引导过程
在计算机中,引导过程或计算机引导工作按照以下步骤进行,例如:
- 在桌面上按下电源按钮。CPU 启动,但需要一些指令来工作。由于主存储器此时为空,CPU 会先从主板上的固件芯片加载指令并开始执行。
- 固件代码进行电源自检 (POST),初始化剩余的硬件,检测已连接的外围设备,并检查所有连接的设备是否正常。您可能还记得桌面电脑在 POST 成功后发出的“哔”的声音。
- 最后,固件代码遍历所有存储设备,并寻找引导加载程序(通常位于磁盘的第一个扇区)。如果找到引导加载程序,则固件将控制权交给它。
- 现在引导加载程序已经加载,它的任务是加载其余的操作系统。GRUB 就是这样一种可以加载类 Unix 操作系统的引导加载程序,它也能够链接加载 Windows 操作系统。引导加载程序只位于磁盘的第一个扇区,即 512 字节。考虑到现代操作系统的复杂性,一些引导加载程序往往会进行多阶段加载。主引导加载程序在一个不受限于 512 字节的环境中加载第二阶段引导加载程序。
- 引导加载程序然后将内核加载到内存中。类 Unix 操作系统随后运行 init 进程(主进程,从中派生/执行其他进程),最后初始化运行级别。
- 在 Windows 中,exe 与其他进程一起加载,例如用于服务控制的 services.exe、用于本地安全和权限的 lsass.exe(类似于运行级别)以及用于本地会话管理的 lsm.exe。
- 在这一切完成之后,以及其他一些驱动程序初始化之后,会加载图形用户界面(GUI),您将看到登录屏幕。
BIOS 和 UEFI 都使用低级软件来管理引导操作系统之前的启动功能,尽管使用不同的技术。
- 使用BIOS的启动过程: 当BIOS开始执行时,它首先进行电源自检(POST),以确保硬件设备正常工作。
-
使用UEFI的启动过程: 与BIOS不同,UEFI不在启动设备的第一个扇区中查找MBR。它维护了一个称为EFI服务分区的有效启动卷列表。
UEFI相对于BIOS的优势
BIOS和UEFI是计算机的两种固件接口,它们在操作系统和计算机固件之间起解释器的作用。这些接口用于计算机启动时初始化硬件组件并启动存储在硬盘上的操作系统。但是UEFI相对于BIOS提供了许多重要的改进,包括以下内容:
- 启动模式: 微软Windows用户可以运行32位UEFI或64位UEFI,尽管专家推荐操作系统位模式和固件位模式应该相同,以避免运行时出现通信问题。
- 驱动器: 根据UEFI论坛,UEFI支持2.2 TB及更高容量的启动驱动器,包括理论容量为9.4泽升的驱动器。这远远超过目前可用的最大驱动器容量。
- 驱动程序: UEFI支持离散驱动程序,而BIOS驱动支持存储在只读存储器中,需要在更换驱动器或进行更改时进行调整以保证兼容性。
- 图形用户界面(GUI): UEFI更容易添加新模块到GUI中,包括用于主板硬件和附加外围设备的设备驱动程序。
- 多个操作系统的支持: 而BIOS只允许一个引导加载程序,UEFI允许用户在同一个EFI系统分区中安装基于Debian的Ubuntu和其他Linux变体的加载程序,以及Windows操作系统的加载程序。
- 编程: UEFI固件主要是用C语言编写的,使用户能够以比BIOS更少的编程添加或删除功能,BIOS则是用汇编语言编写的,有时会与C语言结合使用。
- 安全性: 安全启动是适用于Windows 8或更高版本的UEFI协议。安全启动使系统的固件成为验证设备和系统完整性的根源。其目标是防止黑客在启动和移交给操作系统之间安装根包。安全启动还使授权用户能够远程配置网络和解决问题,而BIOS管理员必须亲自出席。
随着计算机制造商逐渐弃用BIOS,他们通常会将UEFI固件与兼容性支持模块(CSM)集成到现代设备中。虽然CSM并非长期解决方案,但它使基于UEFI的机器能够以传统的BIOS模式启动,以与较旧的Windows版本和其他操作系统配合使用。但是,用户可能会发现升级到最新版本的操作系统以实现UEFI的价值更可取。