简介:面向华为RH2288HV3服务器运维与数据中心管理人员,这份BIOS固件包用于通过iBMC远程管理界面完成主板BIOS升级,可修复底层缺陷、提升系统稳定性与硬件兼容性。压缩包共4个文件,约47.31MB,以两个hpm固件镜像为核心,辅以xml版本描述和docx版权说明,分别承担升级映像、版本校验与合规信息展示,适合在计划性维护窗口内使用。已有4535人学习下载,说明该型号服务器的BIOS维护需求较为集中。对承担数据中心日常维护、硬件兼容性排查和固件版本追溯任务的技术人员而言,这份包体可作为该型号服务器底层固件维护的成套资料,也便于在升级前核对版本信息与合规说明。资源对应iBMC远程更新场景,并提示电源状态、IPMI版本等前置条件,版本描述文件与固件镜像配合,可用于固件版本核对与升级前准备。
1. 先别急着刷:R3 服务器 BIOS 包安装前把版本和退路列清
服务器 BIOS 包安装最容易翻车的不是命令,而是版本和退路没列清。我见过一台二手双路 2U 机架服务器 R3 上线前被顺手刷到最新 BIOS 包,新固件默认启动模式从 Legacy 切到 UEFI,原阵列卡启动项消失,现场又没有带外权限,只能抱着显示器重配。R3 这类机器存量不小,BIOS 包常用来修风扇策略、认新 CPU、补 PCIe 兼容性,但刷写窗口只有几分钟,断电、错包、参数丢失都会打乱上架节奏。这篇按我的安装顺序写:先确认版本和回退路径,再选带外或 UEFI Shell 刷写,最后恢复启动、存储、功耗参数并验收。适合接手二手 R3、需要批量恢复配置、手里只有一份 BIOS.zip 的开发者。
2. 版本与介质准备:R3 BIOS 包解压后先做三件事
BIOS 包不是双击安装的普通软件。它最终要写进主板上的 SPI Flash,刷写过程中会校验固件签名、擦除旧区、写入新镜像,再切到新镜像启动。R3 这类双路机架服务器通常还带双 BIOS 区或回滚区,但回滚区不是万能后悔药:跨大版本、跨硬件代际、配置文件格式变化,都可能让“刷回去”变成一句空话。我一般把准备工作拆成三件事:先确认当前版本和目标版本能不能直接升,再做一只可回退的 U 盘,最后解压并核对包内文件。顺序反过来,后面每一步都容易心里没底。
2.1 确认机器代际、BIOS 当前版本与升级路径
第一步不是解压,是在现有系统里把机器身份记录清楚。R3 是下文对这台双路 2U 机架服务器的代称,实际机器以资产标签和主板丝印为准。BIOS 升级最怕拿错代际的包:同一外壳、同一前面板,主板修订版不同,固件包就可能不认。常见做法是先读 DMI 信息,再和包内 README 的目标机型列表对照。下面这组命令在 Linux 维护盘或现有系统里都能跑,读不到某项就换lshw或进带外管理口看资产信息。
# 记录 BIOS 当前版本和发布日期,刷完后要对比 sudo dmidecode -s bios-version sudo dmidecode -s bios-release-date # 记录主板型号、序列号和修订版,确认包的目标代际 sudo dmidecode -t baseboard # 记录内存布局和 CPU 信息,回退后用来核对是否认全 sudo dmidecode -t memory | head -n 60 sudo lscpudmidecode -s bios-version给的是当前固件版本字符串,bios-release-date用来判断这台机器是不是多年没升过。-t baseboard里的型号和修订版比外箱标签可靠,二手设备尤其要看。-t memory不用全量保存,截前 60 行足够核对内存条数和频率。这里的关键不是命令多高级,而是把“刷之前是什么样”留成文本。我一般会把输出重定向到 U 盘:
# 把刷前基线保存到 U 盘,文件名带日期,避免覆盖 mkdir -p /mnt/r3bios/baseline sudo dmidecode -t bios > /mnt/r3bios/baseline/bios-before.txt sudo dmidecode -t baseboard > /mnt/r3bios/baseline/board-before.txt sudo lscpu > /mnt/r3bios/baseline/cpu-before.txt sudo lspci -nn > /mnt/r3bios/baseline/pci-before.txt synclspci -nn记录的是 PCIe 设备 ID,刷完后网卡名变了也能靠 ID 对上。sync不能省,U 盘拔早了文件可能只写了一半。升级路径要看包内说明:有些版本允许从旧版直接升,有些要求先升到中间桥接版本,再升目标版本。没有 README 明确写“可直接升”时,我按保守路线走,不跨两个大版本硬刷。常见做法是先在测试机或同代备机上刷一遍,确认启动、存储、网络都正常,再动生产机。没有备机时,至少把带外管理口调通,别把现场退路押在一只 U 盘上。
2.2 制作可回退的 U 盘和记录原始配置
U 盘要做两件事:装刷新包,装回退包和基线记录。文件系统用 FAT32,UEFI Shell 和大多数带外管理口都认;NTFS 在 UEFI Shell 下经常直接看不见。制作前先确认盘符,别把系统盘写掉。下面命令里的/dev/sdX是占位,必须换成lsblk里实际看到的 U 盘设备,整盘写入会清空原有分区。
# 看清块设备、容量、型号和总线,确认哪个是 U 盘 lsblk -o NAME,SIZE,MODEL,TRAN,MOUNTPOINT # 卸载 U 盘上已挂载的分区,没挂载会报错,忽略即可 sudo umount /dev/sdX1 2>/dev/null || true # 重新格式化为 FAT32,卷标用短名称,UEFI Shell 下好认 sudo mkfs.vfat -F 32 -n R3BIOS /dev/sdX # 挂载并建立目录,刷新包和回退包分开放 sudo mkdir -p /mnt/r3bios sudo mount /dev/sdX /mnt/r3bios mkdir -p /mnt/r3bios/flash /mnt/r3bios/rollback /mnt/r3bios/baseline syncmkfs.vfat -F 32的-n R3BIOS是卷标,后面在 UEFI Shell 里用map -r能看到类似FS0的映射。flash放本次要刷的包,rollback放刷前版本或厂商提供的回退包,baseline放刚才的记录。回退包不是必须每次都有,但 R3 这种二手设备我建议留一份:你无法确认上一任管理员刷过什么,也不知道当前版本是不是定制版。没有回退包时,至少把当前 BIOS 版本、主板修订版、启动模式、阵列卡型号、PCIe 插槽顺序记下来。记录方式不用复杂,文本加手机拍照都行,关键是刷完能对照。
还要记录 BIOS 里的原始配置。进 Setup 后重点看这几项:启动模式是 Legacy 还是 UEFI,启动顺序第一项是什么,存储控制器是 RAID 还是 JBOD,SR-IOV 和 Above 4G Decoding 有没有开,功耗策略是性能优先还是能效优先。R3 刷完 BIOS 后,有些版本会保留 NVRAM,有些版本会恢复默认值,不能假设“应该没变”。我一般把关键页面拍照,文件名按日期-页面名存进baseline,后面第 4 章恢复参数时直接照着改。
注意:U 盘制作完成后先在一台普通机器上确认能读,别等进了 UEFI Shell 才发现盘不认。刷新前把 U 盘插在主板后置 USB 口,前置口经过延长线,接触不良的概率更高。
2.3 解压 BIOS.zip 并核对包内文件
拿到BIOS.zip后不要直接丢进带外管理口上传,先解压到空目录并核对。压缩包在下载、拷贝、解压过程中都可能截断,尤其是从聊天工具或网盘中转过的文件。常见 BIOS 包内会有固件镜像、刷新入口脚本、README、校验文件,有些还会带单独的带外刷新包和回退说明。文件名和目录层级不要改,入口脚本里经常写死了相对路径。
# 先看压缩包结构,确认没有多一层目录或异常文件 unzip -l BIOS.zip # 建空目录再解压,避免旧文件混进来 mkdir -p ~/r3-bios-work unzip -q BIOS.zip -d ~/r3-bios-work # 进入解压目录,按 README 核对校验和 cd ~/r3-bios-work find . -maxdepth 3 -type f -printf '%p\t%s bytes\n' | sort # 如果包内提供 SHA256 校验文件,按 README 指定方式核对 sha256sum -c SHA256SUMS 2>/dev/null || trueunzip -l只列目录,不解压,适合先看有没有多套固件。find那行把文件路径和大小列出来,方便发现 0 字节文件。sha256sum -c只在包内确实带校验文件时有效,没有校验文件时不要自己编一个,按 README 里给出的哈希值手工比对。包内文件类型可以按用途分:
| 文件类型 | 常见用途 | 处理方式 |
|---|---|---|
| 固件镜像 | 带外或 UEFI Shell 刷写主体 | 不改名,不二次压缩 |
| 入口脚本 | UEFI Shell 下调用刷新程序 | 按 README 执行,不直接双击镜像 |
| README/说明 | 目标机型、升级路径、已知问题 | 刷前通读,重点看限制条件 |
| 校验文件 | 确认包完整 | 与官方发布页或包内说明比对 |
| 回退包 | 降级或恢复 | 单独放rollback目录 |
解压后先读 README,重点看三处:支持的目标机型、是否允许从当前版本直接升、刷写后是否需要断电冷启动。README 里如果写“仅支持某修订版以上主板”,就去对dmidecode -t baseboard的记录。对不上就停,不要抱着“应该能刷”的心态试。BIOS 刷错包的后果不是重装系统能救的,轻则不开机,重则要拆机写 Flash。准备工作做到这里,后面两条刷写路线才有意义。
3. 两条刷写路线:带外 BMC 与 UEFI Shell 怎么选
R3 刷 BIOS 常见两条路:带外管理口网页刷写,和本地 UEFI Shell 刷写。带外适合机器在机房、人不在现场、管理口已经配好 IP 的情况;UEFI Shell 适合现场有显示器键盘、带外密码丢失、或者网页上传总失败的情况。两条路的本质一样,都是把固件交给主板刷新程序,区别在传输通道和失败后的观察手段。带外能看远程日志和电源状态,UEFI Shell 更直接,但现场断电就只能靠人守着。我一般优先带外,带外不通再走 UEFI Shell,不把两条路混在一次操作里。
刷写原理不复杂:刷新程序先校验镜像签名和目标机型,擦除备用 BIOS 区,写入新镜像,再切换启动区。过程中机器会重启一到两次,风扇可能突然全速,屏幕可能黑几分钟。这段时间最忌讳两件事:手动断电和反复按电源键。R3 的刷新窗口我按 10 到 15 分钟留,包大或带外慢的时候更久。下面两条路线都给可抄的步骤,但入口脚本名和网页菜单名以包内 README 和实际界面为准,不硬套。
3.1 带外 BMC 网页刷写:适合无人值守机房
带外管理口是独立于业务系统的通道,业务系统关机也能刷。先把维护机接到管理口所在网络,确认能 ping 通管理地址。下面用文档保留地址192.0.2.10占位,实际地址看资产记录。ipmitool不是所有环境都有,没有就跳过,直接用浏览器登录网页。
# 确认带外管理口可达,丢包严重就先查网线和交换机端口 ping -c 3 192.0.2.10 # 有 ipmitool 时先读管理控制器信息和电源状态 ipmitool -I lanplus -H 192.0.2.10 -U operator -P '变更我' mc info ipmitool -I lanplus -H 192.0.2.10 -U operator -P '变更我' chassis power status-I lanplus是带外管理常用的接口类型,-U和-P是临时账号,不要把真实密码写进脚本历史。mc info能看固件版本和制造商信息,chassis power status确认机器当前是开机还是关机。刷 BIOS 建议在业务停止后做,不需要关机也可以刷,但关机状态更稳,尤其电源老旧时。网页里的操作顺序一般是:登录管理口,找到固件升级或 BIOS 升级页面,上传解压后的固件镜像,等页面完成校验,选择是否保留当前配置,开始刷写,然后盯进度和电源状态。
| 网页选项 | 建议值 | 原因 |
|---|---|---|
| 升级文件 | 包内 README 指定的镜像 | 不要传压缩包,不要传错代际 |
| 保留配置 | 首次刷写建议不保留 | 避免旧 NVRAM 和新固件冲突 |
| 自动重启 | 按页面默认 | 手动重启容易打断切换 |
| 断电恢复策略 | 保持上一状态或按机房规范 | 刷完后意外断电不至于反复重启 |
| 会话超时 | 临时调长 | 上传大文件时页面超时容易误判 |
上传完成后不要急着刷新页面。带外网页的进度条有时停在一个数字不动,实际后台还在写;这时看管理口的电源状态和日志更可靠。刷写期间把维护机的休眠关掉,浏览器不要开多个升级页面。完成后机器会自动重启,带外会话可能断开,等两分钟再连。连上后先看 BIOS 版本有没有变,再看启动项和风扇转速。带外刷写的优势是失败后还能看日志,所以刷之前把日志级别调高一点,刷完把日志导出到baseline目录。
注意:带外管理口不要暴露在业务大网,刷写期间只留维护机可访问。上传固件前确认浏览器没有代理插件改写上传内容,校验失败时先换浏览器或换维护机,不要连续重试。
3.2 UEFI Shell 本地刷写:适合没有带外权限的现场
现场有显示器键盘、带外密码又找不回来时,走 UEFI Shell。把第 2 章做好的 U 盘插在后置 USB 口,开机按启动菜单键,不同机器可能是 F11、F12 或 Del,R3 以屏幕提示为准。进入 UEFI Shell 后先重新映射文件系统,因为 U 盘可能不是fs0。下面命令是 UEFI Shell 内执行,不是 Linux bash:
# UEFI Shell 内执行,先重新扫描映射,找到 U 盘 map -r # 逐个尝试 fs0、fs1,列目录确认能看到 R3BIOS 卷标和 flash 目录 fs0: ls fs1: ls # 进入 U 盘刷新目录,入口脚本名以包内 README 为准 fs0: cd \flash # update.nsh 是占位名,实际按 README 里的脚本名执行 update.nshmap -r会重新枚举块设备,插拔 U 盘后必须跑一次。fs0:切到第一个文件系统,ls看不到flash目录就换fs1:、fs2:。进入目录后不要直接运行.bin或.rom,刷新流程通常由入口脚本调用厂商程序,脚本里会带校验和参数。update.nsh只是占位,包内叫flash.nsh、update64.nsh都有可能,以 README 为准。执行后屏幕会出现刷新进度,期间不要碰键盘,不要拔 U 盘。
UEFI Shell 刷写的失败观察点比带外少,所以操作前要把退路准备好:回退包放在同一只 U 盘的rollback目录,基线记录放在baseline。刷写完成后机器自动重启,如果停在黑屏,先等够 10 分钟,再按一次电源键看是否有反应。不要连续长按电源键强制关机。重启后如果直接进了 UEFI Shell 而不是系统,检查启动模式是不是被改成了 UEFI,原系统如果是 Legacy 引导,需要进 Setup 改回去。这一步经常被忽略,结果以为刷坏了,其实只是启动模式变了。
3.3 刷新参数与断电保护:刷之前先拔掉不必要的负载
两条路线都要做同一组保护动作。第一,接 UPS 或确认机房市电稳定,刷写期间断电是真正的黑匣子时刻。第二,停掉业务,卸载外接存储,拔掉不必要的 USB 设备和 PCIe 外设,减少枚举变化。第三,记录带外日志起始位置,刷完对比。第四,确认机器散热正常,风扇不转或转速异常时先修风扇再刷,BIOS 刷写过程中过热会触发保护关机。
# 刷前记录一次传感器和日志时间点,刷完对比 ipmitool -I lanplus -H 192.0.2.10 -U operator -P '变更我' sensor | head -n 40 ipmitool -I lanplus -H 192.0.2.10 -U operator -P '变更我' sel list | tail -n 20 # 记录业务侧挂载和网卡状态,刷完核对 lsblk -o NAME,SIZE,FSTYPE,MOUNTPOINT ip -br linksensor看温度和风扇,sel list看有没有历史硬件告警。刷前日志里已经有风扇或电源告警的,先处理再刷,否则刷完出现同样告警会分不清是谁的锅。lsblk和ip -br link是业务侧基线,刷完启动项变化、网卡改名都能对照。刷新参数里我一般不动“保留配置”之外的选项,页面默认的看门狗和自动重启策略保持原样,除非 README 明确要求改。刷写前把维护机屏幕锁定时间调长,U 盘不要拔,网线不要踢,机房现场挂个“正在刷 BIOS”的牌子比事后解释有用。
4. 参数恢复:R3 BIOS 刷完后启动、存储与功耗怎么配
刷完 BIOS 第一次开机,不要直接进系统。新固件可能恢复默认值,也可能保留旧配置但内部结构已经变了。R3 这类机器最容易被忽略的是启动模式、存储控制器和 PCIe 枚举顺序:启动模式决定能不能找到原系统,存储控制器决定阵列卡还是直通,PCIe 顺序决定网卡命名和插槽识别。功耗策略和风扇曲线则影响上架后的噪音和温度。参数恢复不是把旧截图照抄一遍,而是按新固件的默认值和业务需求重新确认。我一般先恢复最小可启动集,再调功耗和批量模板。
4.1 启动模式、RAID/存储控制器与 PCIe 顺序
启动模式是刷 BIOS 后第一坑。旧系统如果是 Legacy 引导,新固件默认 UEFI,开机就会像“系统丢了”。反过来,UEFI 安装的系统在 Legacy 模式下也起不来。进 Setup 先看 Boot Mode,按原记录改回去。然后看启动顺序,第一项应该是系统盘所在控制器,不是网卡 PXE。R3 如果装了阵列卡,还要确认阵列卡固件版本和 BIOS 里的控制器模式匹配:RAID 模式需要阵列配置,JBOD 或直通模式才能看到单盘。
# 刷完进系统后核对启动项和 PCIe 设备 efibootmgr -v 2>/dev/null || true lspci -nn | grep -Ei 'raid|sas|sata|ethernet|network' lsblk -o NAME,SIZE,TYPE,MODELefibootmgr -v只在 UEFI 启动的 Linux 下有意义,能看到启动项路径。lspci里 RAID、SAS、Ethernet 设备 ID 要和刷前pci-before.txt对得上。lsblk看系统盘和阵列盘有没有全认出来。如果阵列卡在lspci里消失,先回 Setup 看 PCIe 插槽有没有被禁用,再看阵列卡固件是否需要单独升级。PCIe 顺序变了会导致网卡名从ens1f0变成ens2f0,业务绑定网卡名的话,要么改回插槽顺序,要么改网络配置,别两边一起改。
| 参数 | 恢复原则 | 常见误配 |
|---|---|---|
| Boot Mode | 按原系统引导方式恢复 | 新固件默认 UEFI,旧系统起不来 |
| 启动顺序 | 系统盘控制器排第一 | 网卡 PXE 抢到第一项 |
| 存储控制器 | RAID/JBOD 与阵列配置一致 | 切了模式但没重建阵列 |
| PCIe 插槽 | 按原记录恢复禁用/启用 | 网卡顺序变化导致命名漂移 |
| Above 4G Decoding | 大显存卡或大 BAR 设备按需开启 | 开了之后旧系统认不到设备 |
这张表不用一次全改,先改启动模式和启动顺序,能进系统再处理存储和 PCIe。每改一项保存重启一次,别一口气改十项,出问题不知道是哪项。R3 的 Setup 里有些选项藏得深,找不到就按 README 里的路径找,不要凭感觉改名字相近的选项。
4.2 功耗、风扇与 BMC 联动参数
BIOS 刷完后风扇突然全速,不一定是故障。新固件的风扇曲线可能更保守,或者功耗策略默认切到性能优先。进 Setup 看 Power Policy、Fan Control、Energy Efficient Turbo 这类选项,按机房规范选。业务追求低噪音就选能效优先,但要注意能效优先可能限制 CPU 频率;追求性能就选性能优先,接受风扇噪音。带外管理口里的风扇模式和 BIOS 里的策略可能互相覆盖,改完一处要观察另一处。
# 刷完后观察温度和风扇,连续采几次看是否稳定 ipmitool -I lanplus -H 192.0.2.10 -U operator -P '变更我' sensor | grep -Ei 'temp|fan' sleep 10 ipmitool -I lanplus -H 192.0.2.10 -U operator -P '变更我' sensor | grep -Ei 'temp|fan'sensor输出里的温度和风扇转速要看趋势,不看单次。刷完刚开机风扇全速是正常的,等系统起来、温度稳定后再看。如果十分钟后仍然全速,检查 BIOS 里的风扇策略和带外里的手动风扇模式。带外如果被设成手动全速,BIOS 怎么改都没用。功耗策略改完建议跑十分钟轻负载,确认没有触发降频或温度告警。R3 上架前我一般把风扇策略和功耗策略记进资产表,后面批量部署时直接套,不靠记忆。
4.3 用配置模板批量恢复
只有一台机器时手工改就行,一批 R3 就需要模板。BIOS 配置导出/导入功能不是所有版本都支持,跨版本导入经常失败,所以模板不要直接当配置文件用,而是当核对清单用。我一般把关键项做成表格,刷完逐项打勾,再用脚本采集 Linux 侧状态对比。下面脚本只采集,不修改,避免误操作:
# 采集刷后状态,和 baseline 对比 mkdir -p ~/r3-bios-work/after sudo dmidecode -t bios > ~/r3-bios-work/after/bios-after.txt sudo lspci -nn > ~/r3-bios-work/after/pci-after.txt lsblk -o NAME,SIZE,TYPE,MODEL > ~/r3-bios-work/after/disk-after.txt ip -br link > ~/r3-bios-work/after/net-after.txt # 对比 PCIe 设备列表,先看少了什么 diff -u /mnt/r3bios/baseline/pci-before.txt ~/r3-bios-work/after/pci-after.txt || truediff -u输出里以-开头的是刷前有、刷后没有的设备,以+开头的是新增。PCIe 设备少了先查插槽和固件,不要急着重刷 BIOS。模板字段至少包含:BIOS 目标版本、Boot Mode、第一启动项、存储控制器模式、阵列卡固件版本、网卡插槽顺序、功耗策略、风扇策略、带外地址。批量恢复时一台改完先重启验证,再改下一台,不要把十台一起刷一起改。
注意:BIOS 配置文件导入功能跨版本慎用。旧版本导出的配置在新版本里可能字段错位,表面导入成功,实际启动项或 PCIe 设置没生效。能用表格核对就不要偷懒导配置。
5. 常见问题排查:R3 BIOS 包刷写失败的 4 个现场
BIOS 刷写失败的表现很像:黑屏、卡进度、反复重启、启动项消失。现场容易慌,一慌就断电,一断电小问题变大问题。下面四条是我踩过或见别人踩过的典型现场,按“现象→原因→解决”写。处理顺序永远是先保电源、再看日志、最后才考虑重刷。刷写过程中只要机器还有风扇转、带外还能连,就不要强制断电。
5.1 校验失败或包不识别
现象:带外网页上传后提示格式错误、校验失败,或者 UEFI Shell 里执行入口脚本提示镜像无效。原因通常是压缩包下载不完整、解压时多套了一层目录、文件名被改过、拿错代际的包。也有 U 盘文件系统不对,UEFI Shell 只读到了部分文件。解决:回到解压目录重新核对哈希,确认 README 里的目标机型和当前主板修订版一致;把包解压到全新空目录,不覆盖旧文件;U 盘重新格式化为 FAT32,入口脚本和镜像保持在 README 要求的相对路径;不要改镜像文件名和扩展名。
# 重新核对包完整性,输出要和 README 或发布页一致 sha256sum ./flash/*.bin ./flash/*.rom 2>/dev/null || true # 看解压目录层级,入口脚本一般在第一层或 flash 子目录 find ~/r3-bios-work -maxdepth 3 -type f -printf '%P\n' | sortsha256sum只对实际存在的镜像文件有效,扩展名按包内实际文件写,不要照抄示例。find看相对路径,如果多了一层BIOS/BIOS/,UEFI Shell 里按 README 的相对路径就会找不到。校验失败时不要连续重试十次,先换一只 U 盘或换一个下载副本。带外网页对文件大小和格式敏感,上传前确认没有经过聊天工具压缩。
5.2 刷新中途卡住或重启循环
现象:进度条停在一个百分比不动,或者刷完自动重启后反复重启,屏幕无输出。原因可能是带外会话超时、U 盘接触不良、刷新程序在等用户确认、固件双区切换失败。解决:先等够 15 分钟,观察风扇和带外电源状态;带外还能连就看日志和传感器,不要急着按电源键;U 盘刷写时不要碰机器和 U 盘;如果确实卡死,按 README 的恢复模式操作,通常需要断电放电后重新上电,再走带外恢复。反复重启超过三轮再考虑干预。
# 带外还能连时,先看日志和电源状态,不急着断电 ipmitool -I lanplus -H 192.0.2.10 -U operator -P '变更我' chassis power status ipmitool -I lanplus -H 192.0.2.10 -U operator -P '变更我' sel list | tail -n 40sel list里如果出现看门狗超时、电源异常、温度告警,按对应方向查。刷新中途卡住有时是带外网页超时,后台其实还在写,刷新页面反而打断会话。等够时间再判断。断电放电是最后手段,放完电第一次开机可能还会重启一次,属于正常切换,不要连续强制关机。
5.3 刷完找不到启动项或网卡
现象:进 BIOS 看不到阵列卡,或者系统起来后网卡名变了、业务不通。原因常见是 Boot Mode 被改、PCIe 插槽顺序变化、SR-IOV 或 Above 4G 设置变化、阵列卡固件和新 BIOS 兼容性有问题。解决:先恢复 Boot Mode 和启动顺序,再看lspci里设备 ID 是否还在;网卡名变了就按设备 ID 改网络配置或恢复插槽顺序;阵列卡消失先查插槽是否被禁用,再考虑单独升级阵列卡固件。不要一上来重刷 BIOS。
# 按设备 ID 找网卡,不依赖 ens 命名 lspci -nn | grep -i ethernet ip -br link # 看内核是否认到阵列卡 lspci -nn | grep -Ei 'raid|sas'lspci能看到设备但ip link没有对应网口,可能是驱动或固件问题;lspci都看不到,先回 BIOS 查插槽。网卡命名变化可以用 udev 规则固定,但生产机改名前先确认业务绑定的是 MAC 还是名称,别把管理口也改丢。
5.4 版本回退失败或降级被拒
现象:拿旧版本包回退,带外或 UEFI Shell 提示版本不允许降级、镜像签名不通过。原因通常是新固件启用了回退保护、跨代际包不匹配、缺少中间桥接版本。解决:先看 README 是否允许降级,不允许就不要强刷;需要降级时按厂商给出的桥接路径先升到指定版本再降;带外恢复模式也不能绕过签名校验时,停下找官方说明,不要用修改文件名的办法硬刷。强刷失败可能让双 BIOS 区都不可启动,恢复成本远高于多花半小时查文档。
# 回退前再次确认当前版本和目标回退版本 sudo dmidecode -s bios-version sha256sum ./rollback/* 2>/dev/null || truedmidecode确认当前确实已经是新版本,避免拿错机器。回退包哈希也要核对,旧包放久了可能损坏。降级被拒不是“再刷一次就好”的问题,先读限制条件。R3 这类机器如果带外还能进,优先用带外看官方恢复选项;带外也进不去,再按 README 的跳线或恢复模式处理,跳线操作要断电并戴防静电手环。
6. 验收方法:R3 BIOS 包刷完后用 5 项检查确认跑通
刷完 BIOS 能开机不等于装好了。我验收分三层:第一层看版本和校验,确认刷的确实是目标包;第二层看启动、存储、网络、风扇、日志五项运行状态;第三层做一次冷启动和断电恢复,确认不是“热状态碰巧正常”。验收不做,后面业务上线再出问题,排查成本会翻倍。
6.1 版本与校验和复核
先读 BIOS 版本和发布日期,和包内 README 的目标版本对照。再看带外日志里有没有刷写后的告警。最后核对业务侧设备列表,和刷前基线对比。
# 版本复核 sudo dmidecode -s bios-version sudo dmidecode -s bios-release-date # 五项快速检查 lspci -nn | grep -Ei 'raid|sas|ethernet' | head -n 20 lsblk -o NAME,SIZE,TYPE,MOUNTPOINT ip -br link ipmitool -I lanplus -H 192.0.2.10 -U operator -P '变更我' sensor | grep -Ei 'temp|fan' | head -n 20 ipmitool -I lanplus -H 192.0.2.10 -U operator -P '变更我' sel list | tail -n 20版本字符串必须和 README 一致,日期合理即可。lspci看阵列卡和网卡是否都在,lsblk看系统盘和阵列盘是否齐全,ip -br link看管理口和业务口是否 up。传感器重点看温度和风扇有没有持续告警,sel list看有没有新的硬件错误。五项里任何一项不对,先回到第 4 章对应小节处理,不要继续做冷启动。
6.2 冷启动、断电恢复与业务验证
冷启动三次,每次等系统完全起来再关。第一次看启动项,第二次看阵列卡识别,第三次看网卡顺序。然后做一次正常关机、拔电 30 秒、上电,确认 BIOS 里的断电恢复策略生效,机器能自己起来。业务侧跑一次读写下盘和网络连通性测试,不用压满,确认路径通即可。
| 验收项 | 合格标准 | 不合格先查 |
|---|---|---|
| BIOS 版本 | 与 README 目标版本一致 | 包是否刷错、是否双区未切换 |
| 启动项 | 系统盘第一,能进系统 | Boot Mode、启动顺序 |
| 存储 | 阵列卡和系统盘全识别 | 控制器模式、阵列卡固件 |
| 网络 | 管理口和业务口按预期 up | PCIe 插槽、网卡命名 |
| 风扇/日志 | 无持续告警,温度稳定 | 功耗策略、带外风扇模式 |
这张表我一般打印出来贴在机柜边,刷完逐项打勾。冷启动三次都正常,才把机器交回业务。只做一次热重启就交付,后面遇到市电波动重启失败,回头查更麻烦。
6.3 我每次都会留的恢复包
验收通过后,把刷前基线、刷后状态、包内 README、校验文件、带外日志导出到同一个目录,按机器资产编号归档。U 盘里的rollback目录不要马上清,至少留到这批机器稳定运行一个维护周期。从那以后我每次刷 R3 的 BIOS 都强制走一遍:记录原版本、校验 SHA256、冷启动三次、看带外日志,少一步都不签字。需要这份 R3 BIOS 包的话,从资源入口取,拿到先按第 2 章校验,再按上面的顺序上机。希望帮到你。
本文还有配套的精品资源,点击获取