如何使用 SMART 檢測 Linux 系統下的硬碟健康狀況

若要在 Linux 系統上檢查硬碟、固態硬碟或 NVMe 驅動器,可以使用 SMART 資料smartmontools。首先使用sudo smartctl -H /dev/DEVICE`mtf` 指令查看磁碟機的健康摘要,然後使用 `mtf` 指令sudo smartctl -x /dev/DEVICE查看更多詳細資料。 GNOME Disks 也提供了類似的圖形介面檢查功能。 「通過」結果雖然有用,但並不能保證驅動器不會發生故障,因此請務必保持最新的備份。

1. 確定實體驅動器

首先列出磁碟,以免對錯誤的設備進行檢查。在終端機中輸入:

lsblk -d -o NAME,MODEL,SIZE,TRAN

此-d選項會列出整個設備,而不是它們的分割區。 SATA/dev/sda硬碟的常用名稱包括 `/usr/local`, /dev/nvme0n1NVMe 硬碟的常用名稱包括 `/usr/local`。分割區會附加一個數字,例如/dev/sda1`/ usr/local` 或/dev/nvme0n1p1`/usr/local`;SMART 偵測請使用整個磁碟路徑。繼續操作前,請確認型號和容量。 lsblk手冊解釋了設備清單選項。

使用 lsblk 指令在 Linux 終端機中列出所有 SATA 和 NVMe 磁碟機
範例設備名稱lsblk;您的型號、尺寸和設備名稱將有所不同。

2. 安裝 smartmontools

該smartctl命令已包含在smartmontools軟體包中。請使用發行版的軟體包管理器安裝它:

  • Ubuntu 或 Debian:sudo apt install smartmontools
  • Fedora:sudo dnf install smartmontools
  • Arch Linux:sudo pacman -S smartmontools
  • openSUSE:sudo zypper install smartmontools

對於其他發行版,請在其軟體倉庫中尋找smartmontools或使用項目的官方下載頁面。您無需打開 root shell;在每個檢查前加上sudo.

3. 閱讀健康狀況和 SMART 報告

將範例設備路徑替換為您找到的整個磁碟名稱。例如,對於名為 `<disk_name>` 的 SATA 磁碟sda,請執行:

sudo smartctl -H /dev/sda

摘要可能包含部分PASSED或全部內容FAILED。若要查看屬性和已記錄的錯誤,請執行完整報表:

sudo smartctl -x /dev/sda

例如,對 NVMe 驅動器使用相同的模式sudo smartctl -x /dev/nvme0n1。此選項會列印擴展的 SMART 和設備資訊。 smartmontools專案的-x最新smartctl 手冊記錄了健康檢查、報告選項和自我檢測功能。

Linux 終端機顯示 smartctl 健康檢查結果,SATA 硬碟通過。
SMART 概要範例。實際措辭和結果取決於驅動器。

如何解讀這份報告

不要將單行資料視為完整的診斷結果。請同時查看整體健康狀況報告、錯誤日誌以及相關數值是否隨時間變化。在許多SATA硬碟和固態硬碟上,諸如重新分配磁區、目前待處理磁區和離線不可修正磁區等屬性可能指示媒體問題。屬性名稱和原始值因製造商而異,因此僅憑非零原始值並不總是故障的證明。請特別注意健康狀況報告異常、列中列出的故障WHEN_FAILED或持續增加的數值。

NVMe 報告使用不同的欄位。請檢查`<T> Critical Warning`、 `<T>` Available Spare、Percentage Used`<T>` 和 `<T> Media and Data Integrity Errors`。非零的關鍵警告或不斷上升的介質錯誤計數都應受到重視。 `<T> Percentage Used` 是耐久性評估,並非直接的通過/失敗判定。如果報告顯示「失敗」、目前屬性故障或系統正在記錄磁碟 I/O 錯誤,請立即備份重要檔案並計畫更換硬碟。即使報告顯示正常,也不能取代備份。

包含 NVMe 嚴重警告、可用備用容量、已使用百分比和媒體錯誤欄位的 smartctl 範例報告
需要查看的 NVMe 欄位範例;驅動器輸出和屬性解釋因型號而異。

4. 當需要更多資訊時,請執行自測

自檢功能會要求硬碟進行自我檢查並記錄結果。要進行簡短的自檢,請運行:

sudo smartctl -t short /dev/sda

Smartctl 會列印出預計完成時間。時間過後,請讀取測試日誌:

sudo smartctl -l selftest /dev/sda

可以開始執行更長時間、更徹底的測試sudo smartctl -t long /dev/sda;這可能需要更長時間,尤其是在大容量硬碟上。測試完成後,請再次檢查日誌。兩個命令中都要使用正確的設備路徑。自檢是診斷性的,而不是修復性的。如果硬碟已經發生故障或包含重要檔案的唯一備份,請優先複製數據,然後再執行其他測試。

檢查 GNOME 磁碟健康狀況

如果您喜歡圖形化工具,請先gnome-disk-utility從發行版軟體倉庫安裝(如果尚未安裝),然後開啟「磁碟」選單。在左側邊欄中選擇實體驅動器,開啟驅動器選單,然後選擇「SMART 資料和自我檢測」。查看整體評估和屬性,或從對話方塊中選擇自檢項目。 GNOME官方磁碟檢查指南詳細介紹了這些步驟。

GNOME 磁碟 SMART 資料和自我檢測視窗顯示整體評估和簡短自我檢測選項
GNOME 磁碟範例視圖;標籤和可用測試可能因版本和磁碟機而異。

如果 Linux 無法讀取 SMART 數據

某些 USB 轉接器、RAID 控制器或虛擬磁碟不會將 SMART 資訊傳遞給 Linux。嘗試sudo smartctl --scan-open使用 smartctl 指令查看哪些裝置可以開啟。如果仍然無法識別驅動器,請在嘗試使用裝置類型選項之前,先查看適配器或控制器的文件。缺少 SMART 報告意味著連接路徑可能限制了存取;但這本身並不能證明驅動器是健康的還是損壞的。

對於例行檢查,請儲存報告sudo smartctl -x /dev/sda | tee ~/smart-report.txt並與後續報告進行比較。如果發生警告或硬碟運作異常,請先進行備份,並將 SMART 報告視為早期預警,而不是硬碟壽命的保證。

留下評論

如何在Linux系統上使用Cameractrls更改網路攝影機設置

如何在Linux系統上使用Cameractrls更改網路攝影機設置

使用 Cameractrls 在 Linux 上變更網路攝影機設定:調整曝光、色彩、減少閃爍和其他支援的控件,然後檢查相容的視訊模式。

如何在 Linux 上安裝 PhpStorm:工具箱、Tar.gz、Snap 和 AUR

如何在 Linux 上安裝 PhpStorm:工具箱、Tar.gz、Snap 和 AUR

在 Linux 系統上,您可以使用 JetBrains Toolbox 或獨立的 tar.gz 壓縮套件安裝 PhpStorm,此外還有 Snap 和 Arch AUR 版本可供選擇。 Java 已預先安裝。

如何在 Linux 系統上將 CD-ROM 備份為 ISO 文件

如何在 Linux 系統上將 CD-ROM 備份為 ISO 文件

在 Linux 上使用 GNOME Disks 或 dd 建立 CD-ROM ISO。識別光碟機,監控複製過程,驗證鏡像,並了解何時損壞的光碟或音訊光碟需要其他工具。

如何在 XFCE 4 上設定雙面板

如何在 XFCE 4 上設定雙面板

為每個顯示器建立一個單獨的 XFCE 4 面板,將第二個面板指派給正確的輸出,調整其位置和大小,並新增所需的啟動器和狀態項目。

如何在Linux上安裝Cisco Packet Tracer

如何在Linux上安裝Cisco Packet Tracer

下載適用於 Ubuntu 64 位元系統的 Cisco Packet Tracer 9.0.1,使用 APT 安裝 DEB 軟體包,在終端機中接受許可協議,然後登入以啟動實驗環境。

如何在Linux系統下使用GIMP摳圖

如何在Linux系統下使用GIMP摳圖

在 Linux 系統上使用 GIMP 去除照片背景:描繪主體,刪除選定的背景,保持透明度,並匯出可重複使用的 PNG 檔案。

免費下載 FlightGear:官方安裝指南

免費下載 FlightGear:官方安裝指南

從官方網站免費下載 FlightGear。比較 Windows、macOS 和 Linux 版本的軟體包,安裝資料文件,即可開始您的首次飛行。

Google Tasks桌面應用程式:如何在電腦上使用

Google Tasks桌面應用程式:如何在電腦上使用

在瀏覽器中開啟 Google Tasks,新增 Chrome 捷徑或應用程式啟動,並透過行事曆和 Gmail 管理有日期的待辦事項。

OKSampler:一款免費、簡單的鍵盤節拍音樂採樣器

OKSampler:一款免費、簡單的鍵盤節拍音樂採樣器

OKSampler 可以將 MP3 片段對應到鍵盤按鍵,並支援音訊循環播放。了解這款經典免費軟體的功能、其舊功能的缺失以及下載前需要檢查的事項。

如何在 Linux 系統上安裝 Wireshark:Ubuntu、Fedora、Arch 等

如何在 Linux 系統上安裝 Wireshark:Ubuntu、Fedora、Arch 等

使用目前軟體包命令在 Ubuntu、Debian、Fedora、Arch 或 openSUSE 上安裝 Wireshark,然後安全地配置即時資料包擷取。