![如果在 ext3 fs 上运行 fsck.ext4 -y 会发生什么情况,我该如何恢复](https://linux22.com/image/624030/%E5%A6%82%E6%9E%9C%E5%9C%A8%20ext3%20fs%20%E4%B8%8A%E8%BF%90%E8%A1%8C%20fsck.ext4%20-y%20%E4%BC%9A%E5%8F%91%E7%94%9F%E4%BB%80%E4%B9%88%E6%83%85%E5%86%B5%EF%BC%8C%E6%88%91%E8%AF%A5%E5%A6%82%E4%BD%95%E6%81%A2%E5%A4%8D.png)
我有一个可挂载的 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 而不是目录树的问题。
感谢大家的帮助。