UEFI BIOS之NVRAM

本文探讨了NvRam在BIOS中的作用,它是非易失性存储空间,用于存储BIOS设置。文章介绍了如何在BIOSBin文件中定位NvRam区域,以及在BMC更新BIOS时如何备份和恢复NvRam数据的过程,涉及layout文件的使用和NVRam区域的计算。
摘要由CSDN通过智能技术生成

1. 什么是NvRam空间,里面存储了什么数据

2. 如何找到NvRam空间在BIOS-bin文件中的位置

Non-Volatile Ram即非易失性存储空间,

而具体到BIOS的话,多数情况下可以理解为在BIOS-Rom中挖了一段空间,用来作为我们希望掉电也不丢失数据的存储空间。

NvRam在BIOS实际用途中其实分为几类,其中最常用的应该是就是BiosSetup配置界面下你能看到的一大堆配置接口了吧。BIOS-Setup下所有的数据变量最终在代码中呈现的样子应该是这样:

NvRam空间在BIOS-Bin文件的哪个位置?

提出这个原因的目的是因为有一个需求是要求BMC在更新BIOS时要做到保存用户设置数据,那么方案就是BMC在更新BIOS的数据时,先从BIOS中把NvRam那段空间的数据读出来做备份,然后刷掉整个ROM空间中的数据,再把新版本得BIOS数据写入ROM存储介质中,最后再把预先备份的数据按照BIOS Layout布局写入指定的位置即可。基于这样的一个目的,因此BIOS需要提供NvRam空间的布局。也算是折腾了一段时间吧,大致的方式如下:

1)在layout布局文件中找到整个工程文件的整体布局,一般是在*.fdf文件中,例如我用的insyde的工程可以看到project.fdf文件可以看到每个区域的Size和Offset公式计算定义。标红框的时NVRam区域的SIZE,下面也有每个具体的NvRam区域的Offset计算,没截出来。根据这里的定义应该能最终可以计算出来。

FV_MAIN_WRAPPER:FVBB:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一只小菜鸟-BIOS

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值