I recently recovered a large amount of data from a failed external hard-drive with ddrescue, which did an excellent job. However, after running the tool several times and with different options, it appears that some bad blocks are still unrecoverable, leading to a data loss of a few KB in the resulting disk image. This affects one directory in particular: it does not show up in Nautilus and ls on it gives "I/O error".

I do have a backup of this directory, but it is somehow dated. This means that I know which files are contained in the directory and would like to recover the newest version of a least some of them. Is there a (low-level) way to circumvent the I/O error and go "straight" to copying the files? I tryed Photorec and TestDisk with poor results and a simple cp with the same I/O error.

(NTFS filesystem in a truecrypt container, Ubuntu 11.04).

Thank you in advance!

  • Blocks are never recoverable, they can only be ignored. After a certain threshold you start seeing real issues at the OS level, and once they start giving issues the drive should be replaced Dec 11, 2013 at 17:20
  • 1
    If the disk is damaged then any data in the damaged area(s) is GONE, so there's nothing to recover. If you got most of your data back then consider yourself lucky. Throw the faulty drive out and consider more frequent backups. If you REALLY need those files, then consult with a data recovery company, as they may be able to get some of it back - but it probably won't be cheap. Dec 11, 2013 at 17:21

1 Answer 1


cp -R will continue despite errors copying individual files. This may or may not be able to get some of the files from the directory. It depends on the size of the files and whether or not they are on a bad sector. I used this to recover most of the data from a Mac OS photo library on a dying hard drive. The Mac Finder tool failed the entire copy when it encountered an error.

  • Sorry for the necropost, just sharing what I learned while dealing with a similar problem. Dec 13, 2021 at 17:23

You must log in to answer this question.

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