
Tenho um CD multisessão cujo conteúdo desejo copiar para um disco rígido. O CD tem cerca de 20 anos e possui diversas partes apresentando problemas de leitura, por isso é um potencial candidato para ddrescue
.
O problema é que ddrescue
parece não reconhecer nenhuma sessão além da primeira do CD, assim como dd
acontece. Sua documentação nem menciona CDs multisessão e parece não haver muita informação disponível na internet sobre como fazê-lo.
Então a questão é: como resgatar um CD multi-sessão usando ddrescue
alguma ferramenta similar?
Responder1
Receio que você tenha mencionado a infeliz resposta em seu comentário: ddrescue
não sabe como abordar uma sessão individual. Suspeito que esta seja uma escolha deliberada da interface do CD-ROM do kernel Linux: ela mostra apenas qualquer sessão que considere relevante. Para contornar isso, acredito que cdrdao
faça algo especial que possibilita que a ferramenta acesse sessões individuais (por exemplo, com o --session
sinalizador).
Em meus testes, o seguinte produz um grande arquivo binário ( .bin
) e um arquivo de índice ( .toc
) descrevendo o disco:
cdrdao read-cd --read-raw --datafile data.bin data.toc
Ele não tenta nem verifica nada, então não é exatamente um resgate. Mas pode ser capaz de resgatar CD-ROMs de modo misto e abordar sessões individuais. Se o procedimento acima não encontrar todas as sessões (você pode verificar quantas sessões estão presentes com cdrdao disk-info
), você poderá extrair sessões individuais com:
for session in 1 2 3 [...] ; do
cdrdao read-cd --read-raw --session $session --datafile data-$session.bin data-$session.toc
done
Os .bin
arquivos precisam ser convertidos para aparecerem como ISO
arquivos, usandopedaço:
bchunk data.bin data.toc data
Se tudo correr bem, isso deverá criar um arquivo data.iso
para a seção relevante do disco. Ele também pode criar um data.ugh
arquivo se a conversão falhar e, infelizmente, não sei como lidar com esse caso.