Debian系統中查看硬件故障信息的日志方法
dmesg
(內核環緩沖區日志)dmesg
命令用于顯示內核啟動及運行過程中記錄的硬件相關消息,是排查硬件故障的基礎工具。它會捕獲硬盤、內存、USB設備、PCI設備等的錯誤信息(如ATA命令失敗、設備超時、驅動加載失敗等)。
dmesg
查看所有內核消息,按Ctrl+C
退出;tail -f /var/log/kern.log
(或dmesg -w
)實時查看最新的內核消息,便于捕捉瞬時的硬件錯誤;grep
篩選錯誤信息,例如dmesg | grep -i "error\|fail\|warning"
(不區分大小寫匹配“error”“fail”“warning”),或針對特定設備(如硬盤sda
)查看日志:dmesg | grep sda
。/var/log/syslog
與/var/log/kern.log
Debian的系統日志集中存儲在/var/log
目錄下,其中兩個文件與硬件故障密切相關:
/var/log/syslog
:記錄系統通用事件(包括硬件故障、服務啟停、用戶操作等),可使用grep
命令快速定位硬件錯誤,例如:grep -i "hardware\|error\|fail" /var/log/syslog
(搜索“hardware”“error”“fail”等關鍵詞);/var/log/kern.log
:專門記錄內核相關的日志(包括硬件驅動加載、內核錯誤、硬件異常等),是排查硬件問題的關鍵文件。例如:grep -i "pci\|usb\|disk" /var/log/kern.log
(篩選PCI、USB、硬盤相關的內核消息)。journalctl
命令對于使用systemd的Debian系統(Debian 8及以上),journalctl
是更強大的日志管理工具,可整合查看所有服務(包括內核)的日志,并支持按時間、優先級、服務名稱過濾:
journalctl
(默認顯示所有日志,按時間倒序排列);journalctl -b
(顯示本次系統啟動以來的日志,便于排查啟動時的硬件問題);journalctl -p err
(僅顯示錯誤級別及以上的日志,減少無關信息);journalctl --since "2025-10-01" --until "2025-10-20"
(查看指定時間段內的日志,適用于定位近期出現的硬件故障);journalctl | grep -i "disk error"
(搜索所有日志中的“disk error”信息)。若日志中發現疑似硬件故障的信息(如硬盤錯誤),可通過以下命令進一步驗證:
smartctl
(硬盤健康檢測):安裝smartmontools
包(sudo apt-get install smartmontools
),運行sudo smartctl -a /dev/sda
(替換sda
為你的硬盤設備名),查看硬盤的SMART健康狀態(如壞道數量、溫度、錯誤計數等);lshw
(硬件配置概覽):安裝lshw
包(sudo apt-get install lshw
),運行sudo lshw -short
(簡要列出所有硬件組件),確認硬件型號是否與實際一致;mcelog
(機器檢查異常):用于記錄CPU檢測到的硬件錯誤(如內存錯誤、總線錯誤),運行sudo mcelog --client
查看最近的MCE日志。journalctl
的時間過濾功能縮小范圍;dmesg
中的硬盤錯誤可能與/var/log/syslog
中的服務失敗日志(如數據庫無法寫入)關聯,共同指向硬盤故障。