Tengo un CD físico quemado y la imagen ISO original del mismo. No se proporcionaron archivos de suma de verificación de referencia para el contenido del CD. ¿Cómo verifico que el CD real es correcto (corresponde a la imagen original) y completamente legible?
10
md5sum
usted mismo y comparar, si no desea iniciar el CD / DVD.Respuestas:
Primero, extrae su CD a un archivo temporal:
Luego verifica si
copy.iso
yorig.iso
tiene el mismo tamaño, por ejemplo con:Si el tamaño es idéntico, es fácil:
Pero noté que en ciertos casos el tamaño puede ser ligeramente diferente porque hay ceros finales en la copia o en la imagen original. Por ejemplo, si
copy.iso
es menor queorig.iso
:Por supuesto, también debe verificar que los bytes finales sean solo ceros:
La primera línea, excepto el desplazamiento, debe ser solo ceros. La segunda línea debe ser un asterisco. El asterisco es evitar mostrar líneas idénticas consecutivas.
fuente
head -c $(stat -c %s /path/to/master.iso) /dev/sr0 | sha1sum
para evitar tener que hacer una imagen del CD quemado.Si el archivo ISO es el mismo que usó para grabar el CD, entonces aquí están mis dos favoritos:
Compara la imagen grabada con el archivo de imagen. Si te sientes un poco más masoquista, puedes probar algo como esto:
y compara las firmas. Este es más útil si ya tienes la suma SHA1 en alguna parte. Ambos comandos leerán el medio hasta el final.
Si desea hacerlo como sugiere @ Marki555, primero querrá montar tanto la unidad óptica como la imagen. Aquí hay un script completo: (puede, por supuesto, prescindir de
sudo
si es root, una mala idea, en general)fuente
cmp [-l]
es más adecuado para archivos binarios. Diff funciona mejor en texto.Si todavía tiene el ISO, puede compararlos byte a byte usando
cmp
. Es un comando lo suficientemente simple y sale en la primera diferencia que encuentra, por lo que es considerablemente más rápido que hacer una suma de verificación si realmente hay un error desde el principio.Posibles resultados en el éxito:
&& echo OK
el comando si la falta de salida lo confunde.cmp: EOF on cdrom.iso
: es idéntico pero el cdrom tiene más bytes que su archivo iso. Esto generalmente se debe al relleno cero al final del cdrom. Como eso no importa en la práctica, sigue siendo un éxito.Posibles resultados en caso de fracaso:
cmp: EOF on /dev/cdrom
: por alguna razón, los datos en su CDROM están incompletos. Tal vez su ISO era demasiado grande para caber en un CD real./dev/cdrom cdrom.iso differ: byte 18296321, line 71780
: hay alguna diferencia inesperada entre su CDROM y su imagen ISO.fuente
Puede verificar que el CD sea completamente legible usando
dd
(por ejemplodd if=/dev/cdrom of=/dev/null
). Pero no puede compararlo directamente con una imagen ISO. Cada software creará un archivo ISO ligeramente diferente (tal vez algunos encabezados o relleno diferentes), aunque estas diferentes imágenes ISO proporcionarán el mismo contenido de CD (estructura de directorio, atributos de archivo y contenido de archivo).Por lo tanto, solo puede montar el CD, montar la imagen ISO y compararla a nivel de sistema de archivos mediante el uso de algún tipo de herramienta de comparación de directorios (lo siento, todavía no utilicé ninguna en Linux).
fuente
diff -r
comparará el contenido del directorio de forma recursiva.Brasero puede hacer eso: Herramientas -> Verificar integridad ...
fuente