UEFI学习笔记(十三):Capsule Update
一、Capsule update相关概念
在UEFI(统一可扩展固件接口)中,胶囊更新(Capsule Update) 是通过胶囊文件来更新固件组件(如BIOS或系统固件)的机制。胶囊更新对于安全应用固件更新非常重要,且不需要通过操作系统来完成。两个特点:安全、
1、胶囊文件(Capsule File):
胶囊文件是一种封装了固件更新负载及相关元数据的文件。该文件可以通过不同方式传递,例如操作系统或从USB设备引导。
2、胶囊负载(Capsule Payload):
胶囊内包含的更新负载是实际要应用的固件或数据,可能包括更新的BIOS代码、ACPI表、微码或其他系统关键更新。
3、交付机制:
胶囊文件可以通过运行的操作系统使用UEFI的固件接口传递。
它也可以在启动时由固件直接从存储介质(如USB驱动器)加载。
4、EFI 胶囊更新协议:
UEFI 定义了 EFI_CAPSULE_UPDATE_PROTOCOL 来处理胶囊更新。此协议允许操作系统与固件之间进行通信,以便顺利执行更新过程。
5、更新过程:
加载胶囊: 通过操作系统应用程序或UEFI Shell命令将胶囊文件传递给系统固件。
系统重启: 大多数UEFI胶囊更新需要系统重启进入一个特殊的UEFI固件模式,处理胶囊文件。
处理胶囊: 在重启期间,UEFI固件检查是否存在待处理的胶囊更新,并处理负载。
验证: 胶囊更新通常通过数字签名进行验证,以确保其完整性和真实性。
固件更新: 如果验证通过,固件更新将被应用,完成后系统可能会再次重启。
6、应用场景:
固件的错误修复、安全补丁或新功能更新;CPU 微码更新;更新平台配置数据,如ACPI表。
二、Capsule Services
1、Firmware Management Protocol(FMP)
FMP(Firmware Management Protocol,固件管理协议是由 UEFI(统一可扩展固件