2

I have a HD in pretty bad shape. I'm prepared to accept is dead but I'd like to recover the data from it.

Running badblocks on it gives a HUGE list of numbers.

Trying to run fsck.ext4 on it just says:

fsck.ext4: Attempt to read block from filesystem resulted in short read while trying to open /dev/sdd1

So I guess the first superblock is fried.

I'm trying to use a backup super block so I'm trying to determine where it is with dumpe2fs but I just get:

$ sudo dumpe2fs /dev/sdd
dumpe2fs 1.42.9 (4-Feb-2014)
dumpe2fs: Attempt to read block from filesystem resulted in short read while trying to open /dev/sdd1

I guess everything is reading my HD as being empty, isn't it?

Is there any way to recover it?

Is there any way to guess the location of a superblock backup?

Thanks a lot.

1
  • Doesn't "short read" indicate a physical error with the hard drive. A short read might be expected with a pipe or network but not a locally attached block device. May 18, 2022 at 4:45

2 Answers 2

10

When the command dumpe2fs /dev/sdd sent an error, there is an other way to obtain the location of a superblock backup :

mkfs.ext4 -n /dev/sdd

From the man mkfs.ext4

-n Causes mke2fs to not actually create a filesystem, but display what it would do if it were to create a filesystem. This can be used to determine the location of the backup superblocks for a particular filesystem, so long as the mke2fs parameters that were passed when the filesystem was originally created are used again.

Then, you just have to repair your partition using the superblock:

fsck -b 98304 /dev/sdd

replace 98304 by your superblock's number.

5
  • I got a valid superblock and I'm fscking now. Everything points to, not only a great answer but also a solution for (some of the) data on my HD. Thanks. I'll wait for the process to end before accepting but it seems great. Apr 22, 2016 at 14:26
  • You're welcome. Try to help when I can.
    – monitor35
    Apr 22, 2016 at 14:28
  • It worked awesomely. I've recovered most of my data. Thanks Apr 26, 2016 at 8:39
  • It didnt work for me , Please can u provide another solution . I tried with all the backup superblocks . (I have done dd if=/dev/mmcop1 of=/dev/zera ) So whole data is wipedout from disk , (Lost all the backups) . i have also tried testdisk .
    – yunus
    Jun 9, 2020 at 6:11
  • If u can anser my question . It is most likely u have answered superuser.com/questions/1281168/…
    – yunus
    Jun 9, 2020 at 6:12
0

Your hard drive appears to have many physical errors, as you reported by badblocks and mention that fsck is saying a "short read" error occurred.

I recommend running ddrescue on it and copy the filesystem image to another device before attempting any filesystem repair. ddrescue can take a very long time to finish if there is a lot of damage (even more than 24h in some cases)

Trying to write to a badly physically damaged drive will most likely result in creating more errors and damaging more data.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .