E2FSCK: how to handle the "metadata_csum" error by advancing the e2fsck version beyond default installed version [duplicate]

I have a desktop computer with Ubuntu Desktop 14.04.4 LTS 64-bit with an attached HDD USB 3.0 4TB Intenso 1 partition ext4 data drive only (no OS or Apps). After a sudden power failure, I am unable to mount the drive (checked different host Linux machines with no result).

error message:

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

Tried with fsck, e2fsck with no result. The error message says "Get a newer version of e2fsck".

Tried with all available superblocks backups with no result.

Tried offline file/drive Linux checkers on the offline and UNmounted volume with no result.

Finally, I received the following error message for which I couldn't find any help online:

"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!

Can anyone help me take my data back?


I had the same problem and it took me some time to fix it, without formatting :)

Just follow this hint:

e2fsck: Get a newer version of e2fsck!

You need to download the latest version of e2fsck, compile it and then use this version.

Here are some steps to follow (use 1.43.1 or newer):

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

Voila!


metadata_csum stands for “Metadata Checksums” which is available for Ext4 file systems since Linux 3.6 but isn't supported by the file system tools until v1.43:

Support for checksums is sitting in the e2fsprogs WIP tree, which implies that it might appear in e2fsprogs 1.43.

Since Ubuntu Bionic has e2fsprogs v1.44.1 you don't have to build it from source any longer. Instead, if you have Ubuntu Trusty or Xenial, you can download the Deb packages for e2fsprogs for your architecture and install them with:

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

Unfortunately the packages cannot be installed with a single DPKG invocation since one pre-depends on the other and must be installed and configured before it.


Note for non-x86* architectures: For whatever reason the package repositories behind the links above only have binary packages for the i386 and the amd64 architectures. If you need them for a different architecture you can download them from Launchpad.