DVD dando informações de tamanho inconsistente

1

Eu tenho um DVD (somente leitura, comercial, de camada dupla) no qual estou tentando criar uma cópia de backup no meu computador (porque os DVDs podem ser danificados). No entanto, quando tento determinar o tamanho do disco, obtenho tamanhos inconsistentes:

$ blockdev --getsize64 /dev/sr0
7687522304
$ isosize /dev/sr0
7899633664
$ cat /sys/block/sr0/size 
15428972
$ echo '512 *' $(cat /sys/block/sr0/size) | bc
7899633664

Aqui, blockdev informa um tamanho e outras coisas relatam um tamanho maior. Infelizmente, dd , cat , etc. parecem usar o tamanho que blockdev relata, embora pareça haver dados nos 212111360 bytes restantes: as imagens de disco de dd ou cat não funcionar corretamente, du -b em um disco montado fornece algo próximo ao tamanho maior (não exatamente, presumivelmente devido à sobrecarga do sistema de arquivos) e, na verdade, tentar acessar o sistema de arquivos montado tende a gerar erros de E / S.

Apesar disso, o disco é reproduzido corretamente em um player independente e parece funcionar (às vezes, não de forma confiável) com libdvdnav , mas não libdvdread .

O que está acontecendo com o disco e como obter uma cópia de backup?

EDIT: Eu adicionei mais detalhes sobre o disco em questão. Eu também pretendo fazer o backup usando o Windows para cuidar do problema imediato de "como faço para obter uma cópia de backup" (ou para obter mais informações, se isso falhar), mas eu ainda gostaria de saber o que está acontecendo e como posso fazer isso no Linux.

EDIT2: o próprio Windows pareceu funcionar, mas não possui nenhum criador de imagens em disco nativo. O Cygwin estava gerando erros estranhos que parecem não estar relacionados, e um programa do Windows projetado para criar ISOs estava encontrando muitos setores defeituosos que não apareciam na minha máquina Linux. Esses não foram os resultados que eu esperava. Eu estou postando aqui caso eles dêem dicas para o meu problema atual, mas eu não espero que eles façam isso.

EDIT3: Parece que, às vezes, o disco blockdev size fica “preso” ao trocar discos. Isso parece acontecer quando eu uso o botão de ejeção da bandeja física em vez de “ejetar” da linha de comando. Mais investigações são necessárias de minha parte (isso é realmente o gatilho?), Mas parece fornecer tanto uma explicação (o sistema fica confuso quando eu não desmonto o disco corretamente, mesmo que os programadores deveriam ter esperado isso mais do que com Unidades USB, especialmente com mídia somente leitura) e uma possível solução alternativa (obtenha o tamanho blockdev preso em 8,5 GB).

Agora que isso pode ser relevante, acrescentarei que estou usando o Fedora 20, com systemd , que monta automaticamente os discos na pasta /run/media/dhouck/<DISCNAME> . DISCNAME é determinado automaticamente a partir do sistema de arquivos; Eu não sei o suficiente sobre a UDF para dizer como, mas duvido que seja relevante. Quando o tamanho fica preso, a parte DISCNAME desse caminho de montagem também não é alterada. Eu suspeito que alguma parte do sistema está deixando de notar a mídia sendo removida e, assim, não conseguir desmontar adequadamente.

    
por Daniel H 21.10.2014 / 06:28

1 resposta

0

Acontece que esse problema não foi causado pelos próprios DVDs, mas sim pelo fato de o Linux ficar confuso quando usei o botão de ejeção de hardware sem desmontar o disco (o comando eject funciona porque ele desmonta corretamente). Eu assumi que era seguro porque os discos são somente leitura e porque eu pensava que remover a mídia sem desmontar com segurança só causaria problemas nas gravações.

    
por 24.10.2014 / 18:53