我对 Steve Gibson 的SpinRite没有任何真正的(即专业的)经验,所以我想把它提交给 SF 社区。SpinRite 真的做到了它声称的那样吗?它是一个好用的产品吗?有了适当的备份解决方案和 RAID 容错,我从未发现需要它,但我很好奇。
似乎有一些关于它的相互矛盾的消息,并且无论哪种方式都找不到硬数据。
一方面,我听到许多家庭用户声称它对他们有帮助,但我听到家庭用户说了很多事情——大多数时候他们没有知识或经验来准确描述真正发生的事情。另一方面,Steve 自己的描述和文档也没有让我对它产生热情的模糊。
那么事情的真相是什么呢?你会用吗?
rob*_*rob 58
我对 SpinRite 的体验相当不错,但我认为它被高估了。事实上,它可能只是为了自己的利益而过于聪明。有一些免费的解决方案也同样有效(实际上,免费的可能效果更好)。
我们有一个 200 GB 的 NTFS 驱动器,它突然发生了灾难性的故障。这应该是人们临时转储东西的“共享”驱动器,但它最终变成了一个巨大的数据存储库,里面有各种各样的备份,以及一堆没人愿意在任何地方备份的文件。当驱动器死机时,无论我们运行 chkdsk 或其他工具多少次,我们都无法将其挂载。
最后,我们购买并运行了 SpinRite……它持续运行了 1 个多月。每次遇到坏集群时,它都会花费数小时试图从中恢复数据。同样,它不间断地运行了一个多月,试图从有缺陷的 200 GB 驱动器中恢复数据。(在 SpinRite 的辩护中,如果没有物理缺陷,它可以在短短几个小时内扫描驱动器。)SpinRite 最终能够恢复我们所有的文件,尽管许多较大的文件无论如何都已损坏。SpinRite 还使驱动器可再次安装。所以我肯定会说它做了一些事情。
然而,尽管它确实有效,但我不知道它是否比从 Linux CD 启动并运行 dd 将整个驱动器复制到一个文件是否有任何帮助。有一整个月没有运行一个垂死的磁盘,因为它快死了! 身体缺陷似乎有蔓延的习惯。如果在 SpinRite 运行时磁盘性能进一步下降,我不会感到惊讶。就个人而言,我宁愿尽快从磁盘中取出数据,制作多个备份映像,并尝试离线修复文件。
我们最近不得不恢复其他数据,dd 做得很好。您可以告诉它从驱动器中复制所有好的数据,然后您可以再运行几次并尝试更努力(即,使用较小的块大小)尝试从坏区域中提取数据。
如果您有一个小时左右的空闲时间,我会说值得您花时间学习如何使用 dd 而不是购买 SpinRite:http : //www.debianadmin.com/recover-data-from-a-dead -hard-drive-using-dd.html
或者走更简单的路线,只需下载 dd_rescue:http ://www.garloff.de/kurt/linux/ddrescue
如果您仍想运行 SpinRite,我强烈建议您在将所有现有数据从驱动器复制之后再运行,以防万一驱动器运行更长的时间会使其性能进一步下降。
每次获得新驱动器时,都应该从 Linux CD 启动并运行坏块以检查其是否存在缺陷。您还应该定期检查驱动器是否降级。我们至少有 2 个全新的驱动器存在缺陷,几个月内还有 3 或 4 个死亡(即使我们在将它们投入使用之前进行了彻底的测试)。
请注意,您需要以 root 身份运行 badblocks,或者如果您从 Ubuntu live CD 启动,则在命令前加上“sudo”。
全新驱动器(警告:破坏所有数据!):
badblocks -wvs /dev/sd#
Run Code Online (Sandbox Code Playgroud)
或者
badblocks -wvs /dev/hd#
Run Code Online (Sandbox Code Playgroud)
在用驱动器(只读测试):
badblocks -vs /dev/sd#
Run Code Online (Sandbox Code Playgroud)
或者
badblocks -vs /dev/hd#
Run Code Online (Sandbox Code Playgroud)
其中 # 是 Linux 中的驱动器号。IDE 驱动器通常称为 /dev/hd#,而 SCSI(通常是 SATA)驱动器称为 /dev/sd#。
有关坏块的更多信息,请访问:http : //en.wikipedia.org/wiki/Badblocks
顺便说一句,即使dd和badblocks是Linux程序,你也可以在NTFS驱动器上使用它们,你甚至可以在Linux中挂载NTFS分区,无论你使用的是MBR分区、动态磁盘还是GPT磁盘。
Steve 的文档讨论了 SpinRite 理论上可以帮助解决的许多假设问题。例如:数据随着时间的推移逐渐消失,需要通过读取每个块并将其再次写回磁盘来“刷新”,或者反复重新定位块两侧的读头最终会让您在统计上占卜的概念存储在该块中的原始数据。从逻辑上讲,这些事情是有道理的,但我认为它们只是解决现实世界中可能不会真正出现的学术问题。(至少,对于硬盘——也许是 Zip 磁盘等更容易受到数据衰减的影响。)如果 Steve 引用了有关这些主题的论文,或者如果这些技术已被实验证明是有效的,那么我希望有许多开源或商业上可用的 SpinRite 克隆。编写包含所有 SpinRite 记录功能的 Python、Perl 或 UNIX shell 脚本完全在普通脚本程序员的能力范围内。
ten*_*ner 28
过去曾编写过磁盘驱动器固件(从 80 年代开始),这里对驱动器固件的作用存在很多误解。我也花了很多时间在 GRC 论坛上,但除了作为用户之外,我没有以任何方式与 SpinRite 建立联系。
首先,至少从 80 年代开始,驱动器固件就一直在恢复和重新映射扇区(当时我编写了固件来做到这一点)。这绝对没有什么新鲜事。当驱动器遇到问题扇区时,它们会自行重试几次,但次数有限,因为驱动器不允许在一个读取命令上运行几秒钟——如果驱动器没有完成一个命令,许多操作系统会感到不安不到一秒钟。如果驱动器可以恢复数据,它通常会在认为错误不仅仅是一次打嗝时自动重新映射扇区。因此,诸如chkdsk或 之类的程序dd仅读取磁盘驱动器将触发此行为,就像 SpinRite 一样。
真正的问题是当驱动器固件无法恢复扇区数据时会发生什么。SpinRite 会做而大多数其他程序不会做的是进行数千次重新读取和重新搜索,以查看它是否可以让磁盘成功读取一次数据。如果发生这种情况,SpinRite 会通知驱动器重新映射扇区并将恢复的数据写入其中。根据我的经验,多次重读和重新搜索的成功率有限,正如其他人在此处指出的那样,可能会导致使用故障驱动器的剩余有限生命周期。因此,在尝试使用SpinRite 之前尝试使用dd或始终是一个好主意chkdsk。
问题是无论尝试多少次重新读取和重新搜索,驱动器都无法恢复数据。SpinRite 多次从扇区读取未校正的原始数据,并对返回的数据进行统计分析以尝试恢复实际数据。然后它告诉驱动器重新映射扇区并将恢复的数据写入其中。据我所知,SpinRite 的这一部分是独一无二的,当其他一切都失败时,这是最后的努力。结果,我使用 SpinRite 恢复了其他程序没有的数据(dd、制造商诊断等)已经能够。但是当您运行 SpinRite 时,您必须接受恢复的数据可能只是部分正确。SpinRite 还具有映射出所有坏块的作用,可以使驱动器再次可用。但简单地写入所有坏扇区也可以做到这一点,这可以通过badblocks.
当然,有些驱动器是丢失的原因,没有程序可以保存。如果您确实需要这些数据,请将驱动器带到驱动器恢复中心,该中心将尝试更换驱动器的故障部件和其他技术,以尽可能多地取回数据。准备好花费数千美元。这是一个非常劳动密集型的过程,需要昂贵的洁净室,而且这些地方必须为回溯多年的每个商业发布的驱动器维护更换零件的库存。
在撰写本文时,Steve 正在开发 SpinRite 的第 7 版,其中将包括类似于dd_rescue他现在所做的扇区恢复工作的数据恢复。据说这将在他专注于单个坏扇区之前完成,这样他就不会在仅恢复一个扇区时耗尽垂死的驱动器的寿命。
Gre*_*ith 10
SpinRite 在很久以前编写的那个时代是一个很棒的程序。那时,它会通过比驱动器固件本身更持久来恢复看似烤面包的驱动器。
但在 2009 年,它毫无价值。现代驱动器自己进行复杂的扇区映射和测试,而 SpinRite 太老了,不知道如何在所有驱动器上正确触发这些。相反,您应该做的是学习如何使用smartmontools,可能是通过 Linux 引导 CD(因为您需要它们的主要时间是驱动器已经吐司)。
当驱动器开始返回时,我通常的例行程序是使用 dd 备份其数据,运行 smartmontools 以查看其报告的错误,触发自检并再次检查错误,然后启动制造商的恢复软件以查看是否问题可以通过它来纠正。SpinRite 比 SMART 和制造商工具提供的接口更了解驱动器的想法至少已经过时了十年。此外,如果您需要将驱动器视为有缺陷的 RMA,则将信息输入 SMART 日志会有所帮助,而 SpinRite 对此无能为力。
请注意,您偶尔会看到 SpinRite“修复”问题的报告是巧合。如果您访问现代驱动器上的一个坏扇区,该驱动器通常会从为此目的保留的备件中为您重新映射它。SpinRite 所做的只是访问坏扇区,实际上并没有修复任何东西。这就是为什么您仍然会收到与它相关的这些轶事“它对我有用”的报告——同样的事情如果使用 SMART 扫描会更好地完成。
tyl*_*erl 10
我可以肯定地告诉你,这个工具可以恢复其他工具(比如ddrescue)不能恢复的数据。因此,如果您的驱动器出现故障,则值得使用。当所有其他工具都失败时,Spinrite 为我恢复了一个驱动器。但是,它只能恢复某些类型的错误,并且并非每次都有效。
也就是说,在某些重要情况下,您甚至不应该尝试使用 spinrite 或任何其他基于软件的解决方案来恢复您的磁盘。也就是说,如果您的磁盘由于未知原因出现故障并且其中的数据绝对至关重要——您应该立即拔下磁盘并将其直接运送到专业维修店(不是 极客队或数据医生)或其他消费者商店),他们可以在那里拆卸它以找出并解决问题。这些车间在洁净室环境中运营,并拥有更换磁头、电机、PCB 和任何其他可能出现故障的组件的工具。它们并不便宜——单个磁盘的价格在 800 美元到 3000 美元(或更多)之间,但它们绝对是您最好的选择。
最重要的是,如果机箱内有物理损坏,简单地旋转驱动器可能会不可挽回地破坏您的数据,使任何未来的恢复尝试都徒劳无功。Spinrite 无法恢复已损坏组件的磁盘。如果里面有松散的碎片,出于任何原因启动驱动器都是非常具有破坏性的。
此外,Spinrite 不能“非破坏性”工作——也就是说,它在读取坏扇区后重新映射它们,这可能会影响未来的恢复工作。因此,如果您想尝试基于软件的恢复,您应该使用诸如 之类的工具转储您可以使用的内容ddrescue,然后在驱动器上使用 spinrite。
会用,用过,推荐。
我有一个 160gb 的 SATA 硬盘,上面装满了 Solidworks 图纸。一天停电,这台机器停电了。之后机器只会在启动时蓝屏。
最后我们在尝试ChkDsk和制造商的简单实用程序后购买了 SpinRite 。SpinRite 在磁盘上发现并修复了这些错误。之后所有数据都可以恢复。
如果您的硬盘很出色,并且您的数据价值高于新磁盘的成本,那么购买 89 美元是值得的。
| 归档时间: |
|
| 查看次数: |
53776 次 |
| 最近记录: |