もくじ
📝 はじめに
ストレージの不調が疑われるとき、
「SMART(スマート)ってPowerShellだけで見られるの?」
「健康状態(Healthy)って出てるけど本当に大丈夫?」
「CrystalDiskInfoみたいな数値はPowerShellでも取れる?」
と気になったことはありませんか?
結論から言うと、PowerShellだけでも“SMART的な状態”を推測する材料はいくつか見られます。
ただし、SMART属性(代替処理済みセクタ数など)の生データを網羅的に見るのは難しい場合があります。
この記事では、PowerShellで見られる範囲を整理し、どこまで判断できるかの観点をまとめます。
- PowerShell SMART 確認
- SSD 健康状態 PowerShell
- NVMe SMART PowerShell 見方
- Get-PhysicalDisk Healthy だけで大丈夫?
✅ PowerShellで「SMART的に」確認できること(要点)
- Windowsが把握している「健康状態(Healthy/Warning/Unhealthyなど)」を確認できる
- エラー兆候の有無(OperationalStatus)や、障害扱いの判定を確認できる
- ストレージプール/記憶域スペース環境なら、より管理情報が取りやすい
- イベントログやデバイス状態を組み合わせると「怪しい兆候」を拾いやすい
- SMART属性の詳細(温度・総書込量・代替セクタ等)は、PSだけでは不足しやすい
✅ そもそも「SMART」とPowerShellの関係
SMARTは、ディスク自身が持つ自己診断情報(劣化やエラー兆候の指標)です。
CrystalDiskInfoなどのツールが表示する「代替処理済みセクタ」「通電時間」などは、
主にSMART属性の読み取りに基づいています。
一方、PowerShellが標準で扱えるのは、
そのSMART情報そのものというよりも、Windowsが把握している“管理上の状態”が中心になります。
そのため「SMARTを見たつもりで安心」にならないように、
“PSで見える範囲”と“見えない範囲”を分けて考えるのがポイントです。
🧩 基本方針(見る順番のおすすめ)
# 1) 物理ディスクの健康状態(Windows視点)
Get-PhysicalDisk
# 2) ディスク番号単位の状態(オンライン/読み取り専用など)
Get-Disk
# 3) ボリュームの状態(ファイルシステム側の問題)
Get-Volume
# 4) ログ/兆候(イベントログ・エラー)
# ※必要に応じて確認
ここで「Healthy」と出ても、物理故障がゼロとは限りません。
“Healthyだけど遅い・フリーズする・切断される” のようなケースは現場でも普通にあります。
▶ PowerShellで見られる範囲(代表コマンド)
🔎 1) Get-PhysicalDisk:健康状態(HealthStatus)/ 動作状態(OperationalStatus)
Get-PhysicalDisk | Select-Object FriendlyName, MediaType, HealthStatus, OperationalStatus
ここで確認したいのは、主に HealthStatus と OperationalStatus です。
Healthy 以外が出る場合は、要注意のサインになります。
- HealthStatus が Healthy 以外 → まずバックアップ優先を検討
- OperationalStatus が OK 以外 → 何かしらの異常兆候の可能性
- MediaType が Unspecified の場合もある(必ずしも異常ではない)
🧩 2) Get-Disk:オンライン/オフライン、読み取り専用、パーティション形式など
Get-Disk | Select-Object Number, FriendlyName, OperationalStatus, HealthStatus, IsOffline, IsReadOnly, PartitionStyle
こちらは「Windowsがディスクをどう扱えているか」の観点です。
たとえば IsOffline が True になっていたり、
状態が不安定なら接続系・ドライバー・物理故障も疑います。
🧰 3) Get-Volume:ファイルシステム側の状態(ドライブとしての見え方)
Get-Volume | Select-Object DriveLetter, FileSystemLabel, FileSystem, HealthStatus, OperationalStatus, SizeRemaining, Size
“SMART”というより、ボリューム(ファイルシステム)側の問題を拾う観点です。
読み取りが遅い・アクセスできないときは、ボリュームが怪しいこともあります。
🛠 「SMARTの代わりに」兆候を拾う観点
🧩 4) 重大サイン:イベントログ(ディスク関連のエラー)
“PSでSMART属性が取れない/少ない”場合でも、
Windowsが出しているエラーや警告が劣化のヒントになることがあります。
# 直近のディスク関連ログを確認(例:Systemログからキーワードで拾う)
Get-WinEvent -LogName System -MaxEvents 200 |
Where-Object { $_.Message -match "disk|Disk|storahci|nvme|Reset|I/O|bad block|CRC" } |
Select-Object TimeCreated, Id, ProviderName, LevelDisplayName, Message
キーワードは環境で変わります。
ただ「I/Oエラー」「リセット」「タイムアウト」「CRC」などが連発している場合は、
ディスクそのもの以外に、ケーブル・USBケース・電源・コントローラ相性も疑う価値があります。
🔧 5) “疑わしいとき”の安全な切り分け(PSでできる範囲)
# まず状態確認(破壊的操作なし)
Get-PhysicalDisk
Get-Disk
Get-Volume
# ボリュームのスキャン(※状況により。大事なデータがあるなら先にバックアップ推奨)
Repair-Volume -DriveLetter E -Scan
修復(Fix系)に進む前に、まずは状態確認とバックアップを優先するのが安全です。
💼 実務でよくある「判断パターン」
✅ Healthy なのに遅い・フリーズする
- PS表示がHealthyでも、物理劣化や相性問題が隠れていることがあります
- イベントログにI/Oエラーやリセットが出ていないか確認
- 外付けならケーブル・USBポート・ケースを変えて挙動を見る
⚠ Warning / Unhealthy が出る
- まずデータ退避(バックアップ)を最優先
- 次に、どのディスクが該当するかを特定(FriendlyName/Number)
- 修復や初期化は「退避後」に検討
🧩 よくある勘違い・つまずきポイント
- Healthy は「絶対安全」ではなく、「Windowsが異常扱いしていない」程度の意味合い
- USB接続や仮想環境では、物理情報が簡略化されることがある
- PS標準だけではSMART属性の詳細(温度、通電時間、代替セクタ等)が取り切れない場合がある
- 遅さやフリーズは、ディスク以外(ケーブル、電源、コントローラ、ドライバー)でも起きる
- 修復や初期化を先にやると、データ救出が難しくなることがある
⚠ エラー・うまく動かないときの確認ポイント
- PowerShellを管理者として実行しているか
- 対象が内蔵か外付けか(USBだと情報が少ない場合があります)
- ストレージ(AHCI / NVMe / RAID / VMD)構成により見え方が変わる
- 記憶域スペース環境かどうか(Storage Spacesの情報が中心になる)
🧠 注意点
- PSで見える「健康状態」は、SMART属性の完全な代替にはなりません
- 異音・切断・極端な低速がある場合は、早めのバックアップが最優先です
- 大事なデータがある状態で、いきなり修復(Fix)や初期化を行うのは避けた方が安全です
📌 まとめ
- PowerShellでも「SMART的な状態」を推測する材料は確認できる
- 中心は Get-PhysicalDisk / Get-Disk / Get-Volume
- Healthyでも安心しきらず、ログや症状も合わせて判断する
- 異常が出たら、まずバックアップ(データ退避)を優先する
🔎 PowerShellコマンドを探す
「どの観点で調べればいいか分からない」ときは、
やりたいことからコマンドを検索してみてください。
- ファイルを削除したい
- 一覧を表示したい
- 文字列を検索したい
- 条件で絞り込みたい
- エラーや実行できない原因を調べたい
- ディスクの健康状態を確認したい(Get-PhysicalDisk)
- イベントログから原因を探したい(Get-WinEvent)
- ボリュームをスキャンしたい(Repair-Volume)
