如何重置SMART结果


16

我该如何重置SMART结果,使其不注册以前的结果。我的原因是我正在测试在封闭盒中一起封闭的硬盘驱动器。这使其中一个硬盘驱动器的气流温度读数失败。

打开机箱(在5分钟内将所有驱动器的温度降低10摄氏度),然后再分开一些驱动器(减少3度)后,所有结果都不错,但是由于气流读数在先前的读数中失败,因此始终显示为失败。

那么,如何重置SMART的读数?

在此处输入图片说明


1
我认为您可以使用Mhdd关闭智能功能,这与sysresccd.org/System-tools上的软盘工具并不是最好的主意……但可能值得研究。
Mateo 2013年

2
为什么要重置它?
安杰洛

嗯,基本上是3年前,但是我认为那是因为当时HDD处在有大量外部热量的地方。将其移至气候较为寒冷的房间后,问题仍然存在,尽管温度从68度降至37度。因此,问题是外部温度升高,这在开始时就造成了问题,但在将其移至其他位置后仍然显示。
路易斯·阿尔瓦拉多

Answers:


0

出于恢复原因,硬盘驱动器具有可用空间。恢复自动进行。恢复工具仅将物理上损坏的扇区重新映射到该备用空间。重新映射后,当对坏扇区进行读取或写入时,驱动器会将访问权限转到备用空间,并隐藏错误。

老实说,我不知道重置SMART数据的方法。这是硬盘内部维护的事情,无论如何都将是一件坏事。

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

因此,您不能重置SMART历史记录。它已在工厂安装,以便在发生故障时评估驱动器。只能禁用或启用SMART。

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


嗨米奇,正如问题中所解释的,失败不是真实的。这是因为所有HDD都在通风不良的地方非常紧密地放置在一起。更改并再次测试后,它仍然运行良好,只是它仍然提到了过去的故障。目前,我执行了以下sudo smartctl -l sataphy,reset / dev / sdd,它解决了总体评估的问题,并考虑了先前出现的故障,现在看来这是正常的,但是对于特定属性仍然出现故障。同样,HDD实际上并没有发生故障,但是先前的错误仍然显示。
路易斯·阿尔瓦拉多

我了解,但可能看起来很正常,只有它隐藏了。您询问是否可以重置,答案是否定的。即使您能够隐藏错误,但是一旦驱动器由于任何原因被送往制造商,他们都可以找出随着时间的推移驱动器实际出了什么问题。我要说的是,先前的错误仍然显示,并且除非您可以使用制造商使用的工具,否则要恢复驱动器的SMART状态,它仍然会显示。
米奇

26

实际上,有一种方法可以重置SMART数据。您只需要简单的rs232到usb转换器(uart到ttl),以及连接在hdds诊断接口上的几根电缆。(位于sata端口的右侧,为5或4针),您必须先连接RX TX和GND电缆(当然还有电源线:D),然后打开HDD并用腻子或超级终端(Linux可以与其连接)我自己的终端机),例如希捷硬盘:对于7200.10和更低版本,对于7200.11,波特率是9600,对于更高版本是38400

连接后按CTRL + Z,然后按“ / 1”,然后按Enter键输入“ N1”。完成后,按Enter键,删除所有电缆,然后像平常一样打开HDD以查看更改:)

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


5
这似乎仅适用于Seagate硬盘,但是您是正确的,视频说明了该过程。
AdrianFrühwirth'16

5
我的一位同事联系了Seagate,他们告诉我们他们已经锁定了此功能,因此,如果没有专有工具,则无法访问该功能。不知道他们在什么时候做到了。
JFA

4

制造商之间的SMART数据不是很标准,但是硬盘驱动器温度测试应表明驱动器的温度过去是否超过阈值:http : //en.wikipedia.org/wiki/SMART#Known_ATA_S.MART_attributes

这种想法是,过热会增加您失败的机会。SMART并不是说您的驱动器是坏的,但是将来发生故障的机会会增加。

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


3

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

这就是为什么它说“过去失败”而不是“现在失败”的原因:您几乎没有碰到最高温度阈值。注意属性显示显示为“归一化:50,阈值:45,最差:45”。(这些是0..200归一化的值,就像其他任何属性一样,而不是原始摄氏温度。)

您还会遇到一些坏扇区(无法纠正的扇区错误),因此,不管短暂的高温是否是造成此问题的原因,现在应该放弃该驱动器。

更好的SMART软件UI会向您显示当前温度最高温度。例如,
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%信任来自二手驱动器的任何数据有人试图卖给你。

请参阅/superuser/1389522/what-does-it-mean-when-my-new-hdd-reports-errors-at-a-time-that-shouldnt-exist,以获取有关带有驱动器的二手驱动器的更多信息。例如,其“ Power_On_Hours”属性上的“里程表回滚”。


谢谢彼得在这里进行了详尽的分析。非常感激。
Luis Alvarado

0

据我所知,停止它的唯一方法是在BIOS中关闭SMART。但是,这只会停止硬件。

您的操作系统仍将向驱动器查询其SMART信息,并告诉您它出了故障。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.