来自 UEFI 环境的设备 I/O

当 Windows OS 加载程序调用 UpdateCapsule 函数时,将执行 CapsuleHeaderArray 中包含的每个胶囊。 胶囊执行的顺序取决于 UEFI 固件实现,而胶囊不能对其相对于其他胶囊的执行顺序做出任何假设,也不能依赖于其他胶囊。 每个胶囊都是一个自包含的有效负载,包括用于管理更新和固件映像的可执行 UEFI 代码。

调用胶囊时,胶囊中包含的可执行代码负责打开与目标设备的通信通道。 相应的通道将取决于系统的设备拓扑、目标设备的功能以及特定 UEFI 实现提供的 UEFI 启动服务和驱动程序。 胶囊实现者可能需要咨询 UEFI BIOS 供应商,以了解目标 UEFI 环境中提供的选项。 通常,通过对给定设备使用 UEFI 设备驱动程序来建立通信。 此驱动程序使胶囊更新代码能够使用适当的协议通过已知设备路径绑定到设备。

建立通信后,更新管理代码会将固件映像写入目标设备。 完成更新后,相应的返回状态代码将写入 ESRT 中的设备的固件资源条目。 然后,更新管理代码将控制权返回到 UpdateCapsule 函数。

有关 UpdateCapsule 函数、胶囊结构以及 UEFI 启动服务驱动程序和协议的详细信息,请参阅 UEFI 规范

ESRT 表定义

即插即用设备

编写更新驱动程序包

处理更新

无缝危机预防和恢复

固件更新状态