ОБНОВИТЬ:
Это правильный способ расчета хеша DVD?
Во-первых, возьмите сумму sha256 самого DVD, как это сделано на этом сайте:
... вы уже записали компакт-диск, и теперь вы хотите вернуться и проверить его? Пока у вас есть sha1sum или md5sum, все просто.
...
Дисковод DVD-RW - это /dev /hda
g33kgrrl @ home ~ /Desktop $ sha1sum /dev /hda
89164d79d84f483c3642f25507186e58bf5fc0d8 /dev /hda
Хотя они используют sha1sum, он должен работать так же для sha256sum. Сначала сравните это с хешем вашего оригинального iso.
Если нет, то почему это не работает?
Как указывает этот пользователь:
в некоторых случаях размер может немного отличаться, потому что в копии или исходном изображении есть конечные нули
Он предлагает несколько шагов, чтобы узнать, так ли это, цитата:
Например, если copy.iso меньше, чем orig.iso:
sha1sum copy.iso
head -c $(stat -c %s copy.iso) orig.iso
Конечно, вы также должны проверить, что завершающие байты - это только нули:
od -j $(stat -c %s copy.iso) orig.iso
И, наконец, вернемся к вашему новому вопросу:
Есть ли способ сделать файл iso с точно такими же параметрами, как и исходный iso?
Я еще не нашел способ сделать это. Однако, когда у вас есть хэши каждого шага, вы можете хотя бы увидеть, где произошла разница. Я предполагаю, что программа, которая записывает ваш ISO-файл, выполняет некоторые шаги, которые необходимы для записи, но которые также как-то изменяют образ?
В некоторой степени выходит за рамки этого вопроса, но было бы интересно посмотреть, меняется ли он каждый раз один и тот же. Другими словами, запишите несколько дисков и посмотрите, все ли одинаковые хэши?
Оригинальный ответ:
Не уверен, что это удовлетворит ваш вопрос (возможно, ваше существующее приложение уже выполняет эту функцию)
Но если вы получаете утилиту ImgBurn (утилита Windows, извините), она имеет функцию "проверки" диска с помощью ISO-образа.
Я предполагаю, что под капотом это выполняет некоторые дополнительные шаги для достижения того, что вы пытаетесь сделать. Позор, что это не открытый исходный код, или вы можете проверить код и точно увидеть, что происходит.
Возможно, есть другие утилиты записи, которые имеют схожую функциональность и с открытым исходным кодом?