O ddrescue foi construído para isso e atende aos requisitos, mas não por si só. Você pode obtê-lo como parte do SystemRescueCD , que é um CD inicializável que contém essa ferramenta e muitos outras ferramentas de resgate do sistema.
O CD está disponível para i486 / amd64, SPARC e PPC. Se você não quiser usar um CD, existem instruções disponíveis para instalação em um dispositivo USB.
Em caso de erros de leitura, ele tentará resgatar os dados em vez de apenas engasgar:
ddrescue is a raw disk imaging tool that "copies data from one file or block device to another, trying hard to rescue data in case of read errors." The application is developed as part of the GNU project and has written with UNIX/Linux in mind.