我正在尝试在损坏的硬盘上运行 ddrescue。一段时间内,它运行顺畅但断断续续,经常几分钟到一个小时都无法获取任何数据。之后,它开始快速运行,但只读取错误,并获取数万个错误。这是硬盘损坏的明确迹象吗,还是可能是由分区表混乱之类的原因造成的?此外,磁盘是否损坏,使用 ddrescue 可能会使损坏变得更严重?感谢您提供的任何帮助。
答案1
DDrescue 可能会使磁盘变得更糟,为了尽量减少这种情况,您需要尽快尝试获取好块。
您可以使用以下标志将 DDrescue 设置为首先复制好块,-n
例如:
ddrescue -f -n /dev/sdb sdb_rescue.img sdb_rescue.log
然后再次运行 DDrescue 尝试恢复(重复使用现有日志将跳过成功恢复的日志)例如:
ddrescue -d -f -r3 /dev/sdb /root/sdb_rescue.img sdb_rescue.log
DDrescue 可以尝试恢复磁盘上的分区表,然后您可以尝试修复恢复的映像上的分区表。
故障驱动器往往会随着时间的推移产生越来越多的错误。因此,您应该在发现第一个错误后立即从驱动器中恢复数据。要小心谨慎,因为每次物理损坏的驱动器启动并能够输出一些数据时,这可能是它最后一次能够这样做了。
您应该使用 ddrescue 复制故障驱动器,然后尝试修复该副本。如果您的数据确实很重要,请使用第一个副本作为第二个副本的母版,然后尝试修复第二个副本。如果出现问题,您可以使用完整的母版再次尝试。
如果您尝试挽救整个分区,请首先使用 e2fsck 或其他适合您尝试挽救的分区类型的工具修复副本,然后将修复的副本挂载到某处并尝试恢复其中的文件。
如果驱动器损坏严重,无法修复或安装救援分区中的文件系统,您将必须使用十六进制编辑器浏览救援的数据并手动提取所需的部分,或者使用文件恢复工具(如 photorec)。
如果分区表损坏,您可以尝试挽救整个磁盘,然后尝试修复分区表和副本上的分区。
https://www.gnu.org/software/ddrescue/manual/ddrescue_manual.html#Examples
答案2
来自 ddrescue 手册https://www.gnu.org/software/ddrescue/manual/ddrescue_manual.html
切勿尝试挽救已挂载的分区。生成的副本可能毫无用处。最好不要挂载要挽救的设备或分区,甚至不要以只读方式挂载。
切勿尝试修复存在 I/O 错误的驱动器上的文件系统;您可能会丢失更多数据。
所以是的,回答你的问题,ddrescue 可能会使事情变得更糟,事实上任何对损坏(甚至未损坏)卷进行修补的程序都有可能造成进一步的损害。