Можно ли выполнить проверку целостности загрузочного диска USB?

Есть ли способ выполнить проверку целостности на готовом загрузочном USB-диске?

Я только что сделал загрузочный USB-носитель Lubuntu 14.04.01 и не смог понять, как запустить проверку целостности на нем. Я не могу найти файл.iso для запуска хеша MD5sum.

6 ответов

Решение

Вы можете найти md5sum из Ubuntu iso здесь.

Приведенное выше значение md5 является контрольной суммой всего диска, а не отдельных файлов.

Когда вы готовите загрузочный USB, файлы из iso-файла копируются на USB, а загрузочный USB-носитель перезаписывается, что делает его загрузочным. Вы видите здесь, один файл (например, lubuntu 14.04.1 x64 iso) с суммой md5 (a5f97cd6a9f171c70cf816de8728f13b) теперь уничтожено и вместо него на USB имеется несколько файлов. Таким образом, у вас больше нет iso для сравнения суммы md5 оригинального lubuntu iso.

Если вы хотите проверить целостность каждого из отдельных файлов, то вам нужно загрузиться с USB и затем выбрать check cd for defectsиз меню загрузки. Там есть файлms5sum.txtв каждом Ubuntu ISO, который содержит md5sum каждого отдельного файла в ISO.check cd for defects опция проверяет md5sum каждого файла со списком md5, присутствующим в iso.

Из ответа LiveWireBT, просто перейдите на USB-накопитель и запустите md5sum -c md5sum.txt следует выполнить проверку согласованности отдельных файлов.

Хэши отдельных файлов, содержащихся в образе ISO, хранятся в корневой папке как md5sum.txt,

Бег md5sum -c md5sum.txt в той же папке следует выполнить проверку согласованности.

Мой ответ основан на ответе Лукаса в Unix и Linux StackExchange. Чтобы проверить целостность загрузочного диска USB, сначала найдите размер ISO-образа с помощью

 stat -c '%s' imagename.iso 

Это выведет размер изображения, который вы можете ввести вместо <imagesize> в команде ниже. Следующая команда отправляет (через канал) все байты, соответствующие размеру изображения, в команду md5sum:

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

Вы можете сравнить это с md5sum вашего.iso файла.

md5sum imagename.iso

Если md5sums отличаются, то при копировании данных возникла проблема. Если md5sums совпадают, вы успешно проверили целостность данных на вашем USB-диске!

Обратите внимание на размещение вашего устройства USB под /dev/

Для приведенной выше команды вам нужно знать имя вашего USB-устройства, например: /dev/sdbX, а не точка монтирования (например, /media/usbX). Вы можете узнать, посмотрев на колонку Filesystemна выходе df, Например, мое устройство USB выглядит как /dev/sdb1 на выходе

df

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

Аналогичен ответу paul-rougieux, но он получает размер ISO и выполняет проверку хеша одной командой

В приведенном ниже коде измените X на путь к (iso-) изображению, это можно проверить следующим образом: ls -AFl Documents/tails.ISO # X would be Documents/tails.ISO

И замените Y на правильный идентификатор устройства для USB-накопителя. Вы можете проверить с lsblk хотя он не подключен по сравнению с подключенным, чтобы убедиться, что у вас есть правильное имя устройства (обычно что-то вроде /dev/sdZ).

Код для проверки того, что записанное на USB-накопитель соответствует используемому файлу образа (в оболочке bash!):

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

Если вы используете такой инструмент, как GNU ddrescue (пакет часто называется gddrescue), вы можете написать: ddrescue --force 'X' 'Y' и он автоматически проверит, правильно ли он написан!

Обратите внимание, что при подключении и отключении USB-накопителя некоторые разделы в записанном образе могут быть автоматически смонтированы и, таким образом, изменены ("грязный бит"), что приведет к созданию совершенно другой контрольной суммы!!

Не знаю, использует ли Linux Mint ISO то же самое меню grub, что и ванильный Ubuntu ISO, но я только сейчас устанавливаю, и в появившемся меню grub есть:

check the integrity of the medium

который занял 10 минут, чтобы запустить и обнаружил 69 ошибок. Я проверил, что iso образ, который я скачал, был хорош, поэтому я сейчас пробую другую флешку.

Это GNU GRUB version 2.02^beta2-36ubuntu3

Другие вопросы по тегам