" title="Написать письмо">Написать письмо

Статистика

Пользователи : 1
Статьи : 1724
Просмотры материалов : 6585302
 
ISO-образы и их контрольные суммы (20.08.2022). Печать E-mail
2022 - Август
20.08.2022 07:39
Save & Share
Была надежда, что материала хватит на научную работу - но полученные данные не настолько значимы для мирового сообщества. Вывод материала: программы создания и записи ISO-образов могут глючить незаметно для пользователя. В итоге, контрольные суммы ISO и компакт-диска будут отличаться - не влияя на работоспособность.


Пару месяцев назад приключилась история: ISO-файл, имеющий одинаковое содержимое с точностью до файла и одинаковый размер с точностью до байта - внезапно - оказался с разными контрольными суммами. Тогда эксперименты с записыванием ISO-образов не дали результата. В этот раз получилось немного иначе: эксперименты с созданием ISO в разных программах, частично, приоткрыли завесу другой тайны:
- участвовали 3 загрузочных физических компакт-диска: Linux Mint v.19.3, Astra Linux SE v.1.4, Acronis True Image v.2021 build 39287;
- участвовали 4 программы чтения-записи ISO: X-CD-Roast v.1.19 (Linux), genisoimage в составе Astra Linux SE v.1.4 и параметрами «-l -J -R -o /hards/documents/acr.iso /media/cdrom/», UltraISO v.9.7.3.3629 (Windows), CDBurnerXP v.4.5.6.6059 (Windows);
- контрольная сумма считалась в MD5 Total Commander v.8.0B14;
- работа программ контролировалась сторонними наблюдателями: проверка MD5 именно компакт-диска CdShot v.3.5.0.1 (похоже, единственная в своем роде), проверка MD5 ISO-файлов HashTab v.5.2.0.14.

Получены результаты:
- genisoimage по всем 3 дискам имеет неправильные контрольные суммы. В дальнейшем выяснится, что диски перестают быть загрузочными - кажется, это просто ISO с файлами. Эта контрольная сумма отличается от ISO с просто файлами без загрузочной записи - данная программа опасна, т.к. дописывает лишнюю информацию;
- оставшиеся 3 программы имели одинаковые контрольные суммы по 2 дискам из 3.

Отличившийся Acronis True Image v.2021 build 39287:
- считанный UltraISO - контрольная сумма 2ace14170d93332865b903322ccfff4e. Считанный CDBurnerXP - 599e486ca95133a12c41af9808802b7a. Эти 2 ISO - исходные для тестов следующего абзаца;
- был проведен тест со всеми возможными комбинациями участия этих двух программ чтения-записи ISO и их настроек (например: "снятый CDBurner - записан CDBurner снова с опцией такой-то и снят UltraISO без опции сякой-то". Получен результат: UltraISO с использованием ISO-фильтра считывает 2ace14170d93332865b903322ccfff4e, без него - 599e486ca95133a12c41af9808802b7a (как у CDBurner);
- чтобы понять, какая из контрольный сумм истинна, подключаются X-CD-Roast, HashTab, CdShot - они показывают 2ace14170d93332865b903322ccfff4e. Также был отрыт великий исходный ISO, с которого был записан исходный компакт-диск - тоже 2ace14170d93332865b903322ccfff4e;
- получается, X-CD-Roast имеет неотключаемую опцию ISO-фильтра при чтении дисков. CDBurnerXP такой опции не имеет - и при чтении ISO нарушает его контрольную сумму. UltraISO, зачем-то, имеет ISO-фильтр именно как опцию.

Эксперимент с углублением записи на 1 уровень: записать испорченный ISO с помощью CDBurner - и считать:
- при чтении CDBurner и UltraISO без фильтра - 3486ab5fb313702c09fe359eb140a9e5 - третья контрольная сумма, тоже неправильная;
- если размер ISO при первом чтении отличался на 4КБ меньше от оригинала, то теперь отличие на 8КБ больше от первого чтения;
- при чтении UltraISO с фильтром произошло то же самое чудо, не описанное в абзаце выше: UltraISO восстановила контрольную сумму до 2ace14170d93332865b903322ccfff4e (соответственно, с точностью до байта равен по размеру великому исходному ISO);
- то есть, точно проблема именно с загрузочной записью. Дополнительное подтверждение: контрольная сумма ISO просто с файлами, если их вытащить со всех 3 ISO, - всегда одинакова. Это же подтверждает успешные запуск и работа всех 3 носителей в виртуальной машине.

Эксперимент с чтением-записью на разные носители: ошибка воспроизводится только на CD-R и CD-RW, идентично. Именно поэтому 2 других носителя, DVD инсталляторов ОС, - ошибок при чтении-записи вообще не имели.

Выводы:
- CDBurnerXP плохо читает загрузочные диски, записанные на CD: изменение размера загрузочной записи без нарушения ее работоспособности - что приводит к искажению контрольной суммы носителя. Возможно, это говорит о стандартизации на предприятии: IT-отдел обязан оттестировать ПО чтения-записи ISO - и использовать только одно ПО и его версию, например, при сдаче ISO-файла или компакт-диска в архив;
- опция ISO-фильтра, если существует в каких-либо других программах создания ISO, - обязательна к включению, т.к. проводит коррекцию загрузочной записи носителя, если в ней есть ошибки;
- программы чтения контрольных сумм с ISO-файла и с компакт-диска показывают идентичные результаты - этапы открытия диска и его финализации в формировании контрольной суммы не участвуют;
- опции игнорирования ошибок чтения, аппаратной коррекции, выбора «disk at once»/«track at once» и прочие - не влияют на контрольную сумму.
Обновлено ( 20.08.2022 10:08 )
 
 

Последние новости


©2008-2023. All Rights Reserved. Разработчик - " title="Сергей Белов">Сергей Белов. Материалы сайта предоставляются по принципу "как есть". Автор не несет никакой ответственности и не гарантирует отсутствие неправильных сведений и ошибок. Вся ответственность за использование материалов лежит полностью на читателях. Размещение материалов данного сайта на иных сайтах запрещено без указания активной ссылки на данный сайт-первоисточник (ГК РФ: ст.1259 п.1 + ст.1274 п.1-3).

Много статей не имеет срока устаревания. Есть смысл смотреть и 2011, и даже 2008 год. Политика сайта: написать статью, а потом обновлять ее много лет.
Открыта карта ВТБ для материальной поддержки сайта: 5368 2902 0040 0838.

Рекламодателям! Перестаньте спамить мне на почту с предложениями о размещении рекламы на этом сайте. Я никогда спамером/рекламщиком не был и не буду!
Top.Mail.Ru