A ferramenta que você está procurando é o GNU ddrescue
. É como o dd, mas a cada vez que você o executa no mesmo arquivo de saída, ele tentará preencher os dados que faltam.
Aqui está a página inicial e documentação .
Ele deve estar disponível nos sistemas mais comuns (no repositório, se não no disco).
Eu não sei de nenhum programa desse tipo que funcione no nível do sistema de arquivos.