Como resgatar um CD multi-sessão

1

Eu tenho um CD multi-sessão cujo conteúdo eu quero copiar para um disco rígido. O CD tem cerca de 20 anos e tem várias 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 no CD, assim como dd faz. Sua documentação nem sequer menciona CDs multi-sessão e parece não haver muita informação disponível na internet sobre como fazê-lo.

Então a pergunta é: como resgatar um CD multi-sessão usando ddrescue ou qualquer ferramenta similar?

    
por Lucio Paiva 13.03.2017 / 03:05

1 resposta

1

Eu tenho medo que você tenha mencionado a infeliz resposta em seu comentário: ddrescue não sabe como abordar uma sessão individual. Eu suspeito que esta é uma escolha deliberada da interface do CD-ROM do kernel do Linux: ela mostra apenas qualquer sessão que considere relevante. Para ignorar isso, acredito que cdrdao faça algo especial, o que possibilita que a ferramenta acesse sessões individuais (por exemplo, com o sinalizador --session ).

Nos meus testes, o seguinte produz um grande arquivo binário ( .bin ) e um arquivo Índice ( .toc ) descrevendo o disco:

cdrdao read-cd --read-raw --datafile data.bin data.toc

Ele não tenta ou verifica nada, então não é bem um resgate. Mas pode ser capaz de resgatar CD-ROMs de modo misto e abordar sessões individuais. Se o acima não encontrar todas as sessões (você pode verificar quantas sessões estão presentes com cdrdao disk-info ), você pode 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 arquivos .bin precisam ser convertidos para serem exibidos como ISO arquivos, usando bchunk :

bchunk data.bin data.toc data

Se tudo correr bem, isso deve criar um data.iso para a seção relevante do disco. Ele também pode criar um arquivo data.ugh se não conseguir converter, e infelizmente não sei como lidar com esse caso.

    
por 11.10.2018 / 01:09