从故障驱动器保存数据

int*_*ted 12 dd data-recovery hard-disk

外部 3½" HDD 似乎有发生故障的危险——它在空闲时发出滴答声

我已经获得了一个替换驱动器,并想知道从可疑驱动器中获取数据的最佳策略,并尽可能多地保存数据。

有些目录比其他目录更重要。但是,我猜测挑选和选择目录会减少我保存整个内容的机会。我还必须挂载它,转储文件列表,然后卸载它,以便能够有效地对目录进行优先级排序。加上这样做很耗时的事实,我正在远离这种方法。

我已经考虑过只使用dd,但我不确定它将如何处理读取错误或其他可能仅阻止数据的某些部分被拯救的问题,或者可以通过一些重试来克服这些问题,但不会太多以至于它们以免驱动器的其他部分被保存。我想理想情况下,它会通过一次获得尽可能多的数据,然后返回重试因错误而错过的任何内容。

复制更慢(例如,每 x MB/GB 暂停一次)是否可能比仅全速运行操作更好,例如避免任何过热问题?

对于“你的备份在哪里”的人群:这实际上是我的备份驱动器,但它也包含一些非关键和笨重的东西,比如音乐,它们不是备份,即没有备份。

除了这种有点不祥的声音外,驱动器没有表现出任何明显的故障迹象。最近我确实不得不检查一些错误——孤立的 inode、不正确的空闲块/inode 计数、inode 位图差异、删除的 inode 上的 dtime 为零;总共大约 20 个错误。

该分区的文件系统是 ext3。

Gil*_*il' 10

您可以使用ddrescuedd_rescuemyrescue来克隆出现故障的磁盘,而不会中止任何不可读的扇区。(Myrescue 的可配置性较低,但具有更好的默认策略,因为它会尝试跳过不可读的区域。)这将复制所有内容,包括空白区域,并且不会让您设置优先级。然而,这样一个低级别的方法比文件系统级工具的优势:如果一个目录是不可读的,你仍然可以通过搜索等工具的原始图像恢复它包含的文件foremostmagicrescuephotorec包括在testdisk等。


War*_*ung 8

如果不确切知道驱动器出了什么问题,就无法知道最佳选择。如果是机械故障,避免加热会有所帮助,但如果是由于伺服数据中的错误,则热量可能无关紧要。

我会立即开始将唯一数据复制到新驱动器rsyncrsync将让您根据需要暂停、恢复和重新启动,直到您关闭所有数据。

然后我会在驱动器上运行数据清理。我从ext3文件系统中假设您正在运行 Linux,所以试试这个:

# umount /dev/sdX
# badblocks -n /dev/sdX
Run Code Online (Sandbox Code Playgroud)

(首先卸载驱动器很重要。)

这将从磁盘中读取每个扇区并将其写回而不更改。这将强制驱动器固件检查每个扇区是否有错误并重新映射它发现的任何坏扇区。这是昂贵的SpinRite程序所做的最重要的部分。只有在出现badblocks故障并且您仍未从驱动器中获取所有独特数据时才采取措施:SpinRite 比以往更加努力badblocks