[BIOS] 清CMOS or 刷BIOS 不清SN
清CMOS或刷BIOS保留SN
注:这里主要是以遇到的实际项目为示例...
一. 清CMOS不清SN
1. APL平台
1. 问题描述
因为这个平台较老, BIOS Code相对较老, 因此涉及到SMBios模块的更新!如果SMBios模块较新, 则不需要进行模块替换。
如下, 当前使用的SMBios module较老, 因此在将TOKEN "SMBIOS_DMIEDIT_DATA_LOC = 0"是, 在shell下刷写SN会出现错误:



另外, "SMBIOS_DMIEDIT_DATA_LOC = 2": 可以保留SN, 但是其他的内容也会被保存(比如密码设定), 因此不行;
2. 解决方案
- 导入较新的模块: smbios10
- SMBIOS_DMIEDIT_DATA_LOC = 0 (虽然 SMBIOS_DMIEDIT_DATA_LOC = 1应该也是可以的, 但是其他家现有的使用的是0, 暂且以此为准 )
(变量存储在Boot Block, 理论上如果不更换BIOS的话, 这部分是不会被改变的)
2. 其他较新平台
直接将TOKEN "SMBIOS_DMIEDIT_DATA_LOC = 1":

3. 验证
更新BIOS后, 刷写SN, 清CMOS后查看SN是否被清除。
二、 更新BIOS保留SN
这个功能是通过使用Afu的刷写工具实现的:
通过命令 Afuefix64.efi xxxxx.bin /p /n /x /r实现刷BIOS不清SN, 因为/R参数的含义是在编程(更新BIOS期间)保留所有SMBIOS 结构, BIOS中不需要进行调整。


浙公网安备 33010602011771号