# 读懂硬盘健康：把 SMART 与 NVMe 计数变成决定

> 哪些属性真正预示故障、Windows 如何暴露它们，以及哪些阈值意味着该换而不是继续观察。

**测试环境**

- 版本号: 26300.9457 / 26100.33650
- 版本: Pro (26H2) / Server
- 架构: x64
- 证据: E1
- 核验日期: 2026-10-29

## 一句话结论

健康不是一个数字。三个信号按重要性排序：

1. **重映射/待映射扇区**（HDD）或**介质错误**（NVMe）——真实的数据丢失风险。
2. **已用寿命百分比**（SSD）——还剩多少写入寿命。
3. **温度与通电时间**——是背景信息，不是判决。

零重映射、寿命用了 90% 的盘是好的。三个待映射扇区、寿命只用 10% 的盘要备份后更换。

## Windows 自己报什么

```powershell
Get-PhysicalDisk | Select-Object FriendlyName,MediaType,HealthStatus,OperationalStatus,Size
Get-Disk | Select-Object Number,FriendlyName,HealthStatus,OperationalStatus
Get-CimInstance Win32_DiskDrive | Select-Object Model,InterfaceType,Size,Status,FirmwareRevision
```

`HealthStatus` 很粗：`Healthy`、`Warning`、`Unhealthy`。只有固件上报预测性故障时 Windows 才会翻成 `Warning`——一块盘可以在 `Healthy` 状态下坏上好几个月。

要更多信息就得读 **SMART / NVMe 日志页**，Windows 没有受支持的 UI 暴露它们。厂商工具与第三方读取器通过 `IOCTL_STORAGE_QUERY_PROPERTY` 和 NVMe 透传接口去查。

## 值得读的属性

**HDD（ATA SMART）：**

| 属性 | 含义 | 何时行动 |
|---|---|---|
| 05 重映射扇区 | 扇区被重映射到备用区 | 任何非零且在增长 |
| C5 待映射扇区 | 读不出、等待重映射 | 任何非零 |
| C6 无法纠正 | 重试后仍读不出 | 任何非零 |
| 09 通电时间 | 年龄 | 仅作背景 |
| C2 温度 | 温度历史 | 长期超规格 |

**SSD（NVMe）：**

| 字段 | 含义 | 何时行动 |
|---|---|---|
| Percentage used | 已消耗寿命 | >80% 开始规划更换 |
| Media and data integrity errors | 不可纠正错误 | 任何非零 |
| Available spare | 剩余备用块 | 低于阈值（常见 10%） |
| Critical warning | 固件级标志 | 任何标志置位 |
| Temperature | 控制器温度 | 接近降速点 |

## 可复现的流程

1. **先记录数值**，才能对比——单次读数证明不了什么。
2. **一周后再读**。稳定的待映射扇区和持续增长的完全不同。
3. **看事件日志**里 Windows 已经注意到的存储错误：

```powershell
Get-WinEvent -FilterHashtable @{LogName='System'; ProviderName='disk','Ntfs','volmgr','stornvme'} -MaxEvents 30 |
  Select-Object TimeCreated,ProviderName,Id,LevelDisplayName,Message
```

4. 怀疑文件系统损坏时：

```powershell
Repair-Volume -DriveLetter C -Scan
```

`-Scan` 是只读的。没有备份不要对盘执行修复。

## 决策表

| 证据 | 决定 |
|---|---|
| 有待映射/重映射扇区 | 立刻备份，尽快更换 |
| NVMe 介质错误 | 备份，规划更换 |
| 寿命 >80% | 开始规划，保持备份 |
| `HealthStatus : Warning` | 更换，不要"继续观察" |
| 只有通电时间长、计数干净 | 继续用，保持备份 |
| RAID 后面读不到 SMART | 用控制器自己的健康视图 |

> **警告: RAID 会藏住 SMART**
>
> 硬件 RAID 控制器后面，Windows 只看到虚拟磁盘，读不到每块盘的 SMART。用控制器管理工具（iDRAC/iLO/MSM/StorCLI）——系统层看到的是阵列的健康，不是硬盘的。

## 为什么"SMART 通过"不是保修

SMART 能预测一部分故障，也会漏掉很多。控制器会坏、固件 bug 会变砖、有些盘毫无预警就死。

唯一可靠的保护是**至少恢复过一次的备份**。健康监控只告诉你什么时候该抓紧。

## 相关

- [NVMe 代际](https://winbook.fyi/zh/hardware/storage/nvme-generations/)
- [机械盘：CMR 与 SMR](https://winbook.fyi/zh/hardware/storage/hdd-cmr-smr/)
- [Storage Spaces](https://winbook.fyi/zh/hardware/storage/storage-spaces/)

## 实验室边界

E1。属性语义来自 ATA/NVMe 规范与厂商文档。实验室虚拟磁盘不暴露真实 SMART 数据，因此没有观察到坏盘。

## 来源

- [Microsoft Learn — Win32_DiskDrive](https://learn.microsoft.com/zh-cn/windows/win32/cimwin32prov/win32-diskdrive)
- [Microsoft Learn — Get-PhysicalDisk](https://learn.microsoft.com/zh-cn/powershell/module/storage/get-physicaldisk)
- [Microsoft Learn — IOCTL_STORAGE_QUERY_PROPERTY](https://learn.microsoft.com/en-us/windows/win32/api/winioctl/ni-winioctl-ioctl_storage_query_property)

---

来源页面: https://winbook.fyi/zh/hardware/storage/health-smart/
