¿Se puede ejecutar una comprobación de integridad contra un disco de arranque USB?

13

¿Hay alguna manera de realizar una verificación de integridad en un disco de arranque USB listo para usar?

Acabo de hacer un USB de arranque Lubuntu 14.04.01, y no he podido descubrir cómo ejecutar una verificación de integridad en él. No puedo encontrar ningún archivo .iso para ejecutar un hash MD5sum.

Niall
fuente

Respuestas:

13

Puede encontrar el md5sum de una iso de Ubuntu aquí .

El valor md5 anterior es la suma de comprobación de todo el disco, no de los archivos individuales.

Cuando prepara un USB de arranque, los archivos del archivo iso se copian en el USB y el gestor de arranque del USB se sobrescribe, lo que lo hace de arranque . Ves aquí, un solo archivo (por ejemplo, lubuntu 14.04.1 x64 iso) con un md5 sum ( a5f97cd6a9f171c70cf816de8728f13b) ahora se destruye y en su lugar hay múltiples archivos en el USB. Entonces ya no tienes una iso para comparar la suma md5 original de iso de lubuntu.

Si desea verificar la integridad de cada uno de los archivos individuales, debe iniciar desde el USB y luego seleccionar check cd for defectsdesde el menú de inicio. Hay un archivo ms5sum.txten cada iso de ubuntu que contiene el md5sum de cada archivo individual en el iso. La check cd for defectsopción verifica la suma md5 de cada archivo con la lista md5 presente en la iso.

De la respuesta de LiveWireBT , solo navegando en la unidad usb y ejecutándose md5sum -c md5sum.txtdebería realizar una verificación de consistencia de los archivos individuales.

astrob0t
fuente
Gracias por su respuesta; así que acepté que el archivo iso ya no existe. ¿Hay algún tipo de verificador que verifique que los archivos en el disco de arranque tengan integridad? ¿Cómo se sabe si algo se corrompió? ¿O si hay algún viri u otras cosas en el sistema operativo? Ese fue un gran problema en el sistema operativo WinXP del que me estaba convirtiendo.
Niall
Puede verificar si hay defectos en el USB de arranque arrancando desde él y luego eligiendo check cd for defectsen el menú de arranque.
astrob0t
Súper. Gran ayuda en esto. Eso funciona. E informó "No se encontraron errores". cuando lo corrí </br> </br> Esto plantea la pregunta, si la imagen USB fuera corrompida por un viri, ¿no sería posible que el malware engañara potencialmente el código de "verificar disco por defectos" e informara? que todo está bien, incluso si se infectara con algo?
Niall
1
el check cd for defectses más que un md5 comparar los archivos individuales con la lista de MD5 valores presentes en el md5sum.txtarchivo presente en el CD. para una mayor tranquilidad, podemos navegar manualmente a la carpeta usb y ejecutarmd5sum -c md5sum.txt
astrob0t
He instalado el Lubuntu desde el USB ahora. Intentaré ejecutar ese comando tan pronto como descubra cómo encontrar el símbolo del sistema. (Soy nuevo en Linux.)
Niall
8

Los hash de archivos individuales contenidos en la imagen ISO se almacenan en la carpeta raíz como md5sum.txt.

Ejecutar md5sum -c md5sum.txten la misma carpeta debería realizar una comprobación de coherencia.

LiveWireBT
fuente
aquí está mi jupyter portátil GIST para comprobar la integridad de la ISO y USB
Levon
2

Mi respuesta se basa en la respuesta de Lucas en Unix y Linux StackExchange . Para verificar la integridad de un disco de arranque usb, primero encuentre el tamaño de la imagen iso con

 stat -c '%s' imagename.iso 

Esto generará un tamaño de imagen que puede ingresar en lugar del <imagesize>siguiente comando. El siguiente comando envía (a través de una tubería) todos los bytes correspondientes al tamaño de la imagen al comando md5sum:

sudo head -c <imagesize> /dev/sdb1 | md5sum

Puede comparar esto con el md5sum de su archivo .iso.

md5sum imagename.iso

Si md5sums son diferentes, hubo un problema al copiar los datos. Si md5sums son iguales, ¡ha verificado con éxito la integridad de los datos en su disco usb!

Nota sobre la ubicación de su dispositivo usb en /dev/

Para el comando anterior, debe conocer el nombre de su dispositivo usb como /dev/sdbX, no el punto de montaje (como /media/usbX). Puede averiguarlo mirando la columna Filesystem, en la salida de df. Por ejemplo, mi dispositivo usb aparece como /dev/sdb1en la salida de

df
Paul Rougieux
fuente
Lo encontré útil para asegurarme de que la imagen en USB sea válida antes de intentarlo.
code2be
0

No sé si Linux Mint ISO usa el mismo menú grub que el vainilla Ubuntu ISO, pero solo estoy instalando ahora y el menú grub que aparece tiene:

check the integrity of the medium

que tardó 10 minutos en ejecutarse y encontró 69 errores. Verifiqué que la imagen iso que descargué era buena, así que ahora estoy probando una memoria USB diferente.

Sus GNU GRUB version 2.02^beta2-36ubuntu3

Adán
fuente
Todavía tengo problemas por la verificación de integridad en un dispositivo nuevo: dice que no se encontraron algunos archivos, lo cual es un poco extraño, parece que se informa mal. Con la verificación de integridad en el otro dispositivo, dijo que algunos archivos no coincidían, lo que sonó más serio. No instalé desde el dispositivo anterior, pero sí desde el dispositivo nuevo (con los 69 archivos que aparentemente faltan) y la instalación fue bien a pesar de eso.
Adam
0

head -c $(stat -c imagename.iso) /dev/sdX | sha256sum

Similar a la respuesta de paul-rougieux, pero obtiene el tamaño del ISO y realiza la comprobación de hash en un solo comando

Adam Chance
fuente
0

En el código a continuación, cambie X en la ruta a la imagen (iso), puede verificar esto de la siguiente manera: ls -AFl Documents/tails.ISO # X would be Documents/tails.ISO

Y cambie Y por el identificador de dispositivo correcto para la unidad USB. Usted puede consultar con lsblkmientras que se no enchufado frente cuando está enchufado a asegurarse de que tiene derecho el nombre del dispositivo (por lo general algo así /dev/sdZ).

El código para verificar si lo que se ha escrito en la unidad USB corresponde al archivo de imagen utilizado (en el shell bash ):

img='X' usb='Y'
[[ $(head -c $(stat -c '%s' "$img") "$usb" |sha256sum) = $(sha256sum <"$img") ]] &&
  echo OK ||
  echo ERROR

Si usa una herramienta como GNU ddrescue (el paquete a menudo se llama gddrescue), podría escribir: ¡ ddrescue --force 'X' 'Y'y automáticamente verificaría si se escribió correctamente!

¡Tenga en cuenta que al conectar y desconectar la memoria USB, algunas particiones en la imagen escrita podrían montarse automáticamente y, por lo tanto, modificarse (el 'bit sucio'), lo que provocaría una suma de comprobación completamente diferente!

pepa65
fuente