我有一个旧硬盘出现故障,我正在尝试恢复testdisk
.计划是用来dd
制作映像,然后用来testdisk
从映像中恢复文件,以避免进一步损坏磁盘。
我使用了以下命令:
sudo dd if=/dev/sdc of=/mnt/BigDisk/backup.iso status=progress
一切都很顺利,直到进展停止。它并没有降到 0MB/s,只是冻结了。
我等了几个小时,什么也没有改变。然后我尝试了Ctrl+C
一下,但什么也没有。最后我给它发了一个SIGKILL
(sudo kill -9 <pid>
),但即使这样也不起作用。我还尝试运行不同的命令,例如lsblk
也被挂起并且没有响应任何信号,包括SIGKILL
.特别是,我认为尝试读取或获取该设备上的信息的每个进程都被冻结并且“无法杀死”。
我尝试的最后一件事是关闭电脑电源,但即便如此,带有闪烁白条的黑屏仍然存在,而且我的电脑从未关闭。
第二天我尝试testdisk
直接使用/dev/sdc
.它正确检测到分区(ext4
,只有一个)并能够读取文件名,但是当我开始复制时,在某些文件发生同样的事情后,它也发生了dd
。
这是某种内核问题吗?
系统信息:
- 操作系统:
Arch Linux
,内核:5.13.5-arch1-1
/dev/sdc
ext4
是一种分区方案中只有一个分区的 HDDMBR
。/mnt/BigDrive
是一个外部驱动器,NTFS
其上有一个分区,该分区也已损坏,现在与另一磁盘具有类似的行为。它是使用安装的ntfs-3g
。
答案1
最后我设法挽救我的文件。
我可能在问题中撒了谎,因为可能在我第一次尝试和发布问题之间我进行了内核更新(可能从 5.12 到 5.13)。我昨天再次尝试使用新内核和一个以 ext4 分区作为目标的新硬盘,效果很好。ddrescue
花了大约 12 个小时,但最终它完成了复制,只出现了一些错误。
感谢大家的建议。