SMART の実際:Windows、Linux、macOS はディスクについて何を教えてくれるのか
SMART は、すべての HDD と SSD に組み込まれた自己診断機能です。ディスク自身がエラー、使用時間、温度、消耗を記録し、故障が近いことを警告できます。ただし、そのうち管理者にどこまで見えるかは、OS、ドライバー、ディスクの接続方法によって変わります。Windows、Linux、macOS が実際に何を返すのかを見ていきましょう。以下はすべて、HWKeeper のエージェントが SMART を収集する仕組みで確認した内容です。
オフィスで役立つ SMART の項目
- 判定。ディスク自身が、まもなく故障すると判断した状態(predict failure)。最も重要で、最も遅く出るシグナルです。
- 代替処理済みセクタ(属性 5)。損傷した領域を、ディスクがすでに予備の領域に置き換えています。数が増えていくなら、ディスクは壊れかけています。
- 代替処理保留中のセクタ(属性 197)。読み取れず、置き換えを待っている領域です。
- 修正不能な読み取りエラー:SATA では属性 187、NVMe では media errors。
- SSD の消耗:書き込み寿命を何パーセント使ったか。
- 温度と使用時間(時間単位)。
Windows:判定と信頼性カウンター
Windows には標準のデータソースが 2 つあり、どちらも管理者権限が必要です(エージェントはシステムアカウントのサービスとして動作します)。
- 判定 — WMI クラス
MSStorageDriver_FailurePredictStatus(名前空間root\wmi):故障予測のフラグと理由コード。 - カウンター — Storage API のコマンドレット
Get-StorageReliabilityCounter:消耗(Wear)、温度、使用時間、読み取りエラーの総数と修正不能な数。
1 台だけ確認するなら、管理者として開いた PowerShell で次を実行します。
Get-PhysicalDisk | Get-StorageReliabilityCounter | Select-Object DeviceId, Wear, Temperature, PowerOnHours, ReadErrorsUncorrected
メディアの種類とバスは Get-PhysicalDisk から取るほうが確実です。古い Win32_DiskDrive は、NVMe ディスクを「SCSI」、種類を「Fixed hard disk media」と表示することがよくあります。
取得できないもの。Storage API は代替処理済みセクタと代替処理保留中のセクタを返しません。USB 変換アダプターや RAID コントローラーの先にあるディスクでは、判定のクラスが使えないことが多く、カウンターも空で返ってきます。空の値は「データなし」であってゼロではありません。エージェントもそのまま送信します。
Linux:smartctl
Linux では、smartmontools パッケージの smartctl ですべて確認できます。root 権限が必要です。エージェントはディスクごとに smartctl --json -A -H を実行し、次の値を取得します。
- SATA:属性 5、197、187、使用時間(9)、温度(194 または 190)。
- NVMe:ヘルスログの Percentage Used(消耗)、Media Errors、Critical Warning、温度、時間。
私たち自身がつまずいた点が 2 つあります。
- 終了コード。smartctl は、出力が完全で役に立つ場合でもゼロ以外のコードを返します。コードの各ビットが、見つかった問題を知らせているからです。このような実行をエラーとして扱うと、まさに調子の悪いディスクの SMART が失われます。エージェントはバージョン 0.11 から、終了コードにかかわらず出力を解析しています。
- SATA SSD の消耗。属性番号 177、231、233 の意味はメーカーによって異なります。233 が消耗を表すメーカーもあれば、書き込んだデータ量を表すメーカーもあり、231 は残り寿命のこともあれば温度のこともあります。そのため消耗は番号ではなく、属性名(Wear_Leveling_Count、Media_Wearout_Indicator、SSD_Life_Left など)でのみ読み取ります。
smartmontools がインストールされていなければ、Linux では SMART はまったく取得できません。
macOS:判定のみ
macOS の標準機能がディスクについて教えてくれるのは、Verified(正常)か Failing(故障しつつある)かの 1 語だけです。diskutil info disk0(SMART Status の行)と system_profiler SPStorageDataType で確認できます。USB ブリッジ経由の外付けディスクは、たいてい「Not Supported」です。消耗、温度、使用時間は標準ツールでは得られず、Homebrew の smartmontools が必要です。HWKeeper の macOS 版エージェントは、バージョン 0.11.2 から判定を送信しています。
標準ツールでディスクについて見えること
どのしきい値を使うか
HWKeeper の「ディスクと SMART」ページでは、次のしきい値を使っています。ほかのシステムにもそのまま流用できます。
ディスクに注意が必要なとき
レポートにはさらに 2 つの抽出条件があります。「ディスクの使用時間」は 30,000 時間を超えて使われているディスク、「ディスク温度」は 55 °C を超えるディスクです。
結果をどう生かすか
- 判定が「故障」、または代替処理済みセクタが増えている — 今日中にデータをバックアップし、ディスクを交換します。交換先は SSD がおすすめです。
- SSD の寿命が 60% 未満 — 今年中に交換を計画し、事前にバックアップを取ります。
- 温度が 50 °C 以上 — 冷却と筐体内のほこりを確認します。ノート PC なら通気口と、置いている場所の表面も確認します。
- 単発の読み取りエラー — 経過を観察し、数が増えるようなら交換します。
- 「データなし」 — エージェントのバージョン、smartmontools がインストールされているか(Linux)、ディスクが USB 変換アダプターや RAID 経由で接続されていないかを確認します。
そして何より、SMART は警告のないディスクが長持ちすることを約束するものではありません。かなりの割合のディスクが、事前に目立った兆候なく故障します。バックアップは常に必要で、SMART はそれが早めに必要になりそうな場所を教えてくれるだけです。
本記事は HWKeeper チームが AI ツールの助けを借りて作成し、内容は人が確認しています。スクリーンショットは実際のダッシュボード(デモデータ)です。
あわせて読みたい



