Crie uma imagem ISO aleatória usando dd

7

Eu gostaria de criar um arquivo ISO para testar unidades ópticas com o método mencionado aqui . Eu quero criar um arquivo ISO preenchido com dados aleatórios, para que eu possa gravá-lo em um CD, lê-lo de volta e comparar com o ISO original. Eu acho que o comando abaixo fará o que eu quero.

dd if=/dev/urandom of=cd-rom_test.iso bs=2048 count=333000

No entanto, não tenho certeza sobre algumas coisas.

Primeiro, qual deve ser o tamanho do bloco? As imagens ISO incluem os dados de cabeçalho e correção de erros que estão em um CD? O tamanho do bloco deve ser 2048 (sem cabeçalho e correção de erros) ou 2352 (com cabeçalho e correção de erros)?

Em segundo lugar, alguns sites que eu encontrei têm sync na opção conv (exemplo aqui ). Que, até onde eu posso ver, preenche as informações de cabeçalho e correção de erros com 0s, o que certamente não está certo.

    
por robingrindrod 14.09.2012 / 16:17

3 respostas

2

Como você está gravando em um arquivo com dd , o tamanho do bloco não alterará a saída resultante. O tamanho do bloco só é importante ao gravar em dispositivos.

Você está lendo em um dispositivo que nunca retornará leituras curtas, portanto, não é necessário usar sync para blocos de blocos.

Em qualquer evento, dd não tem acesso de leitura ou gravação aos dados de correção de erros. Tal como acontece com a mídia magnética, a unidade gerencia esses dados e você vê apenas os blocos corrigidos pelo erro.

    
por 14.09.2012 / 17:21
8

Com base no que você descreveu, você deve fazer algo assim:

dd if=/dev/urandom of=testfile bs=1M count=699
mkisofs -o test_cdrom.iso testfile

Uma vez feito isso, você pode ler e escrever para e da mídia ótica para o conteúdo do seu coração.

Uma coisa que eu sugiro é que, em vez de pré-testar a mídia ótica e tentar gravar o ISO real e, em seguida, verificar se você também deve gravar os dados de destino ISO uma vez, pois ele fornecerá exatamente o mesmo resultado você está tentando alcançar sem gastar tempo em Write->Read->Verify->Format

    
por 14.09.2012 / 17:27
0

Criar uma imagem feita de bytes aleatórios não é uma boa idéia, porque resulta em um sistema de arquivos ISO 9660 obviamente inválido. Você deve, em vez disso, criar um grande arquivo aleatório que ainda possa ser colocado dentro de um sistema de arquivos ISO válido. Em seguida, você grava essa imagem ISO e lê o conteúdo do CD para comparação com o arquivo original no disco rígido, por exemplo, com md5sum ou sha1sum . Se as somas de verificação forem as mesmas, a unidade estará bem ao gravar e ler CDs.

    
por 15.09.2012 / 12:46

Tags