Linux系统固件版本可通过五种命令行方法获取:一、sudo dmidecode -t bios查Version字段;二、cat /sys/firmware/efi/fw_ver或/sys/class/dmi/id/bios_version;三、sudo fwupdmgr get-devices查主板固件;四、dmesg | grep -i "bios\|uefi";五、sudo lshw -class system查firmware字段。

如果您需要确认当前Linux系统所运行的固件(BIOS或UEFI)版本,以便进行硬件兼容性排查、安全更新验证或故障诊断,则需通过命令行工具读取底层固件信息。以下是获取该信息的多种方法:
一、使用dmidecode命令读取SMBIOS信息
dmidecode工具可解析系统DMI(Desktop Management Interface)表,其中包含BIOS厂商、版本、发布日期等关键固件元数据。该命令需root权限运行,直接访问硬件固件接口。
1、以root用户身份执行:sudo dmidecode -t bios
2、在输出中查找Version:字段,其后内容即为BIOS/UEFI版本号
3、同时关注Vendor:和Release Date:字段,用于交叉验证固件来源与时效性
二、读取sysfs接口中的固件标识文件
Linux内核在启动时将UEFI或Legacy BIOS的版本信息映射至/sys/firmware/目录下,无需特权即可访问,适用于受限环境下的快速核查。
1、执行命令查看UEFI版本(若系统运行于UEFI模式):cat /sys/firmware/efi/fw_ver
2、通用固件版本路径(部分发行版支持):cat /sys/class/dmi/id/bios_version
3、查看固件厂商标识:cat /sys/class/dmi/id/bios_vendor
三、使用fwupdmgr查询固件更新状态及版本
fwupdmgr是基于LVFS(Linux Vendor Firmware Service)的固件管理工具,不仅显示当前版本,还提供可识别的固件设备列表及其详细属性,依赖fwupd服务已启用并正常运行。
1、列出所有受支持的固件设备:sudo fwupdmgr get-devices
2、针对主板固件项,查找Version:字段对应值
3、如需更详细信息,运行:sudo fwupdmgr get-details $(sudo fwupdmgr get-devices | grep -A1 "System Firmware" | grep -E "ID:" | cut -d: -f2 | tr -d ' ') 2>/dev/null
四、检查dmesg启动日志中的固件识别记录
内核在初始化阶段会扫描并打印固件相关信息至环形缓冲区,dmesg可回溯这些原始日志,适合在未安装额外工具的最小化系统中使用。
1、执行命令过滤固件相关行:dmesg | grep -i "firmware\|bios\|uefi"
2、定位含DMI:前缀的行,通常包含BIOS版本字符串
3、若存在UEFI启动痕迹,查找EFI v开头的版本声明行
五、使用lshw工具提取固件摘要
lshw能以结构化方式枚举全部硬件组件,其输出中“firmware”节点明确列出BIOS/UEFI版本、日期与容量,适合生成报告场景。
1、以管理员权限运行:sudo lshw -class system -short
2、观察输出中firmware字段所在行,其第三列即为版本号
3、如需完整详情,改用:sudo lshw -class system | grep -A5 "configuration:"










