我的 NAS 上有一张 ext3 磁盘。我把这个驱动器从 NAS 中取出,并将其安装在我的 Debian Wheezy 系统下。
当我运行 fsck 时,它告诉我超级块坏了。我没有完整的日志,但确切的错误消息是,fsck.ext3: Bad magic number in super-block while trying to open
因此,在阅读了一些内容后,我尝试使用以下命令从备份中恢复超级块:
sudo e2fsck -b 32768 /dev/sda2
重新启动后,驱动器似乎为空,我的所有文件夹都消失了!更重要的是 - 我的驱动器最初是 ext3 格式,但现在被检测为 ext2。是否有特定于 ext3 的方法来恢复超级块?
在不冒使情况变得更糟的风险的情况下恢复此驱动器先前的分区表/目录结构的最佳方法是什么?
答案1
偏移量 32768 是超级块的备份副本在具有 4K 簇的 EXT 文件系统上的位置。您确定这是适合您情况的簇大小吗?通常为 1K,要恢复超级块,您需要读取偏移量 8193:
sudo e2fsck -b 8193 /dev/sda2
PS. 现在已经太晚了,但我还是要说:做好备份前你会弄乱文件系统。保存磁盘的第一个 MB 会花 1 秒钟,而能够恢复它会为你省去很多麻烦。
答案2
我认为最初问题的原因是,我可能无意中以某种方式覆盖了 Ext2 格式的文件系统。我无法恢复超级块,但最终问题不大,因为我能够使用 Testdisk 恢复所有文件,然后只需重新格式化驱动器并放回文件即可。