dmesg 命令可查看内核启动日志,但原始输出量大且无时间戳,建议配合过滤与格式化:用 dmesg | less 分页、dmesg -T | less 加时间戳、dmesg -H 高亮相对时间;按设备(usb/pci/nvme等)或错误关键词(failed/error/warn)过滤;用 tail -15、-w 或 watch 实时监控;保存日志需重定向输出,因缓冲区内容易被覆盖或重启丢失。

直接运行 dmesg 就能查看内核启动过程中的全部日志,但原始输出量大、无时间戳、不易定位关键信息,建议配合过滤和格式化使用。
分页查看完整启动日志
内核环形缓冲区记录了从开机到当前的所有初始化事件,包括 CPU、内存、PCI 设备、硬盘、USB 控制器等检测过程。用以下命令可逐页浏览:
- dmesg | less —— 支持上下翻页、搜索(按 / 输入关键词)
- dmesg -T | less —— 加上可读时间戳(如 [Thu Sep 25 09:12:03 2026]),便于关联故障发生时间
- dmesg -H —— 启用高亮与相对时间(如 “3 minutes ago”),更直观
快速定位硬件与驱动相关消息
启动阶段的问题多集中在设备识别失败或驱动加载异常,可针对性过滤:
- dmesg | grep -i "usb\|pci\|eth\|nvme\|sata" —— 查看常见总线和存储设备初始化情况
- dmesg | grep -i "failed\|error\|warn\|unable" —— 捕捉明显异常线索
- dmesg -l err,warn,crit —— 只显示错误、警告、严重级别日志,跳过大量 info 噪音
查看最近几行或实时监控新事件
刚插拔设备或重启后想确认是否被识别,适合用轻量方式:
- dmesg | tail -15 —— 显示最后 15 行,常含最新设备动作(如 U 盘插入)
- dmesg -w —— 实时跟踪新日志(类似 tail -f),Ctrl+C 退出
- watch -n 1 'dmesg | tail -5' —— 每秒刷新末尾 5 行,适合短时观察
保存日志供后续分析或归档
环形缓冲区内容会随新消息覆盖旧条目,重启后也丢失(除非写入文件)。需要留存时:
- dmesg -T > boot.log —— 保存带时间戳的当前快照
- sudo dmesg -c > current.log —— 读取并清空缓冲区,避免重复干扰
- zcat /var/log/kern.log.1.gz | grep -A 5 -B 5 "panic" —— 系统已重启?查轮转压缩日志找崩溃前兆


















