UEFI 详解

UEFI 是什么?

UEFI - Unified Extensible Firmware Interface
从规范的角度来看,它是一个规范,定义了计算机操作系统和平台固件之间的接口规范.

从实体的角度来讲,BIOS 和 UEFI 是两种不同类型的计算机固件(什么是固件?就是固化在计算机主板上某个非易失存储区(EEPROM)中的小系统),计算机启动都是先启动它,然后加载真正的操作系统,计算机启动后进入配置界面,我们能直观看到的是 UEFI 固件的 UI,我们通过 UI 来配置这个固件的可配置项,比如:操作系统启动顺序,启动等待时间等等,在 BIOS 时代,所有的设置都只能存储在主板上,容量很小,无法扩展,而 UEFI 将基础固件烧制在主板存储区中,然后在磁盘上创建 EFI 系统分区来存储更多的内容和数据,通过 UEFI 规范来定义如何使用扩展的方式来定制和扩展功能。

EFI 系统分区

我们知道在 UEFI 之前的 BIOS 时代,操作系统的 bootlloader 是存放在主引导记录(MBR)中的,容量受限,所以 UEFI 中引入了一个新的系统分区 ESP (EFI System Partition) ,该分区用来存储操作系统的 bootloader 和 EFI 驱动程序等数据,当计算机启动后,UEFI 固件从该分区中加载所需要的硬件驱动,执行 bootloader 启动指定的操作系统。在 Windows 系统中默认该分区不可见,可以参照 如何查看 EFI 分区内容 查看 EFI 分区中的内容。

EFI 系统分区

EFI 可执行文件

UEFI 标准定义了一种可执行文件格式,所有的 UEFI 固件都能够执行以这种格式编写的代码,操作系统 bootloader 都采用这种格式编写,比如 Windows 10 64位操作系统的 bootloader 叫做 bootx64.efi,该文件存放在 EFI 系统分区的 Boot 文件夹下,如果一台机器上安装了多个厂商的操作系统,他们的 bootloader 都位于 EFI 系统分区的 Boot 目录中,UEFI 就是通过执行这个 bootloader 来启动指定的操作系统。

UEFI 系统分区中的操作系统 bootloader

GPT 分区表

GUID 分区表格式与 UEFI 规范具有密切联系,而且,它并不特别复杂,GPT 是 UEFI 规范提供的良好基础架构之一。GPT 仅仅是分区表的一种标准(磁盘起始位置的信息定义了磁盘所包含的分区)。相比 MBR/MS-DOS 分区表,这种分区表对分区的定义要好得多,并且 UEFI 规范要求 UEFI 兼容固件必须能识别 GPT(也要求固件能识别 MBR,以保证向后兼容)。

BIOS 如何启动

在了解 UEFI 启动之前,我们看一下 BIOS 的启动过程,BIOS 启动过程非常简单,你需要在第一块磁盘上有一个 MBR(主引导记录,这是一个标准,它定义了一种格式来描述该磁盘分区,并在特定的地方包含一个 boot loader),BIOS 通过加载 MBR 中的这段 boot loader 代码去启动操作系统,操作系统安装程序负责在系统安装过程中将 boot loader 代码写入到 MBR 中的特定区域。

BIOS 启动过程

从 BIOS 的启动过程中我们可以看出,BIOS 方案存在以下问题:

  • 处理不便,你需要特殊工具来写入 MBR,如果要查看 MBR 中包含的内容,唯一的方法几乎就是把 MBR dump 出来,然后进行检查
  • MBR 容量受限,无法容纳现代操作系统的 bootloader
  • 无法实现从其他启动目标来启动系统,比如:网络启动
  • 固件层以上的其他层(比如在操作系统中)无法配置固件的启动行为,BIOS 没有提供相应机制

UEFI 如何启动

UEFI 规范定义了一个 boot manager, 它是一个固件策略引擎,可以灵活配置,通过下图的对比图可以看到 UEFI 的启动过程。整个流程没有什么神奇的地方,主要的优势是灵活性和可配置型以及可定制的安全性。

BIOS 和 UEFI 启动对比

Secure Boot

安全启动解决的问题就是 rootkit 攻击问题。
UEFI 规范规定了固件可以包含一系列签名,并拒绝运行未签名或签名与固件中包含的签名不一致的 EFI 可执行文件,通俗地讲,安全启动就是使用非对称加密和数字签名技术来确保整个启动链的安全,所有不合法的 UEFI 执行程序和驱动程序都不允许执行,这样就解决了操作系统加载前的启动安全问题。当然这是一个可选项,用户可以在 UEFI 配置界面关闭 Secure Boot。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,723评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,080评论 2 379
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,604评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,440评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,431评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,499评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,893评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,541评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,751评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,547评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,619评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,320评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,890评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,896评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,137评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,796评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,335评论 2 342

推荐阅读更多精彩内容