BIOS固件发布时间和实际不一致问题分析
更新时间: 2026/05/29
在Gitcode上查看源码

问题背景

  • 单板类型:自研板;
  • 软件版本:openUBMC 25.09;
  • 涉及功能:BMC页面BIOS发布显示时间,系统侧bios发布时间;
  • 触发条件:os侧进入bios查看“建立时间和日期”后,与BMC的web页面的bios固件发布时间比对。
  • 业务表现:预期时间相同;实际时间不同。

问题复现步骤

  1. 开机启动项修改为bios,系统重启,进入bios,确认当前在bios中“建立时间和日期”中显示时间为04/28/2025;
  2. 查看首页->设备信息中的bios固件发布时间09/20/2023;
  3. 确认两个时间不一致;

关键日志信息

系统侧bios显示的构建时间: BMC侧显示的BIOS构建时间: 一键收集后app.log日志文件中查看时间:

定位过程

  1. 确认bios构建时间的来源;经确认这个数据是持久化下来的,现在出现数据不一致的情况可能是数据没有更新,用的是之前持久化的数据, 触发这个数据更新需要重启os,等带内上报SMBIOS文件后,BMC从SMBIOS文件中解析出来这个数据,再更新上去;
  2. 尝试断电重启,BMA也正常运行,但是固件的日期还是没有改变;
  3. dmidecode命令确认系统侧具体的bios构建时间,确认SMBIOS是上报了的,但是上报的和显示的不一样,具体的上报时间如下图
  4. SMBIOS文件解析出来的发布时间为09/20/2023

问题原因

bmc数据来源就是带内bios上报的SMBIOS文件,从定位过程看bios写的SMBIOS文件中时间数据不对,需要排查带内bios的上报数据的逻辑.

解决方案

bios侧修改SMBIOS上报时间,BMC侧无修改。BIOS侧修改完成升级到环境后,重启系统侧或者AC后,查看BMC时间与BIOS侧bios固件发布时间是否一致即可。