/ Dev/ нулевой эквивалент в Windows?

Я пытаюсь использовать версию dd для Windows, чтобы скопировать RHEL ISO на USB-накопитель. Однако я хотел сначала обнулить диск, чтобы убедиться, что на нем нет файловой системы, прежде чем записывать его. Есть ли в Windows эквивалент /dev/zero, который я могу использовать как infile?

6 ответов

Решение

ДД Джон Ньюбигин поддерживает это.

Виртуальные устройства - это новая функция в версии 0.4beta1.

Поскольку в Windows нет таких устройств, как unix /dev/zero или / dev / random, они были реализованы внутри dd. Вы можете использовать их как входные файлы для предоставления бесконечного количества нулей или псевдослучайных данных.

Есть также некоторые актуальные драйверы устройств для /dev/zero так же как /dev/random под Win32.

Предлагаю очень полезный sdelete утилита

Он может обнулить свободное пространство или очистить его (с помощью нескольких случайных проходов).

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

ВЫПОЛНИТЬ СУДЕБНЫЙ ПРОТОКОЛ:

Download "dd for Windows" and open Windows Command-line ("cmd.exe").

Type: "cd /D [directory]" to the "dd" folder.

Type: "dd --list" to show list of Volumes, Disks, and Partitions. Locate your device.

Type: "dd if=/dev/zero of=\\?\Device\Harddisk1\Partition0 --progress"

Choose between "/dev/zero" and "/dev/random" as the write operation. Ensure you select your device based on step 3.

ПРОВЕРЬТЕ ОПЕРАЦИЮ ЗАПИСИ НУЛЯ:

Wait for the zero or random write process to complete and then run hexdump to display hexadecimal value, which should read all zeros for "/dev/zero" process. Choose one of the following:

Type: "dd if=\\?\Device\Harddisk1\Partition0 | hexdump -C"

Type: "hexdump.exe -C \\.\d:" where [\\.\d:] is [unformatted directory]

Результат нулевой записи с использованием "dd if = \? \ Device \ Harddisk1 \ Partition0 | hexdump -C" и продолжение анализа нулей (нулевых данных) до конца диска. Диск, использованный в образе, НЕ был отформатирован после выполнения процедуры нулевой записи. На следующем изображении показано, что можно считать успешной нулевой записью:

Результат распечатки в шестнадцатеричном формате ТОЛЬКО после форматирования накопителя. Это показывает, что любое изменение содержимого диска вызовет распечатку вместо того, чтобы проходить через весь диск, показывая все нули (нулевые данные). На следующем изображении показано, что будет считаться ошибкой нулевой записи:

ПРЕДУПРЕЖДЕНИЕ:

Диск должен быть в нечитаемом состоянии (перед использованием диск должен быть отформатирован в формате RAW), в противном случае сообщения "Ошибка при открытии файла... операция завершена успешно" или "Ошибка записи файла... Доступ запрещен" без каких-либо действий, предпринятых с помощью Windows. инструмент на основе "dd".

Самый простой способ перевести диск в состояние RAW - выполнить описанный выше процесс "/ dev / zero", он сразу же завершится ошибкой, затем извлеките и снова вставьте диск. Появится сообщение "Форматировать перед использованием...", нажмите "Отменить" и повторите тот же процесс "/ dev / zero" для записи нулей (нулевые данные) или псевдослучайных данных на диск.

Вы можете смоделировать a с помощью Busybox-w32, хотя я не уверен, может ли он заполнять хранилища нулями:

      while printf '\0'; do printf '\0'; done | dd of=<file> bs=4M conv=sync status=progress

Или:

      yes "" | tr '\n' '\0' | dd of=<file> bs=4M conv=sync status=progress

Если вы не против установить полную среду GNU/POSIX, Cygwin предоставляет специальные (/dev/zero,/dev/randomи/dev/urandom) и физический (/dev/sdX) устройства.

То, что вы пытаетесь сделать, абсолютно бессмысленно, независимо от среды (зачем обнулять что-либо, когда я собираюсь перезаписать это через секунду?). Обнуление перед записью просто добавляет небольшую проверку того, что две записи выполнены успешно (и это отнимает у вас немного драгоценного времени).

И это (если возможно) еще более бессмысленно в контексте твердотельных / флеш-накопителей. Большинство из них при записи выбирают один из свободных, наименее используемых блоков (у них фактически больше емкости, чем объявлено, так же, как на жестких дисках есть место, зарезервированное для переназначения поврежденных блоков), записывают содержимое в новый блок, помнят, что это block теперь хранит содержимое "offset xyz" и освобождает старый блок в "free pool".

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

Некоторые на самом деле ничего не будут делать (даже не сохраняют заметку, что им было приказано обнулить какую-то область), когда вы отключите их "достаточно быстро" после запроса / некоторых триммеров (ов) - и "достаточно скоро" здесь означает "[даже десятки ] секунд после запроса ".

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

Другие вопросы по тегам