Como eu comparo um arquivo com uma imagem de disquete e o conteúdo real do disquete?

7

Existe um comando que compara uma imagem de disquete (por exemplo, um arquivo .iso) com o conteúdo real do disquete em que a imagem foi gravada (por exemplo, / dev / fd0)?

    
por zebonaut 25.11.2012 / 22:00

3 respostas

6

Um arquivo de dispositivo de disquete é um arquivo. Qualquer comando que leia arquivos funcionará nele.

cmp /dev/fd0 image.fat

Passe a opção -l se você quiser uma lista de todos os bytes diferentes; para consumo humano, isso é mais útil na forma

cmp -l /dev/fd0 image.fat | wc -l

para saber quantos bytes diferem. Execute cmp -s /dev/fd0 image.fat se você não quiser nenhuma saída, apenas um status de retorno de 0 se os dois arquivos forem idênticos e 1 se forem diferentes.

Isto compara as imagens byte por byte. Se o disquete e a imagem contiverem arquivos e você quiser comparar apenas os arquivos e não os metadados (datas dos arquivos, etc.) nem o espaço vazio, monte o disquete e a imagem e compare as árvores de diretório.

    
por 25.11.2012 / 22:04
1

Como um dispositivo de disquete é efetivamente visto como um arquivo, você também pode comparar hashes (como SHA1 ou MD5) do dispositivo de disquete ( /dev/fd0 ) e da imagem do disco.

    
por 25.11.2012 / 22:05
0

Eu não tenho mais um disquete para verificar, mas imagino:

diff <( dd if=/dev/fd0 ) floppy.img

o <( dd ..... ) lê o conteúdo do disquete e age como se fosse um arquivo para diff . Então o diff compara com o arquivo.

    
por 25.11.2012 / 22:05

Tags