如果在 ext3 fs 上运行 fsck.ext4 -y 会发生什么情况,我该如何恢复

如果在 ext3 fs 上运行 fsck.ext4 -y 会发生什么情况,我该如何恢复

我有一个可挂载的 fs(很确定它是 ext3),使用 -y 运行 fsck.ext4 并导致分段错误。现在它无法挂载(dmesg 说它已损坏)并通过“blkid”命令将其标识为 ext4 fs。该 fs 恰好位于由 3 个分区组成的 raid 0 阵列上。

由于我不能 100% 肯定它最初是 ext3,所以我不想尝试运行 fsck.ext3。即使是这样,我也不知道这是否会起作用。

我希望 fsck 足够智能,能够检查 fs 类型并至少提供警告。

如果您能提供任何关于如何恢复的建议,我们将不胜感激。

答案1

$ ls -la /sbin/fsck.ext?
lrwxrwxrwx 1 root root 6 jun 24  2013 /sbin/fsck.ext2 -> e2fsck
lrwxrwxrwx 1 root root 6 jun 24  2013 /sbin/fsck.ext3 -> e2fsck
lrwxrwxrwx 1 root root 6 jun 24  2013 /sbin/fsck.ext4 -> e2fsck

所以你运行的 fsck 是正确的。如果你的文件系统现在损坏严重,无法挂载,你有两个选择:

  • 从备份恢复
  • 向数据恢复公司支付一大笔钱。

答案2

这可能是软件 RAID,但假设你可以看到块设备,我对 ext2/3/4、XFS 和其他 Linux 文件系统上的数据恢复的建议是UFS 探索者.它是商业软件,但是价格相对便宜。

看到blkid返回正确的文件系统类型,对设备运行 UFS Explorer 扫描(并重定向到另一个磁盘)可能是查看可恢复或不可恢复内容的干净方法。

答案3

更新:所以那些好奇的人,上一次的 fsck(版本 2.24)能够完成。所有结果数据都在(lost+found)中。我目前正在备份此目录,然后再提取任何内容。乍一看,大部分数据似乎都在那里。所以这只是遍历 inode 而不是目录树的问题。

感谢大家的帮助。

相关内容