Это старая версия документа.
Получение MD5 суммы уже записанного диска
Большинство дисков для Linux распространяется через интернет в виде так называемых образов - файлов формата iso. Чаще всего к таким файлам прилагаются MD5 суммы, которые позволяют проверить целостность и неповреждённость скаченного файла.
Однако иногда возникает необходимость проверить уже записанный на болванку образ на предмет соответствия MD5. Например, если вы не уверены, что диск записался верно и у вас есть MD5 сумма исходного образа, то после такой проверки можно понять, повреждён диск или нет.
Нам потребуется консольная утилита isoinfo
. Для начала вставьте диск в ваш привод и введите в консоле:
isoinfo -d -i /dev/sr0
Вместо /dev/sr0
если у вас несколько приводов нужно подставить устройство, отвечающее за нужный. Узнать его можно введя в консоли
mount
Эта команда выдаст достаточно длинный вывод, нас интересуют строчки вида
/dev/sr0 on /media/Ubuntu 9.04 amd64 type iso9660 (ro,nosuid,nodev,uhelper=hal,uid=1000,utf8)
Подобные строчки показывают вставленные в дисковод диски. О том, что это CD (или DVD) диск говорит «type iso9660», а /dev/sr0
- это системное имя привода, в который вставлен этот диск, оно-то нам и нужно.
После выполнения isoinfo
для нужного устройства вы получите вывод, начинающийся примерно с таких строчек:
$ isoinfo -d -i /dev/sr0 CD-ROM is in ISO 9660 format System id: LINUX Volume id: Ubuntu 9.04 amd64 Volume set id: Publisher id: Data preparer id: Application id: GENISOIMAGE ISO 9660/HFS FILESYSTEM CREATOR (C) 1993 E.YOUNGDALE (C) 1997-2006 J.PEARSON/J.SCHILLING (C) 2006-2007 CDRKIT TEAM Copyright File id: Abstract File id: Bibliographic File id: Volume set size is: 1 Volume set sequence number is: 1 Logical block size is: 2048 Volume size is: 356716 El Torito VD version 1 found, boot catalog is in sector 145 Joliet with UCS level 3 found Rock Ridge signatures version 1 found
Здесь нас интересуют два значения:
Logical block size is: 2048 Volume size is: 356716
Теперь пора получить собственно MD5 сумму. Введите в консоли следующую команду, подставив в неё ваши параметры:
dd if=/dev/sr0 bs=2048 count=356716 conv=notrunc,noerror | md5sum
Обратите внимание, вы должны подставить свои значения:
- Вместо /dev/sr0 подставьте нужный вам привод, тот же, что и в команде
isoimage
. - В параметр bs подставьте значение «Logical block size is:» из вывода команды
isoimage
. - В параметр count подставьте значение «Volume size is:» из вывода команды
isoimage
.
Дождавшись окончания выполнения этой команды, вы увидите примерно следующее:
356714+0 записей считано 356714+0 записей написано скопировано 730550272 байта (731 MB)ba585aaf1ac791b797ca258ec24a814b - , 141,744 c, 5,2 MB/c
ba585aaf1ac791b797ca258ec24a814b - это и есть MD5 сумма моего диска, если она совпадает с указанной в том месте, откуда вы скачали образ, то диск точно не повреждён, однако иногда она может и не совпадать из-за ошибок считывания при том, что диск не повреждён, поскольку dd
не очень аккуратен.