情况:
我有一块硬盘,它原本有一些 NTFS 分区和一个 Ext4 分区(除了一些未分配的空间和一个 Linux Swap)。它丢失了分区表。没有任何东西被覆盖。
背景:
有一次,我买了一个 Seagate 外置硬盘,我怀疑它有问题,因为传输速率会随机变得非常低。在将它送去保修之前,我尝试对它运行一个诊断工具(Seagate 提供,网址为seagate.com/support/warranty-and-replacements)。运行简短的测试命令,它返回了一个无用的错误消息。又试了几次,还是一样。然后我决定在内置驱动器的一个分区上运行它,看看错误是否会持续存在。坏主意。我马上就无法访问计算机上的任何文件了。我关掉了电脑,当我重新打开它时,内置硬盘已经变成了一个阴暗的空洞山谷。
完成:
TestDisk 显示所有丢失的 NTFS 分区,并且我可以看到属于它们的所有目录和文件。
问题:
对于 Ext4 分区(Ubuntu 曾经驻留于此),它没有显示任何文件。相反,它显示了令人恐惧的消息“未找到文件,文件系统可能已损坏。“如果我选择写入分区,它就无法挂载,也无法用 e2fsck 恢复,即使替代超级区块。
目标:
让 TestDisk 找到正确的 Ext4 分区及其所有文件;或者
找到一种方法来修复 TestDisk 写入的错误分区。
问题:
1)我还可以尝试什么吗?
2) 什么原因导致 TestDisk 在除此 Ext4 之外的所有分区中查找文件?
评论:
Ext4 分区未加密。
在使用 TestDisk 写入(错误的)Ext4 分区后,我能够使用 [R-Linux] 和 [PhotoRec] 恢复(显然)其所有文件。
TestDisk 错误地显示了多个 Linux 分区(实际上只有一个),每个分区的开始和结束点都不同,彼此重叠。我尝试过最先开始的分区、最后结束的分区,以及介于两者之间的一些分区。
我让 TestDisk 使用 Intel 分区表类型对磁盘进行了深度扫描。我还尝试了 EFI GPT(按照工具的建议),但这次甚至找不到 Ubuntu 分区。
当我使用默认磁头数(255)运行 TestDisk 时,它建议正确的数字可能是 128。但是当我尝试 128 时,所有 NTFS 分区都抱怨它们实际上是 255。
TestDisk 在分析后立即表示:“硬盘(1000 GB / 931 GiB)似乎太小了!(< 3058511 TB / 2781700 TiB)。检查硬盘大小:HD 跳线设置、BIOS 检测…”
打开 GParted 时,我收到消息“驱动程序描述符显示物理块大小为 2048 字节,但 Linux 显示为 512 字节。”
我正在通过 USB 驱动器运行 Ubuntu 来运行这些工具。
我正在制作该磁盘的副本(用 dd 制作)。
我备份了重要文件,所以我并不绝望。但我真的希望能恢复磁盘。