0

0

Linux怎么查看系统固件日志_Linux UEFI日志与dmesg解析【故障】

冰火之心

冰火之心

发布时间:2026-01-18 17:01:03

|

487人浏览过

|

来源于php中文网

原创

需结合uefi运行时日志与内核环形缓冲区交叉分析:一、挂载esp并读取loaderlog.txt等固件日志;二、用dmesg -t过滤efi/acpi/secureboot信息;三、挂载efivars并检查firmwarelog-*变量;四、比对/var/log/dmesg与实时dmesg;五、用firmware-checker校验固件一致性。

linux怎么查看系统固件日志_linux uefi日志与dmesg解析【故障】

如果您尝试诊断与系统固件(如UEFI/BIOS)相关的异常行为,但常规系统日志未提供足够线索,则需结合UEFI运行时日志与内核环形缓冲区中的硬件初始化信息进行交叉分析。以下是解决此问题的步骤:

一、提取并查看UEFI固件日志

UEFI固件在启动过程中会将运行时事件(如变量操作、安全启动策略、ACPI表加载失败等)记录到EFI系统分区(ESP)的特定日志文件中,该日志独立于Linux内核日志,需手动挂载ESP并读取。该方法可捕获BIOS/UEFI层未被内核解析或上报的底层错误。

1、确认EFI系统分区挂载点,执行:sudo fdisk -l | grep -i "ef00"lsblk -f | grep vfat

2、若ESP未挂载,创建挂载点并挂载,例如:sudo mkdir -p /mnt/efi && sudo mount /dev/sda1 /mnt/efi(请将/dev/sda1替换为实际ESP设备)。

3、检查UEFI日志路径,常见位置为:/mnt/efi/EFI/systemd/LoaderLog.txt/mnt/efi/EFI/Microsoft/Boot/BCD.log(取决于固件厂商与启动管理器)。

4、使用catless查看日志内容:sudo cat /mnt/efi/EFI/systemd/LoaderLog.txt 2>/dev/null || echo "无LoaderLog.txt"

二、使用dmesg解析UEFI相关内核初始化信息

dmesg输出中包含内核对UEFI固件接口的调用结果、ACPI表解析状态、Secure Boot验证日志及固件提供的硬件描述数据,这些内容直接反映固件与内核交互是否正常。关键字段包括efi:acpi:secureboot:前缀行。

1、以可读时间戳显示全部dmesg日志:dmesg -T | less

2、过滤UEFI专属信息:dmesg -T | grep -i "efi\|uefi\|acpi\|secureboot"

3、单独提取ACPI表加载状态(常暴露固件兼容性缺陷):dmesg -T | grep -E "(ACPI|DSDT|FADT|XSDT|SSDT)"

4、检查Secure Boot启用状态与签名验证结果:dmesg -T | grep -i "secureboot\|verify\|signature"

三、启用并读取UEFI运行时服务日志(需内核支持)

部分UEFI固件支持通过Linux内核的efivars接口导出运行时日志缓冲区,该缓冲区由固件维护,记录重启间持续的事件(如TPM测量、变量修改、启动失败计数)。此功能依赖内核配置CONFIG_EFIVAR_FS=y且efivars已挂载。

人声去除
人声去除

用强大的AI算法将声音从音乐中分离出来

下载

1、确认efivars已挂载:mount | grep efivarfs;若未挂载,执行:sudo mount -t efivars efivars /sys/firmware/efi/efivars

2、列出所有UEFI变量:ls /sys/firmware/efi/efivars/ | grep -i "log\|error\|fail"

3、若存在类似FirmwareLog-*PlatformError-*变量,使用xxdhexdump查看其原始内容:sudo xxd /sys/firmware/efi/efivars/FirmwareLog-*

四、比对dmesg与/var/log/dmesg持久化副本

系统启动后,早期内核日志可能被写入/var/log/dmesg(由systemd或rsyslog服务触发),该文件内容与实时dmesg命令输出略有差异:它仅保存启动阶段日志,不包含运行时新生成的UEFI事件(如热插拔设备触发的ACPI通知)。比对二者可识别固件日志是否在启动后被截断或覆盖。

1、查看持久化日志:sudo cat /var/log/dmesg 2>/dev/null

2、提取其中UEFI相关行:sudo cat /var/log/dmesg 2>/dev/null | grep -i "efi\|uefi\|acpi"

3、对比实时dmesg中相同关键词的最新出现时间:dmesg -T | grep -i "efi" | tail -n 3

五、使用firmware-checker工具校验UEFI固件一致性

某些发行版(如Fedora、RHEL 9+)预装firmware-checker工具,可自动扫描UEFI固件版本、签名状态、已知漏洞CVE匹配及ACPI表完整性。该工具直接调用efibootmgrdmesg输出,无需人工解析日志文本。

1、检查工具是否存在:which firmware-checker

2、以详细模式运行检测:sudo firmware-checker --verbose

3、若输出中包含ACPI table mismatchInvalid UEFI signatureMissing Secure Boot policy等提示,对应行即为固件异常定位点。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
Sass和less的区别
Sass和less的区别

Sass和less的区别有语法差异、变量和混合器的定义方式、导入方式、运算符的支持、扩展性等。本专题为大家提供Sass和less相关的文章、下载、课程内容,供大家免费下载体验。

216

2023.10.12

c语言中null和NULL的区别
c语言中null和NULL的区别

c语言中null和NULL的区别是:null是C语言中的一个宏定义,通常用来表示一个空指针,可以用于初始化指针变量,或者在条件语句中判断指针是否为空;NULL是C语言中的一个预定义常量,通常用来表示一个空值,用于表示一个空的指针、空的指针数组或者空的结构体指针。

252

2023.09.22

java中null的用法
java中null的用法

在Java中,null表示一个引用类型的变量不指向任何对象。可以将null赋值给任何引用类型的变量,包括类、接口、数组、字符串等。想了解更多null的相关内容,可以阅读本专题下面的文章。

1049

2024.03.01

scripterror怎么解决
scripterror怎么解决

scripterror的解决办法有检查语法、文件路径、检查网络连接、浏览器兼容性、使用try-catch语句、使用开发者工具进行调试、更新浏览器和JavaScript库或寻求专业帮助等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

451

2023.10.18

500error怎么解决
500error怎么解决

500error的解决办法有检查服务器日志、检查代码、检查服务器配置、更新软件版本、重新启动服务、调试代码和寻求帮助等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

373

2023.10.25

硬盘接口类型介绍
硬盘接口类型介绍

硬盘接口类型有IDE、SATA、SCSI、Fibre Channel、USB、eSATA、mSATA、PCIe等等。详细介绍:1、IDE接口是一种并行接口,主要用于连接硬盘和光驱等设备,它主要有两种类型:ATA和ATAPI,IDE接口已经逐渐被SATA接口;2、SATA接口是一种串行接口,相较于IDE接口,它具有更高的传输速度、更低的功耗和更小的体积;3、SCSI接口等等。

1846

2023.10.19

PHP接口编写教程
PHP接口编写教程

本专题整合了PHP接口编写教程,阅读专题下面的文章了解更多详细内容。

614

2025.10.17

php8.4实现接口限流的教程
php8.4实现接口限流的教程

PHP8.4本身不内置限流功能,需借助Redis(令牌桶)或Swoole(漏桶)实现;文件锁因I/O瓶颈、无跨机共享、秒级精度等缺陷不适用高并发场景。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2354

2025.12.29

JavaScript浏览器渲染机制与前端性能优化实践
JavaScript浏览器渲染机制与前端性能优化实践

本专题围绕 JavaScript 在浏览器中的执行与渲染机制展开,系统讲解 DOM 构建、CSSOM 解析、重排与重绘原理,以及关键渲染路径优化方法。内容涵盖事件循环机制、异步任务调度、资源加载优化、代码拆分与懒加载等性能优化策略。通过真实前端项目案例,帮助开发者理解浏览器底层工作原理,并掌握提升网页加载速度与交互体验的实用技巧。

23

2026.03.06

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 10.3万人学习

Git 教程
Git 教程

共21课时 | 4.1万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号