После того как вы записали CD или D VD, хорошо бы проверить, корректно ли считываются записанные данные. Носитель может оказаться дефектным, или компьютер может быть потревожен во время записи, изза чего лазер выскочит за пределы дорожки диска.
Правильный способ проверки записи состоит или в сравнении записанных секторов с секторами на жестком диске, или в генерировании контрольных сумм этих секторов и их дальнейшем сравнении. Оба метода должны использоваться только с актуальными, а не с заполняемыми секторами данных. Следующий сценарий оболочки bash делает эту проверку легкой, если доступен оригинальный файл образа ISO:
if [[ J# It 1 ]] ; then echo "usage: isomd5
fi
for name in "$@" ; do
isoinfo di "${name}" l>/dev/null || exit 1 done
for name in "$@" ; do count=( $( isoinfo di "${name}" \
| egrep "^Volume size is: " ) ) count="${count[3]}" bsize=( $( isoinfo di "${name}" \ | egrep "^Logical block size is: " ) )
Сценарий работает, присваивая номер сектора, используемого файловой системой ISO в файле образа. Он ограничивает количество секторов, добавляемых в контрольную сумму MD5 программы хэширования точным количеством используемых секторов. Таким образом, не читаются заполняемые секторы, количество которых может варьироваться.
Мы назовем этот сценарий isomd5. Вы же укажите имя файла образа ISO, а также имя устройства, обычно используемого для чтения компактдиска. Вы должны получить результат, похожий на следующий:
amy@deskl2:~$ isomd5 backup.iso /dev/srO
d41d8cd98f00b204e9800998ecf8427e backup.i so d41d8cd98f00b204e9800998ecf8427e /dev/srO amy@deskl2:$
Контрольная сумма программы MD5 является 32значной, записанной в шестнадцатеричной системе. Если она не одна и та же для файла образа ISO и диска в приводе, то запись неправильна.
Если запись диска срывается, попробуйте по очереди выполнить следующие действия.
1. Повторить запись, используя другой пустой диск.
2. Записать на меньшей скорости.
3. Использовать другой комплект дисков или диск другой марки.