硬盘会说谎吗?


10

在过去的日子里,我记得遇到驱动器错误,但是现代驱动器似乎从不报告错误,而是尽最大努力为您提供回报。我最近遇到了一次硬盘故障,相当严重,但是当它出现故障时,它从未报告过错误(或者至少WinXP从未出现过这些错误)。我知道它会失败,因为程序开始表现异常,并最终在引导过程中死亡。将驱动器连接到另一台计算机以读取所有内容后,我便能够复制所有内容(某些权限失败后),并且这样做没有错误,但是实际的内容已损坏,存档测试证明。制造商的驱动器测试软件确定没有错误,但是SpinRite在扫描驱动器时硬停止。我开始怀疑现代软件的不稳定性可归因于现代硬盘驱动器。

所以问题是,硬盘驱动器现在只是在骗我们吗?具体地说,当面对无法读取的扇区时,现代驱动器是否易于返回损坏的数据而不向操作系统报告此类数据?

Answers:


10

是的,更新的硬盘对我们说谎。通常,您可以使用SMART监视那些谎言。

我认为这与典型盘子上的信息密度有关。设计人员认为盘片中会存在缺陷,并据此设计固件-如果扇区出现故障,则会自动重写它,并且不会丢失任何数据。只有典型的操作系统会注意到驱动器的可用扇区用尽时,此时您的数据才有风险。

所以,我想这个故事的寓意是使用诸如smartmontools之类的东西来监视谎言。


5
坏扇区不会被重写-现代磁盘包含备用扇区,固件使用这些备用扇区来用自动映射替换有缺陷的扇区。
harrymc

最重要的是,您需要一个单独的工具来读取SMART数据。
surfasb

1

我知道新文件系统ZFS实际上会在发现硬盘驱动器上的坏扇区时报告。也许问题出在硬盘本身,而不是缺乏足够现代的文件系统。硬盘有时确实会检测到坏扇区,然后将它们重新映射为好扇区,但这显然还不够。


0

据我所知,通常您会看到可以检测到错误(使用某种哈希检查吗?),并且如果某个扇区发生故障,则驱动器将淘汰该扇区。

如果读取磁头本身或磁盘上的位以外的其他机制出现故障,则可能很难检测到实际情况。


0

很难说硬盘是否在骗我们。我要依靠可靠的RAID控制器和多个磁盘。如果一个或两个死亡,那就这样吧。运动部件更难处理。随着SSD在市场上的缓慢发展,谁知道未来硬盘对我们的吸引力。

我认为这些天较新的磁盘会发现坏扇区,然后将这些扇区标记为坏扇区,因此无法对其进行任何写入。我记不清了,但是最近我知道更新的磁盘可以做到这一点。(预防措施)真的在说谎吗?很难说。但是,如果您真的想知道硬盘在做什么,请获取SpinRite。它会告诉你一切你曾经想知道你的硬盘驱动器。


0

我只是有一个磁盘死机(必须冻结它以保存死后的点击),然后购买了一个外部磁盘来做备份。在一个旧驱动器(第一代SATA是带有SATA接口的IDE)上安装了Ubuntu大约一个星期。我知道磁盘已旧并且不会持续很长时间,但是直到我将Fedora安装在其他驱动器上时,我才收到有关即将出现驱动器故障的警告。

我的理论: 像Windows XP和Ubuntu这样的用户友好型操作系统很可能在默认情况下不会显示这些SMART错误。


0

现代硬盘使用SMART,但这只能起到一定作用。当磁盘的数据足够“损坏”时,磁盘将放弃并且您丢失了数据。

这里一样的工具GRC的SpinRite可以看看过去的SMART -这些有时甚至拯救你的数据时,希望似乎失去了。

我定期在磁盘上运行SpinRite。SpinRite测试写入的数据,并可选地刷新甚至恢复它。


看起来SpinRite很久没有更新了。我发现了一个页面,其中提到了其SATA支持的局限性(grc.com/sr/kb/sata.htm),并提到了它在6.1版中可能会得到改进,但该版本似乎从未到过。我向创建者发送了一封电子邮件,以了解产品的当前状态。如果发现更多内容,我将在此处添加另一条评论。
马特·帕塞尔

是的,该版本较旧,但仍然有效(除非SATA页中另有说明)。
Torben Gundtofte-Bruun

0

最近,有人告诉我笔记本电脑上的2.5英寸硬盘驱动器崩溃了;但是在30年的计算中,我从未真正经历过真正的硬盘驱动器崩溃。我现在有了一个,因为台式机的电涌损坏了我的Mac内存,损坏了文件系统。40美元的线路调节器将消除电源峰值,并且每日备份(以及良好的分区,/ User)将对其进行修复。很快,我希望添加更大的第二个PATA驱动器并镜像/ Usr划分。

具有讽刺意味的是,这种情况不太可能发生在我的1984年IBM PC中,该PC的内存中每8位有第9个奇偶校验位。(在那些日子里,我使用SpinRite,但我很高兴阅读它仍然运行良好。)有免费的TSR程序,可以定期检查磁盘并记录日志,发送邮件,或者(在Windows中)发出警告,以防万一。 。(我应该比较舒服地比较两个日志。)

我的机器用于科学计算:我重复所有重要的计算。对于那些无力承担时间的服务器和台式机(以前的工作站,如Sun),应该具有ECC内存(每字节额外一位),这几乎不需要花费额外的时间和金钱。但是,今天它仅在专业服务器,工作站,速度极快的2009 Power Pro Macs上可用,并且无疑是某些昂贵的Windows计算机上可用。如果您是物理学家对超级计算机数据进行后处理,或者只是精算师,则可能需要其中之一。将来的内存可能会计算错误,以预测内存库即将出现的问题。

我发现有用的一本在线书籍是“最小化硬盘驱动器故障和数据丢失”,该在线书籍位于:http : //en.wikibooks.org/wiki/Minimizing_hard_disk_drive_failure_and_data_loss

大约15年以来,ATA和SCSI硬盘已经使用SMART来预测即将发生的驱动器故障。尽管不同的公司使用不同的标准来提出警告窗口,但有关SMART众多度量标准的含义却在其Wikipedia文章中明确给出。您无需依靠软件公司来计算单个数字,例如IQ。:-)检查en.wikipedia.org/wiki/SMART#Known_ATA_S.MART_attributes的红色部分

那些可以使用命令行的用户可以使用Sourceforge提供的名为“ smartmontools”的免费软件包来测量这些属性。(Windows版本会弹出一个窗口。)在sourceforge.net/apps/trac/smartmontools/wiki/TocDoc中找到它

对于Windows上的SATA驱动器,请尝试/ usr / local / sbin / smartctl -i / dev / hda,或尝试/ usr / local / sbin / smartctl -i / dev / sda。

它给出的所有数字都可以通过查看上面的Wikipedia页面进行评估。还提供了一个常驻程序,该程序现在会立即测试驱动器的降级速度。如果您希望调整驱动器(以提高速度或使其速度更慢,更安静,更可靠),也可以尝试使用“ hdparm”设置硬盘驱动器参数,该参数位于sourceforge.net/projects/hdparm/

我没有Windows文档,但是在Debian Linux上,我使用:

/ sbin / hdparm -i / dev / hda

对于我的PATA驱动器,仅用于提供信息(以及有关安全删除的信息)。到目前为止,我仅保留默认设置。

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.