我如何重置 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/sda
或smartctl -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 只能被禁用或启用。
我希望这回答了你的问题。