如何在使用 Windows 7 时自动或手动读取硬盘的 SMART 状态?
我刚刚在一台机器上安装了几个新的硬盘,我碰巧注意到其中一个报告了两个错误,所以我运行smartctl -x它并得到这个:
smartctl 6.5 2016-01-24 r4214 [x86_64-linux-4.4.0-141-generic] (local build)
Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org
=== START OF INFORMATION SECTION ===
Model Family: Hitachi/HGST Ultrastar 7K4000
Device Model: HGST HUS724040ALA640
Serial Number: [REDACTED]
LU WWN Device Id: [REDACTED]
Firmware Version: MFAOAC50
User Capacity: 4,000,787,030,016 bytes [4.00 TB]
Sector Size: 512 bytes logical/physical
Rotation Rate: 7200 rpm
Form Factor: 3.5 inches
Device is: In smartctl database [for details use: -P show]
ATA Version is: ATA8-ACS T13/1699-D revision …Run Code Online (Sandbox Code Playgroud) 我的三星 HM640JJ 硬盘(在 HP Pavilion dv6 笔记本电脑中)的 SMART C5 值为“黄色状态 = 警告”
C5 昨天是 10,今天是 21。
C4 (Reallocation Event Count) = 0 和 05 (Reallocated Sectors Count) = 0
如何强制固件重新分配它们?
chkdsk /r /f我在自己的笔记本电脑和一些服务器上安装了三星固态硬盘。
当我做:
smartctl -a /dev/sda | grep 177
Run Code Online (Sandbox Code Playgroud)
我得到了我无法理解的结果。这里有些例子:
# my laptop Samsung SSD 850 EVO 500GB (new)
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
177 Wear_Leveling_Count 0x0013 100 100 000 Pre-fail Always - 0
# server 256 GB, SAMSUNG MZ7TE256HMHP-00000
177 Wear_Leveling_Count 0x0013 095 095 000 Pre-fail Always - 95
# server 512 GB, SAMSUNG MZ7TE512HMHP-00000 (1 year old)
177 Wear_Leveling_Count 0x0013 099 099 000 Pre-fail Always - 99
# server 512 GB, SAMSUNG MZ7TE512HMHP-00000 (suppose …Run Code Online (Sandbox Code Playgroud) 我运行了这个名为CrystalDiskInfo 的HD 实用程序,它在我的驱动器上显示一些 SMART 信息。它在我的一个驱动器上显示“警告”警告,因为它的“重新分配的扇区计数”值为 263(理想情况下它应该是 0,因为它在我测试过的所有其他驱动器上)。
我在另一个论坛上发布了这个问题,响应者的普遍共识是立即备份并摆脱驱动器。驱动器是相当新的,只有 4575 小时。我几周前才知道这个实用程序,所以我不知道这些扇区的重新分配可能发生在什么时候,但它没有改变。
我可以信任这个驱动器吗?
更新(2009 年 9 月 27 日):重新分配的扇区数一直保持在 293,直到大约一周前我注意到它增加了 1。就在昨天,我注意到它高达 659。它在保修期内,正在退回制造商用于更换。
我尝试了一些实用程序,但没有一个起作用。USB 不受支持或驱动器被“识别”。我想弄清楚是否应该转储驱动器。它只有一年,但保修只有一年,很遗憾。
我开始担心我的 3 岁左右的旧 WD Green 驱动器。最近几天我注意到我的媒体播放器表现得很奇怪,它不会在播放完一首歌曲后移动到下一首曲目,并且在我双击时也不会播放新歌曲。
因此,我下载了“smartmontools”包并使用“sudo smartctl -a /dev/sdb2”来检查驱动器。这是输出的快照:
SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
1 Raw_Read_Error_Rate 0x002f 200 200 051 Pre-fail Always - 0
3 Spin_Up_Time 0x0027 164 163 021 Pre-fail Always - 6758
4 Start_Stop_Count 0x0032 099 099 000 Old_age Always - 1353
5 Reallocated_Sector_Ct 0x0033 200 200 140 Pre-fail Always - 0
7 Seek_Error_Rate 0x002e 100 253 000 Old_age …Run Code Online (Sandbox Code Playgroud) 首先,我想每个人都知道硬盘驱动器出现故障的次数比制造商愿意承认的要多得多。谷歌做了一项研究,表明硬盘驱动器的 SMART 状态报告的某些原始数据属性可能与驱动器未来的故障有很强的相关性。
例如,我们发现,在第一次扫描错误后,驱动器在 60 天内发生故障的可能性是没有此类错误的驱动器的 39 倍。重新分配、离线重新分配和试用计数中的第一个错误也与更高的故障概率密切相关。尽管存在这些强相关性,我们发现仅基于 SMART 参数的故障预测模型的预测准确性可能会受到严重限制,因为我们的大部分故障驱动器都没有显示出任何 SMART 错误信号。
希捷似乎试图掩盖有关其驱动器的这些信息,声称只有他们的软件才能准确确定其驱动器的准确状态,而且他们的软件不会告诉您 SMART 属性的原始数据值。据我所知,Western Digital 没有做出这样的声明,但他们的状态报告工具似乎也没有报告原始数据值。
我一直在使用 smartmontools 的 HDtune 和 smartctl 来收集每个属性的原始数据值。我发现确实如此......当涉及到某些属性时,我将苹果与橙子进行了比较。例如,我发现大多数希捷硬盘会报告它们有数百万个读取错误,而西部数据 99% 的时间显示读取错误为 0。我还发现希捷会报告数百万个搜索错误,而西部数据似乎总是报告 0。
问:如何标准化这些数据?希捷是否会产生数百万个错误,而西部数据则没有产生任何错误?维基百科关于SMART状态的文章说制造商有不同的报告这些数据的方式。
这是我的假设:
我想我找到了一种方法来规范化(这是正确的术语吗?)数据。
希捷硬盘有一个西部数据硬盘没有的附加属性(硬件 ECC 恢复)。当您从 ECC 恢复计数中减去读取错误计数时,您可能会得到 0。这似乎相当于 Western Digital 报告的“读取错误”计数。这意味着 Western Digital 只报告它无法纠正的读取错误,而 Seagate 会计算所有读取错误并告诉您它能够修复的错误数量。
我有一个 Seagate 驱动器,其中读取错误计数小于 ECC 恢复计数,我注意到我的许多文件都已损坏。这就是我提出我的假设的方式。希捷产生的数以百万计的搜索错误对我来说仍然是个谜。
如果您有其他信息,请确认或更正我的假设。
这是我的西部数字驱动器的智能状态,以便您了解我在说什么:
james@ubuntu:~$ sudo smartctl -a /dev/sda
smartctl version 5.38 [x86_64-unknown-linux-gnu] Copyright (C) 2002-8 Bruce Allen
Home page is http://smartmontools.sourceforge.net/
=== …Run Code Online (Sandbox Code Playgroud) 我过去曾见过能够检查硬盘驱动器的 SMART 状态的程序,但对我来说并不容易找到。另外,我想我必须启动到 CD 才能检查它。获取这些数据以抢占任何磁盘故障的首选方法是什么?
我在两盘软件 RAID-1 中有一个磁盘,最近在 SMART 状态下出现了“离线不可纠正扇区”。
198 Offline_Uncorrectable 0x0030 200 200 000 Old_age Offline - 1
Run Code Online (Sandbox Code Playgroud)
如果它越来越频繁地发生,这显然只是磁盘即将发生故障的迹象(并且由于驱动器是镜像的,因此实际数据丢失的风险也不大)。当时,自检在某些时候也失败了,并向smartd我发送了一封电子邮件以通知我这当然应该这样做。
但是,写入损坏的扇区通常会导致磁盘使用其备用扇区之一,而这显然是因为自从我检查dd了磁盘后,所有自检都运行得很好。而且badblocks还发现没有理由抱怨。
Num Test_Description Status Remaining LifeTime(hours) LBA_of_first_error
[...]
# 5 Extended offline Completed without error 00% 5559 -
# 6 Short offline Completed without error 00% 5540 -
# 7 Short offline Completed: read failure 90% 5524 63273368
Run Code Online (Sandbox Code Playgroud)
故障扇区的数量并没有减少,但实际上不应该减少,因为损坏的扇区仍然存在,尽管未使用。然而,smartd每天晚上继续给我发电子邮件:
The following warning/error was logged by the smartd daemon:
Device: /dev/sda [SAT], 1 Offline uncorrectable sectors
Run Code Online (Sandbox Code Playgroud)
这显然非常烦人,并且麻木了我对 …
smart ×10
hard-drive ×8
bad-blocks ×1
bad-sectors ×1
diagnostic ×1
disk-utility ×1
lubuntu ×1
ssd ×1
statistics ×1
usb ×1
windows ×1
windows-7 ×1