Рейтинг:1

Прочитайте образ DVD с помощью dd, пока он не станет пустым

флаг cn

Я хочу сравнить SHA-хэш файла .iso, который я записал на DVD, с образом самого DVD, чтобы увидеть, идентичны ли они, если запись прошла успешно. Проблема в том, что это не так, не потому, что возможна ошибка, а потому, что секторы диска работают так, что если 1 сектор заполнен наполовину, он читает все или что-то в этом роде.

Есть ли способ использовать дд инструмент для чтения только заполненных данных на диске, то есть до последнего бита/байта, который не является пустым, и игнорировать пустое пространство и округление в конце, чтобы считывать часть образа диска, пока она не будет заполнена, будет идентичен .iso, который я использовал для записи (если, конечно, не было других ошибок)?

guiverc avatar
флаг cn
Вы не предоставили никаких сведений об ОС или выпуске, но почти все носители Ubuntu имеют самопроверку, которая выполняет эту проверку при загрузке. В некоторых ISO или выпусках вы выбираете запуск вручную, в других проверка выполняется, но вам нужно искать результат ... так почему бы просто не загрузить вашу * неустановленную * систему и проверить сам носитель? К вашему сведению: * Прошло несколько циклов (я думаю, отлично), когда мне в последний раз требовалось использовать DVD-носители в QA-тестировании, и проверка DVD была медленной; но это не более медленная загрузка и проверка диска по сравнению с простым чтением всего - он все равно должен прочитать весь диск *
флаг cn
Это не Ubuntu .iso, а что-то другое, но мне особенно нужно решение dd на основе терминала. Знаю, что есть, помню, что есть, но ответа нигде не нашел. (также загрузка и самопроверка вредны для безопасности, если бы это был Ubuntu iso, и я бы загрузил зараженный вредоносным ПО вариант, он мог бы просто заменить эти доверенные механизмы проверки, всегда важно проверять .iso извне, что бы это ни было может быть, чтобы избежать этой проблемы безопасности)
флаг cn
Вы не понимаете, я использую Ubuntu на своем другом ПК для этого, просто то, что я записываю на DVD, не является ОС, это тема для этого обсуждения. Я спрашиваю, как использовать инструмент DD в ОС Ubuntu для достижения моих целей, изложенных здесь.
Рейтинг:2
флаг jp

Я протестировал прямо сейчас со старым iso-файлом Lubuntu 16.04.1 LTS amd64 и DVD-диском, который я записал, когда он был новым (2016). Я извлек с DVD-диска с помощью дд,

$ sudo dd if=/dev/sr0 of=dvd.img bs=4096
218880+0 постер в
218880+0 постер
896532480 байт (897 МБ, 855 МБ) копирование, 95,2247 с, 9,4 МБ/с

и сравнил результат с моим сохраненным файлом iso,

$ ls -l lubuntu-16.04.1-desktop-amd64.iso /media/multimed-2/test/test0/temp/dvd.img
-rw------- 1 nio 1002 896532480 20 июля 2016 г. lubuntu-16.04.1-desktop-amd64.iso
-rw-r--r-- 1 root root 896532480 7 дек 12:25 /media/multimed-2/test/test0/temp/dvd.img

$ md5sum lubuntu-16.04.1-desktop-amd64.iso /media/multimed-2/test/test0/temp/dvd.img
d2d7edc41ea03998e267db607f92b40d lubuntu-16.04.1-рабочий стол-amd64.iso
d2d7edc41ea03998e267db607f92b40d /media/multimed-2/test/test0/temp/dvd.img

$ sha256sum lubuntu-16.04.1-desktop-amd64.iso /media/multimed-2/test/test0/temp/dvd.img
1b91a43b0101e03b0890428d3e77198c0d35364cf35e38aaea2755d10ace26a7 lubuntu-16.04.1-рабочий стол-amd64.iso
1b91a43b0101e03b0890428d3e77198c0d35364cf35e38aaea2755d10ace26a7 /media/multimed-2/test/test0/temp/dvd.img

Как видите, размеры и контрольные суммы совпадают.

флаг cn
К сожалению, это не работает для меня, возможно, Ubuntu и другие варианты ОС Linux имеют точный размер, чтобы заполнить все сектора диска, но то, что я записываю на DVD, не имеет точного округленного размера, поэтому несколько бит/байт останется висеть в другом секторе, а остальные, предположительно, заполнены нулями. Я мог бы добавить к нему нули, но я подумал, что есть более простое решение для этого только с dd, возможно, с некоторыми флагами, чтобы игнорировать остатки, я не знаю, я не эксперт в этом инструменте.
sudodus avatar
флаг jp
@ Orchid67732, если вы *знаете* размер (количество байтов), вы можете использовать dd с `count=blocks`. Это помогает, если количество байтов четно кратно большому числу, в противном случае вы должны использовать небольшой размер блока (в худшем случае bs=1), что делает dd медленным. Может быть лучше использовать нули или использовать какой-либо другой метод, чтобы размеры совпадали.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.