断电后无法挂载驱动“Get a newer version of e2fsck”

ubu*_*ser 18 filesystem ext4 14.04

我有一台带有 Ubuntu Desktop 14.04.4 LTS 64 位的台式计算机,带有一个附加的 HDD USB 3.0 4TB Intenso 1 分区 ext4 数据驱动器(没有操作系统或应用程序)。突然断电后,我无法挂载驱动器(检查了不同的主机 Linux 机器但没有结果)。

错误信息:

sudo mount /dev/sdd1 /mnt
mount: wrong fs type, bad option, bad superblock on /dev/sdd1,
       missing codepage or helper program, or other error
       In some cases useful info is found in syslog - try
       dmesg | tail  or so
Run Code Online (Sandbox Code Playgroud)

用 fsck、e2fsck 试过,没有结果。错误消息显示“获取更新版本的 e2fsck”。

尝试了所有可用的超级块备份,但没有结果。

在脱机和卸载卷上尝试脱机文件/驱动器 Linux 检查器,但没有结果。

最后,我收到以下错误消息,但我在网上找不到任何帮助:

"has unsupported feature(s): metadata_csum".
e2fsck 1.42.9 (4-Feb-2014)
/dev/sdd1 has unsupported feature(s): metadata_csum
e2fsck: Get a newer version of e2fsck!
Run Code Online (Sandbox Code Playgroud)

谁能帮我取回我的数据?

小智 24

我遇到了同样的问题,我花了一些时间来修复它,没有格式化:)

只需遵循以下提示:

e2fsck:获取更新版本的 e2fsck!

您需要下载最新版本的e2fsck,编译它然后使用这个版本。

以下是要遵循的一些步骤(使用 1.43.1 或更新版本):

wget http://downloads.sourceforge.net/project/e2fsprogs/e2fsprogs/v1.43.1/e2fsprogs-1.43.1.tar.gz
tar xzf e2fsprogs-1.43.1.tar.gz
cd e2fsprogs-1.43.1
./configure # <== if this step fail, check the config.log file, it could just be that you are missing the "libc6-dev" package on your system
make
cd e2fsck/
./e2fsck
Run Code Online (Sandbox Code Playgroud)

瞧!

  • 如果有人想使用这个e2fsck版本作为默认的fsck,当然需要在备份后覆盖/sbin/e2fsck。 (2认同)

Dav*_*ter 15

metadata_csum代表“元数据校验和”,自 Linux 3.6 起可用于 Ext4 文件系统,但在 v1.43 之前不受文件系统工具支持:

对校验和的支持位于 e2fsprogs WIP 树中,这意味着它可能出现在 e2fsprogs 1.43 中。

由于 Ubuntu Bionic具有 e2fsprogs v1.44.1,您不必再从源代码构建它。相反,如果您有 Ubuntu TrustyXenial,您可以e2fsprogs为您的架构下载 Deb 包并安装它们:

arch=$(dpkg --print-architecture)
sudo dpkg -i {e2fslibs,lib{ext2fs2,ss2,com{,-}err2}}_*_$arch.deb
sudo dpkg -i e2fsprogs_*_$arch.deb
sudo dpkg --configure --pending
Run Code Online (Sandbox Code Playgroud)

不幸的是,这些软件包不能通过单个 DPKG 调用安装,因为一个预先依赖于另一个并且必须在它之前安装和配置。


非 x86* 架构的注意事项:无论出于何种原因,以上链接后面的包存储库只有 i386 和 amd64 架构的二进制包。如果您需要它们用于不同的架构,您可以从 Launchpad下载它们。