Acho que ddrescue nunca foi projetado para funcionar dessa maneira. Não há nenhum ponto em analisar o que você fez de errado, porque o caminho certo é de fato em esta resposta para a pergunta que você se refere para. Eu admito que seu uso neste contexto pode não ser óbvio, especialmente para uma pessoa que não está familiarizada com o conceito "tudo é um arquivo" no Unix.
A resposta descreve uma maneira de concatenar dois arquivos a e b em um dispositivo virtual (arquivo especial) /dev/mapper/merge .
Crie dois arquivos a e b ( veja como você pode fazer isso ) em seus dois sistemas de arquivos disponíveis, então a soma de seus tamanhos é igual ou superior ao tamanho de seu /dev/sdc .
Aplique esse fragmento da resposta vinculada (usando seus caminhos adequados para a e b ):
losetup /dev/loop1 a losetup /dev/loop2 b s() { blockdev --getsize "$1"; } dmsetup create merge << EOF 0 $(s /dev/loop1) linear /dev/loop1 0 $(s /dev/loop1) $(s /dev/loop2) linear /dev/loop2 0 EOF
Em seguida, use /dev/mapper/merge em vez de recovery_part1.img em ddrescue invocação.
O conteúdo de /dev/mapper/merge é basicamente o mesmo que o resultado de cat /your/path/to/a /your/different/path/to/b , mas merge é gravável e pesquisável.
Observação: /dev/mapper/merge não sobreviverá a uma reinicialização, mas é claro que seus arquivos a e b serão. Você só precisa recriar /dev/mapper/merge (usando o código acima) se quiser trabalhar com ele após a reinicialização.