Существует ли способ выполнить проверку целостности на готовом к использованию загрузочном диске USB?
Я просто сделал Lubuntu 14.04.01 начальными загрузками USB и не смог выяснить, как выполнить проверку целостности на нем. Я не могу найти, что любой .iso файл выполняет хеш MD5sum против.
Можно найти md5sum ISO Ubuntu здесь .
вышеупомянутое md5 значение является контрольной суммой всего диска, не отдельных файлов.
при подготовке загрузочного USB файлы из файла ISO копируются в USB, и bootloder USB перезаписывается, таким образом делая его загрузочным . Вы видите здесь, единственный файл (для исключая, lubuntu 14.04.1 x64 iso) с суммой md5 (a5f97cd6a9f171c70cf816de8728f13b
) теперь уничтожается, и несколько файлов присутствуют в USB вместо этого. Таким образом, у Вас нет ISO больше для сравнения суммы исходной lubuntu ISO md5 с.
, Если Вы хотите проверить целостность каждого из файлов людей, тогда необходимо загрузиться от USB и затем выбрать check cd for defects
из меню начальной загрузки. Существует файл ms5sum.txt
в каждой ISO человечности, которая содержит md5sum каждого отдельного файла в ISO. check cd for defects
опция проверяет md5sum каждого файла со списком md5, существующим в ISO.
От ответ LiveWireBT , просто перейдя в карту памяти и работая md5sum -c md5sum.txt
должен выполнить проверку непротиворечивости отдельных файлов.
Хеши отдельных файлов, содержавшихся в ISO-образе, хранятся в корневой папке как md5sum.txt
.
Выполнение md5sum -c md5sum.txt
в той же папке должно выполнить проверку непротиворечивости.
Не знайте, ли Linux Mint, ISO использует то же меню личинки в качестве ванильной Ubuntu ISO, но я просто устанавливаю теперь и меню личинки, которое подходит, имеет:
check the integrity of the medium
, который занял 10 минут для выполнения и нашел 69 ошибок. Я проверил, что изображение ISO, которое я загрузил, было хорошо, таким образом, я пробую другую карту с интерфейсом USB теперь.
Это GNU GRUB version 2.02^beta2-36ubuntu3
В коде ниже, изменитесь X в путь к (изо-) изображение, можно проверить это: ls -AFl Documents/tails.ISO # X would be Documents/tails.ISO
И изменение Y в правильный идентификатор устройства для Карты памяти. Можно свериться lsblk
, в то время как это не включено по сравнению с тем, когда это включено, чтобы удостовериться, что у Вас есть правильное имя устройства (обычно что-то как /dev/sdZ
).
код, чтобы проверить, соответствует ли то, что было записано в Карту памяти, используемому файлу изображения (в удар оболочка!):
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 и, некоторые разделы в записанном изображении могли быть автоматически смонтированы и таким образом изменили ('грязный бит') то, чтобы заставлять это произвести совершенно другую контрольную сумму!!
Мой ответ основан на ответе Lucas в 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!
/dev/
Для команды выше, необходимо знать название USB-устройства такой как /dev/sdbX
, не точка монтирования (такой как /media/usbX
). Можно узнать путем рассмотрения столбца Filesystem
, в выводе df
. Например, мое USB-устройство появляется как /dev/sdb1
в выводе
df
head -c $(stat -c imagename.iso) /dev/sdX | sha256sum
Подобный ответу paul-rougieux, но это получает размер ISO и работает, хеш регистрируются в единственной команде