Além da resposta de Gilles,
Se você ainda tiver a imagem ISO, poderá usar cmp em vez de somas de verificação. Ele diria a você em qual byte a diferença acontece. Isso também tornaria a verificação mais rápida, como se houvesse um erro no início, isso diria a você imediatamente, enquanto a soma de verificação sempre precisa ler a mídia inteira.
$ cmp /dev/cdrom /path/to/cdrom.iso
Em caso de erro, deve imprimir algo como isto
/dev/cdrom /path/to/cdrom.iso differ, byte 123456789, line 42
Caso esteja correto, deve imprimir nada , ou isto:
cmp: EOF on /path/to/cdrom.iso
O que significa que há mais dados em /dev/cdrom do que no ISO, provavelmente com preenchimento zero.
Mesmo antes de começar qualquer comparação, você pode verificar o tamanho.
$ blockdev --getsize64 /dev/cdrom
123456999
$ stat -c %s /path/to/cdrom.iso
123456789
Se for idêntico, a soma de verificação também deve corresponder. Se /dev/cdrom for maior, ele deve ser preenchido com zeros no final. Você pode verificar isso com hexdump . Use o tamanho ISO para o parâmetro -s .
$ hexdump -s 15931539256 -C /dev/cdrom
3b597ff38 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
*
3b597fff8 00 00 00 00 00 00 00 00 |........|
hexdump também é útil para ver a diferença em qualquer outra posição em um arquivo, no caso de um dano ter sido causado deliberadamente por algo.