4

Я только что сохранил восстановление для Windows 8.1 на USB-накопитель; Теперь я создаю копию низкого уровня на моем жестком диске, выполнив следующую команду:

sudo dd if=/dev/sdf of=/disk2/Archive/windows8.1-restore.img bs=4M oflag=direct

Я хотел дважды проверить, что моя команда 'dd' была в порядке, поэтому я перезапустил ее два раза, указав bs=8M и bs=16M ; Я проверил размер, и он точно такой же, но md5sum дает различный вывод для трех файлов:

c38a2b07b3d473d3f1876331edc2647b  windows8.1-restore.img.4M
568e382844431eef63d4ba6dc4c2c5ac  windows8.1-restore.img.8M
568e382844431eef63d4ba6dc4c2c5ac  windows8.1-restore.img.16M

Я полагаю, что я отключил флешку во второй и третий раз.

Должен ли я беспокоиться о чем-либо?

редактировать

Общий размер файла составляет 31024349184 байта во всех случаях, мое понимание bs=xxx - просто контролировать скорость на случай, если кто-то захочет сбросить весь USB-накопитель / диск.

1 ответ1

8

Запись небольших объемов данных на диск выполняется медленно, поэтому системные буферы записывают, чтобы зафиксировать их все сразу позже. Когда буфер содержит достаточно данных для эффективной операции записи или когда какой-либо процесс использует системный вызов sync, буфер сбрасывается на устройство.

dd выполняет низкоуровневое копирование, т.е. он читает данные, которые физически присутствуют на устройстве. Не учитывает буферы.

Если диск был смонтирован, когда вы запустили dd bs=4M , возможно, что некоторые записи были уже буферизованы, но не зафиксированы. Вы сбросили диск без буферизованных изменений.

umount вызовы для внутренней sync чтобы обеспечить целостность данных. Доступ к размонтированным устройствам обычно не доступен, если вы явно не попросите какой-либо процесс сделать это, поэтому вряд ли диск изменится после размонтирования.

Затем вы дважды запустили dd на диске, не устанавливая его между ними. Вот почему вызовы bs=8M и bs=16M дали одинаковые результаты.

Диск был изменен между вызовами bs=4M и bs=8M , поэтому первый дамп отличается. bs= не имеет значения, звонил umount сделал.

Вы должны всегда отключать устройство перед использованием на нем dd , иначе какой-то другой процесс может изменить его содержимое, пока dd выполняет свою работу, и нарушать целостность файла.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .