大家好,我是JACK,本篇是服务器硬件基础系列第九篇,也是本系列的最后一篇,上一篇我们讲了BMC/IPMI,这篇我们聊BIOS/UEFI,结合实际测试经验来讲。

一、BIOS/UEFI是什么

BIOS(Basic Input/Output System)是服务器上电后最先运行的固件,负责初始化所有硬件,然后将控制权移交给操作系统。

现代服务器已经全面升级为 UEFI(Unified Extensible Firmware Interface),相比传统BIOS:

  • 支持2TB以上磁盘引导
  • 图形化操作界面,支持鼠标
  • 启动速度更快
  • 支持安全启动(Secure Boot)
  • 可扩展性更强

日常我们仍然习惯叫它"BIOS",本篇统一使用这个叫法。

鲲鹏920服务器使用的是华为自研BIOS,基于UEFI标准,在ARM架构下针对鲲鹏920平台做了专项适配和优化。

二、如何进入BIOS

服务器开机POST阶段按指定键进入BIOS,鲲鹏920服务器通常是 Delete 键或 F2 键。

实际测试中更常用的方式是通过BMC Web远程KVM进入BIOS,不需要到机房现场操作:

  1. 浏览器登录BMC Web界面
  2. 进入远程控制 → KVM
  3. 服务器重启时在KVM画面中按对应键进入BIOS

💡 注意时机:POST阶段时间很短,要在出现华为Logo时迅速按键,错过了就要再重启一次。用BMC KVM操作时网络延迟会影响按键响应,可以提前把键盘输入焦点切到KVM窗口,重启后连续按键。

三、鲲鹏920 BIOS关键配置项

1. NUMA配置

NUMA(Non-Uniform Memory Access)是影响服务器性能的重要架构特性,鲲鹏920双路服务器有4个NUMA节点。

路径:Advanced → NUMA Configuration
选项 说明
NUMA Support Enable(默认开启,不要关闭)
Node Interleaving Disable(默认关闭,开启后内存访问均匀化但单NUMA性能下降)

💡 测试建议:保持默认配置,即NUMA Support开启、Node Interleaving关闭,这样可以测出最真实的NUMA性能表现。如果应用层需要关闭NUMA感知,在OS层用 numactl 处理,不建议在BIOS层关闭。

2. 内存频率配置

路径:Advanced → Memory Configuration
选项 说明
Memory Frequency 建议设为Auto或最高支持频率
Memory RAS Mode Independent Channel(性能优先)/ Mirror(可靠性优先)

内存频率如果没有跑到标称值,先到BIOS确认这里的配置是否正确,有时候设置为了节能模式导致频率降低。

3. PCIe配置

路径:Advanced → PCIe Configuration
选项 说明
PCIe Speed Auto(建议)/ Gen4 / Gen3
PCIe ASPM Disable(测试时建议关闭,避免省电策略影响PCIe性能)
Above 4G Decoding Enable(支持大于4GB的PCIe内存映射,NPU加速卡必须开启)

💡 实际案例:之前遇到过PCIe链路跑不到Gen4速率,lspci看LnkSta只有8GT/s而不是16GT/s,进BIOS检查发现PCIe Speed被设置成了Gen3,改成Auto后恢复Gen4正常速率。

4. CPU功耗配置

路径:Advanced → CPU Configuration → Power Management
选项 说明
CPU Power Management Performance(测试时建议选性能模式)
CPU Frequency Scaling Disable(测试时建议关闭变频,保持固定频率)
C-States Disable(测试时建议关闭,避免CPU进入低功耗状态影响响应延迟)

💡 测试建议:性能测试时关闭C-States和变频,确保CPU始终以最高频率运行,测试结果更稳定。功耗测试时可以开启,测试省电效果。

5. 安全启动(Secure Boot)

路径:Security → Secure Boot

信创环境通常需要安装国产OS(如openEuler、麒麟),如果遇到OS无法启动的情况,检查Secure Boot是否开启,安装非签名系统时需要临时关闭。

Secure Boot:Disabled

6. 启动顺序配置

路径:Boot → Boot Option Priorities

可以设置从哪个设备优先启动:NVMe硬盘、SAS硬盘、PXE网络启动等。测试时如果需要从外部介质重装系统,需要临时调整启动顺序。

四、BIOS版本确认

# 通过命令行查看BIOS版本
[root@localhost ~]# dmidecode -t bios
BIOS Information
        Vendor: Huawei
        Version: 2.10
        Release Date: 2025/06/15
        BIOS Revision: 2.10

# 也可以通过ipmitool查看
[root@localhost ~]# ipmitool mc info | grep Firmware
Firmware Revision         : 6.38

五、常见问题及排查

1. 服务器开机卡在POST阶段

通过BMC KVM查看屏幕输出,观察卡在哪一步:

  • 卡在内存检测:可能有内存条故障或接触不良,重新插拔或更换内存条
  • 卡在PCIe设备初始化:某个PCIe设备有问题,检查lspci识别情况
  • 卡在RAID初始化:RAID卡配置有问题,进BIOS或RAID卡管理界面检查

2. 安装OS后无法引导

# 常见原因和处理:
1. Secure Boot开启  → 进BIOS关闭Secure Boot
2. 启动顺序错误     → 进BIOS调整Boot Option到正确的硬盘
3. 引导分区损坏     → 需要重装系统或修复引导

3. PCIe设备识别不全

已在Day4文章中详细说明,BIOS层面重点检查:

  • Above 4G Decoding 是否开启
  • PCIe Speed配置是否正确
  • 是否需要升级BIOS版本
# 确认系统层识别情况
[root@localhost ~]# lspci | grep -i ascend
# 对比实际安装数量,如果不一致进BIOS确认设备枚举情况

4. 内存频率跑不到标称值

# 先查看当前实际运行频率
[root@localhost ~]# dmidecode -t memory | grep "Configured Memory Speed"
Configured Memory Speed: 2933 MT/s
# 标称3200 MT/s,实际只跑2933

# 进BIOS检查
# Advanced → Memory Configuration → Memory Frequency
# 如果是Auto但仍然降频,检查内存混插情况(不同频率内存混插会降到最低公共频率)

六、BIOS升级

BIOS升级通常在以下情况下进行:

  • 修复已知硬件兼容性问题
  • 新增对某型号硬盘/网卡/加速卡的支持
  • 修复安全漏洞

升级方式:

方式一:通过BMC Web界面升级(推荐)

  1. 登录BMC Web界面
  2. 进入固件升级页面
  3. 上传华为提供的BIOS固件包
  4. 确认升级,等待完成后自动重启

方式二:通过BIOS界面本地升级

  1. 将固件包放到U盘
  2. 进入BIOS → Firmware Update
  3. 选择U盘中的固件包升级

💡 注意:BIOS升级过程中不能断电,建议升级前备份当前BIOS配置,升级后重新核对关键配置项是否被重置为默认值。

七、总结

BIOS是服务器硬件测试中经常需要介入的环节。鲲鹏920服务器BIOS测试关注四个核心配置:NUMA开启、PCIe满速、CPU性能模式、内存频率达标。遇到硬件识别异常、性能跑不到标称值,除了检查OS层配置,一定要同步检查BIOS配置是否正确。


系列总结

至此,服务器硬件基础系列九篇全部完成:

篇章 主题
第一篇 从零认识服务器
第二篇 CPU详解(鲲鹏920)
第三篇 内存详解
第四篇 存储详解
第五篇 网卡详解
第六篇 电源详解
第七篇 散热详解
第八篇 BMC/IPMI详解
第九篇 BIOS/UEFI详解

感谢关注,后续继续更新百日学习计划和Linux命令系列!

欢迎关注 JACK的服务器笔记

Logo

鲲鹏昇腾开发者社区是面向全社会开放的“联接全球计算开发者,聚合华为+生态”的社区,内容涵盖鲲鹏、昇腾资源,帮助开发者快速获取所需的知识、经验、软件、工具、算力,支撑开发者易学、好用、成功,成为核心开发者。

更多推荐