Останавливается ли dd при заполнении диска?

Останавливается ли dd при заполнении диска?

Если я введу следующую команду для полной очистки диска, остановится ли она автоматически, когда диск заполнится, или мне нужно указать эту countопцию?:

sudo dd if=/dev/zero of=/dev/disk7 bs=64m

Я должен упомянуть эту ОС OS X 10.9.

решение1

полностью стереть диск

Если ваша цель — сделать механический диск (HDD)надежностерты так, что даже в принципе невозможно, чтобы кто-то заполучил их и восстановил данные, вы не должны использовать их /dev/zeroв качестве источника, и вы должны переписывать их более одного раза. Смотритевикипедияиabout.com.

Если вас не волнует безопасность, /dev/zeroэто нормально, но тогда не менее важно просто добавить новую таблицу разделов на устройство.

Я действительно не вижу обоснованного варианта использования записи /dev/zeroна физический носитель, потому что:

  1. Это слишком небезопасно, если вы заботитесь о безопасности;
  2. Если этого не сделать, это займет слишком много времени и приведет к потере времени и циклов записи (потому что вы можете просто перезаписать любые структуры данных на диске новыми, а это значит, что только программа восстановления данных сможет восстановить фрагменты старых данных, и это нормально, потому что вы только что сказали, что вас не волнует безопасность, или, если вас это волнует, вам не следует это читать).

автоматически останавливается

Конечно. Что, по-вашему, он будет делать, продолжать писать в следующий файл?

Вы специально указываете ofопцию, которая означает "выходной файл". Он откроет это блочное устройство и будет записывать, пока не достигнет конца блочного устройства, а затем выйдет. Это нормальное поведение для dd.

Нужно ли мне указывать countопцию?

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

Некоторые заключительные замечания:

  • Такое поведение не является специфичным для (какой-либо конкретной версии) OS X или даже для OS X. Оно работает одинаково в Linux, Android, BSD и, возможно, других системах, реализующих стандарты POSIX.
  • Вы могли бы ответить на свой вопрос, создав небольшой (2 МБ) файл образа и использовав ddего после монтирования на петлевом устройстве, а затем запустив ddего.
  • Следует отметить, что если не countуказано иное, ddостановится, когдапервыйпроисходит одно из следующих условий: либо if(входной файл) выдает EOF(конец файла), либо операционная система выдает сигнал, указывающий на то, что ofдостигнут последний блок (выходного файла).

решение2

Он остановится, когда диск заполнится.

Связанный контент