我一年前买的 3TB Seagate 硬盘停止工作了。该硬盘有 3 个 ext4 1TB 分区,存储了近 2 年的累积数据。我在 ubuntu 服务器上使用它时,挂载的分区停止显示文件夹。重新启动时,分区始终挂载但不显示任何数据或显示一些包含数据的文件夹。
我把它取出并通过 USB 转 SATA 适配器连接到 Windows 笔记本电脑。在 AOEMI Partition Assistant Pro 中,驱动器会显示出来,但会显示奇怪的分区方案和大小。使用“分区恢复”选项也不起作用,因为它无法找到分区:
我也尝试使用 testdisk:
testdisk 似乎找到了 3 个 Linux 分区,但其“快速分析”功能将该分区返回为 FAT16,并显示“由于大小太小,无法恢复”。这是我第一次使用这些恢复工具,所以我不知道它们是什么意思。由于担心会毁掉所有数据,我没有做任何永久性的操作。如果有人知道发生了什么,请告诉我。
答案1
切勿使用 Windows 工具尝试恢复 Linux 文件系统!!!!!!!!!!
抱歉大声喊叫,但你这样做实际上可能让事情变得更糟。Windows 不理解 Linux 文件系统(尽管有些工具至少可以识别它们,在某些情况下,您可以使用适当的驱动程序安装它们)。此外,在超过 2TiB 的磁盘上使用 USB 适配器也可能会导致问题。许多这样的设备会损坏如此大磁盘上的现有数据。有些设备从一开始就通过适配器使用磁盘时会没问题,但在 USB 适配器和直接 SATA 连接到主板之间来回切换可能会产生新的问题。屏幕截图中的警告表明您的磁盘似乎比应有的要小,这表明您的 USB 适配器无法处理您的磁盘。如果您通过该适配器将任何数据写入磁盘,则可能造成了新的损坏。
目前尚不清楚您最初的问题是由分区表损坏还是文件系统损坏引起的。分区表损坏可以通过正确使用gdisk
、parted
或 GParted 来修复;在极端情况下,也可以使用 TestDisk。文件系统损坏通常可以通过使用 或其文件系统特定变体来纠正fsck
,例如e2fsck
。
此时我的建议是将磁盘返回到原始计算机并尝试恢复。如果您无法启动原始操作系统,请使用Linuxlive CD。使用gdisk
或parted
检查分区表,看看它是否完好无损。我写道修复 GPT 磁盘的网页gdisk
这可能对你有帮助。如果你的分区表看起来没问题,继续进行文件系统修复。
在做其他任何事情之前,您应该认真考虑对大小相同或更大的磁盘进行低级备份(使用dd
)。如果使用不当或出现错误,许多修复程序实际上会使情况变得更糟。如果您遇到这样的问题,您可以使用低级备份进行恢复。