SMART 实战:Windows、Linux 和 macOS 实际上能告诉你哪些磁盘信息
SMART 是每块硬盘和 SSD 内置的自我诊断功能。磁盘自己统计错误、通电时间、温度和损耗,并能预警即将发生的故障。但管理员实际能看到多少,取决于操作系统、驱动程序以及磁盘的连接方式。下面看看 Windows、Linux 和 macOS 实际提供了什么。以下内容均已在 HWKeeper 代理收集 SMART 的实际实现中验证。
SMART 中哪些信息对办公室有用
- 结论。磁盘自己判断即将故障(predict failure)。这是最重要、也是最晚出现的信号。
- 重映射扇区(属性 5)。磁盘已经用备用扇区替换了损坏的区域。如果数量持续增加,说明磁盘正在损坏。
- 待映射扇区(属性 197)。无法读取、正在等待替换的区域。
- 无法纠正的读取错误:SATA 为属性 187,NVMe 为 media errors。
- SSD 损耗:写入寿命已消耗的百分比。
- 温度和通电时间(小时)。
Windows:结论和可靠性计数器
Windows 有两个内置数据源,都需要管理员权限(代理以系统账户身份作为服务运行)。
- 结论——WMI 类
MSStorageDriver_FailurePredictStatus,位于root\wmi命名空间:即将故障的标志和原因代码。 - 计数器——Storage API 的 cmdlet
Get-StorageReliabilityCounter:损耗(Wear)、温度、通电时间、读取错误总数和无法纠正的读取错误数。
要检查单台电脑,以管理员身份在 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、温度和小时数。
我们自己踩过的两个坑:
- 返回码。即使输出完整且有用,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(即将故障)。它显示在 diskutil info disk0(SMART Status 一行)和 system_profiler SPStorageDataType 中。通过 USB 桥接的外置磁盘通常显示“Not Supported”。内置工具不提供损耗、温度和通电时间,这些需要通过 Homebrew 安装 smartmontools。HWKeeper 的 macOS 代理从 0.11.2 版起上报该结论。
内置工具能看到的磁盘信息
使用哪些阈值
HWKeeper 在“磁盘与 SMART”页面上使用以下阈值,很容易照搬到任何其他系统。
磁盘何时需要关注
报告中还有两项筛选:“磁盘通电时间”——运行超过 30,000 小时的磁盘;“磁盘温度”——高于 55 °C 的磁盘。
如何处理结果
- 结论为“故障”或重映射扇区持续增加——当天就备份数据,然后更换磁盘,最好换成 SSD。
- SSD 寿命低于 60%——计划在今年内更换,并提前备份。
- 温度 50 °C 及以上——检查散热和机箱内积灰。笔记本还要检查通风口以及放置它的表面。
- 偶发的读取错误——持续观察:如果数量增加,就更换。
- “无数据”——检查代理版本、是否安装了 smartmontools(Linux),以及磁盘是否通过 USB 转接器或 RAID 连接。
最重要的是:SMART 并不保证没有警告的磁盘就能长寿。相当一部分磁盘在故障前没有任何明显征兆。备份永远必要,SMART 只是提示哪里会更早用到备份。
本文由 HWKeeper 团队借助 AI 写作工具撰写,事实已经人工核对。截图来自真实控制台,使用演示数据。
延伸阅读



