Можно ли выполнить проверку целостности загрузочного диска 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