dmesg 是 Linux 内核环形缓冲区日志,报错种类非常多,不能一概而论。要“解决”,通常流程是:
下面给你一个通用排查与解决思路,并附常见例子。
dmesg
dmesg | tail -50
dmesg -T # 显示可读时间
journalctl -k # systemd 系统看内核日志
示例:
nvme nvme0: I/O timeout
usb 1-2: device descriptor read/64, error -71
✅ 解决思路:
lsusb
lspci
示例:
EXT4-fs error (device sda1): ext4_find_entry: ...
✅ 解决:
umount /dev/sda1
fsck -y /dev/sda1
⚠️ 不要在挂载状态下修复根分区(用 Live CD)
示例:
BUG: unable to handle page fault
EDAC MC0: UE
✅ 解决:
memtester 1G 1
示例:
Out of memory: Kill process 1234
✅ 解决:
free -h
swapon --show
示例:
module verification failed
✅ 解决:
你可以直接把 dmesg 报错原文 贴出来,例如:
[ 123.456] xxx error ...
并补充:
uname -a)如果你愿意,把具体报错贴出来,我可以直接告诉你“这是什么问题 + 怎么做”。