如何重置 SMART 结果

如何重置 SMART 结果

我如何重置 SMART 结果,使其不记录以前的结果。原因是我在封闭的机箱中测试硬盘。这导致其中一个硬盘无法读取气流温度。

打开机箱后(5 分钟内所有驱动器的温度降低了 10 摄氏度),然后将驱动器稍微分开(降低了 3 度),所有结果都很好,但是由于气流读数在之前的读数中失败,因此始终显示为失败。

那么我该如何重置 SMART 的读数?

在此处输入图片描述

答案1

实际上,有一种方法可以重置 SMART 数据。您只需要简单的 rs232 到 usb 转换器(uart 到 ttl)和几根连接到硬盘诊断接口的电缆。(它位于 sata 端口的右侧,5 或 4 针)您必须连接 RX TX 和 GND 电缆(当然还有电源线 :D),然后打开硬盘电源并使用 putty 或超级终端连接到它(我猜 linux 可以用它自己的终端连接)例如对于 seagate 驱动器:对于 7200.10 及更早的波特率为 9600,对于 7200.11 及更新的波特率为 38400

连接后输入命令按 CTRL + Z 然后输入“/1”按回车键输入“N1”按回车键完成后拔下所有电缆并像平常一样打开硬盘以查看变化:)

对于其他硬盘信息,请使用谷歌:)

答案2

当前/最差属性(例如温度)的目的正是:告诉您驱动器是否曾经超出其最高工作温度,从而可能遭受永久性损坏。

这就是为什么它说的是“过去失败”,而不是“现在失败”:你确实只是勉强触及了最高温度阈值。请注意,属性显示显示“标准化:50,阈值:45,最差:45”。(这些是 0..200 标准化值,就像任何其他属性一样,而不是原始摄氏温度。)

您还会遇到一些坏扇区(无法纠正的扇区错误),因此无论是否由短暂的高温造成,都可能需要放弃该驱动器了。

更好的 SMART 软件用户界面会向您显示当前最高温度. 例如
smartctl -a /dev/sdasmartctl -x /dev/sda-x打印从驱动器获取的所有可用的 SMART 和非 SMART 数据,包括温度历史记录(如果驱动器有)以及 ASCII 条形图。)

smartctl -x 包含针对旧 WD Green 1TB(WD10EADS)硬盘的以下功能:

Current Temperature:                    36 Celsius
Power Cycle Min/Max Temperature:     25/42 Celsius
Lifetime    Min/Max Temperature:     35/46 Celsius

您正在使用的软件看起来只显示当前温度,略低于阈值,但它不会隐藏驱动器在过去某个时间点超出规格的事实。


如果您确实在几分钟内纠正了这个问题,那么您当然可以忽略那一瞬间的高温。 但是您永远无法(或不应该)让驱动器本身谎报其在一段时间内超过了额定最高温度,因此该属性在过去确实失败了。

您可以配置smartd忽略任何给定的属性,这样您仍然可以收到有用的通知别的跨过门槛,进入正式失败的领域。smartd.conf(5)说:

-i ID [ATA only]检查使用属性是否失败时忽略设备属性编号 ID。ID 必须是 1 到 255 范围内的十进制整数。此指令修改了“-f”指令的行为,如果没有该指令,则不会产生任何效果。

例如,如果您有一个非常旧的磁盘,并且不想不断收到有关使用寿命小时属性(通常是属性 9)失败的消息,这将非常有用。如果您想忽略多个属性,此指令可能会对单个设备出现多次。


扩展的温度历史属性

我刚买了一个新的 6TB Seagate Barracuda(ST6000DM003-2CY186 固件 0001,5425 RPM 硬盘),它有一些有趣的统计数据,包括所花费的时间超过最小/最大操作点以及短期和长期温度的高/低。

SCT Status Version:                  3
SCT Version (vendor specific):       522 (0x020a)
Device State:                        Active (0)
Current Temperature:                    33 Celsius
Power Cycle Min/Max Temperature:     27/33 Celsius
Lifetime    Min/Max Temperature:     27/33 Celsius
Under/Over Temperature Limit Count:   0/0

SCT Temperature History Version:     2
Temperature Sampling Period:         3 minutes
Temperature Logging Interval:        59 minutes
Min/Max recommended Temperature:     14/55 Celsius
Min/Max Temperature Limit:           10/60 Celsius
Temperature History Size (Index):    128 (2)

在详细信息部分中:

0x05  =====  =               =  ===  == Temperature Statistics (rev 1) ==
0x05  0x008  1              33  ---  Current Temperature
0x05  0x010  1               -  ---  Average Short Term Temperature
0x05  0x018  1               -  ---  Average Long Term Temperature
0x05  0x020  1              33  ---  Highest Temperature
0x05  0x028  1              30  ---  Lowest Temperature
0x05  0x030  1               -  ---  Highest Average Short Term Temperature
0x05  0x038  1               -  ---  Lowest Average Short Term Temperature
0x05  0x040  1               -  ---  Highest Average Long Term Temperature
0x05  0x048  1               -  ---  Lowest Average Long Term Temperature
0x05  0x050  4               0  ---  Time in Over-Temperature
0x05  0x058  1              55  ---  Specified Maximum Operating Temperature
0x05  0x060  4               0  ---  Time in Under-Temperature
0x05  0x068  1              13  ---  Specified Minimum Operating Temperature

(该驱动器仅通电几分钟;这大概就是为什么-某些字段中没有数据的原因。)

如果您的驱动器具有这些扩展属性,您可以向某人展示超出允许温度的时间非常短(如果是这种情况)。假设您要修改 SMART 数据,您只需这样做并删除任何超出范围的提示,但显然您不能 100% 信任某人试图卖给您的二手驱动器中的任何数据。

https://superuser.com/questions/1389522/what-does-it-mean-when-my-new-hdd-reports-errors-at-a-time-that-shouldnt-exist例如,了解有关在其“Power_On_Hours”属性上使用“里程表回滚”的二手驱动器的更多信息。

答案3

不同制造商之间的 SMART 数据不是很标准,但硬盘温度测试应该可以指示硬盘的温度是否在过去超过过阈值:http://en.wikipedia.org/wiki/SMART#Known_ATA_S.MART_attributes

其想法是,过热会增加故障的几率。SMART 并不是说​​您的驱动器有问题,而是说将来发生故障的几率会增加。

SMART 旨在审核驱动器的历史记录,并由驱动器本身维护,因此您无法“重置”或“清除” SMART 值。

答案4

硬盘有用于恢复的备用空间。恢复会自动进行。恢复工具只会将物理坏扇区重新映射到此备用空间。重新映射后,当对坏扇区进行读取或写入时,驱动器会将访问转向备用空间,并隐藏错误。

说实话,我不知道如何重置 SMART 数据。这是硬盘内部维护的数据,无论如何,这样做都是一件坏事。

SMART 报告您的硬盘驱动器出现故障!重置计数器不会改变驱动器的错误阈值已被超出的事实。

所以不可以,您无法重置 SMART 历史记录。它是在工厂安装的,用于在发生故障时进行驱动器评估。SMART 只能被禁用或启用。

我希望这回答了你的问题。

相关内容