BIOS 的 recovery 机制 您所在的位置:网站首页 联想recovery模式怎么进去 BIOS 的 recovery 机制

BIOS 的 recovery 机制

2024-07-05 02:09| 来源: 网络整理| 查看: 265

Recovery 就是BIOS挂掉的时候(不是完全挂掉,PEI 部分还是完整的)去重新构建里面的内容,

有很多种情况可能导致BIOS 挂掉,FV(firmware volume)是以block 为单位存储在非挥发性(nonvolatile)

的存储介质上,当更新某个block的时候,突然掉电,那么这个固件就变为非法(invalid)的。另一方面,

一个恶意的程序或者硬件上面也可能导致存储介质损坏,作为系统的设计者必须有这个概念,就是要考虑到

这些情况的发生生,以及发生后的后果。

当然也可能出于下列原因而不去做这个功能:

存储FV的介质在功能上就相当于只读设备一样,就是里面的内容只能写一次。

因为实现这个机制需要更多的 FV 空间,这样会导致成本的上升。

系统足够强壮,不需要考虑这方面的问题。

什么时候需要recovery?

可以专门由一个PEIM 做这个事情,比如去检测 “(强制recovery jumper") , 或者 PEI Foundation.

PEI Foundation 可以检查到某个 PEIM 坏掉了,或者整个固件挂掉了。

Recovery模块的一般结构

首先要有一个概念,BIOS 完全挂掉,是不能做到recovery的,BIOS 必须跑到某一点,就是说,还能

做这些事情:

从外围设备(比如u盘)中读取一段数据。

用读到的数据去重构Firmware volume.

如果 PEI Dispatcher 发现某个PEIM 挂掉了,比如说,检测到一个错误的hash 值,这时候,就得把boot mode

切到reovery . 一旦设置为recover 模式,其他的PEIM 就不能去更改为其他模式了。

找到以及将Recovery DXE image 加载进去

PEI Dispatcher 会去调用DXE IPL(Initial Program Load) PEIM, 如果 DXE IPL 检测到需要recovery,

就会调用一个特殊的PPI,  叫Recovery Module PPI, EFI_PEI_RECOVERY_MODULE_PPI, 做这些事情:

把包含有DXE recovery image 载入内存。

更新 DXE 固件的Hand-Off Block.

Status = DeviceRecoveryModule->LoadRecoveryCapsule ( PeiServices, DeviceRecoveryModule, 0, Buffer );



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有