Veja se você pode usar ddrescue :
GNU ddrescue is a data recovery tool. It copies data from one file or block device (hard disc, cdrom, etc) to another, trying to rescue the good parts first in case of read errors.
Ddrescue does not write zeros to the output when it finds bad sectors in the input, and does not truncate the output file if not asked to. So, every time you run it on the same output file, it tries to fill in the gaps without wiping out the data already rescued.
Portanto, se os erros forem intermediários, você poderá repetir as execuções do ddrescue até você é bem sucedido o suficiente.
Você pode não precisar baixar os arquivos de instalação, se o ddrescue for um pacote padrão em sua distribuição Linux.