我有一个可挂载的 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 而不是目录树的问题。
感谢大家的帮助。