1

Я пытаюсь использовать dd чтобы стереть USB-накопитель с помощью Cygwin на Windows. Что я должен использовать для аргументации?

dd if=/dev/null of=?

3 ответа3

3

Следует отметить, что запись /dev/null на блочное устройство ничего не даст. Блочное устройство означает /dev/sdc не /dev/sdc1 sdc1 относится к первому разделу, а не ко всему устройству.

Вы хотите использовать:

/dev/zero

Или же:

/dev/urandom
2

Предполагая, что Cygwin имеет те же основные команды, что и для установки Unix/Linux, вы можете использовать df который сообщает вам, сколько свободного места (свободного места на диске) доступно на ваших устройствах, но также дает вам хорошие данные файловой системы - вы можете использовать для подобных ситуаций ,

Например, вот вывод df из моего терминала Mac OS X:

Filesystem    512-blocks       Used  Available Capacity   iused     ifree %iused  Mounted on
/dev/disk0s2   975093952  135358704  839223248    14%  16983836 104902906   14%   /
devfs                381        381          0   100%       660         0  100%   /dev
map -hosts             0          0          0   100%         0         0  100%   /net
map auto_home          0          0          0   100%         0         0  100%   /home
/dev/disk2s2  3906357344 2097411968 1808945376    54% 262176494 226118172   54%   /Volumes/Moe
/dev/disk1s2   235154168  118616008  116538160    51%  14826999  14567270   50%   /Volumes/Larry
/dev/disk1s3  3670941032 2100018304 1570922728    58% 262502286 196365341   57%   /Volumes/Curly

Обратите внимание на последние три записи, которые показывают точки монтирования, а также файловую систему, к которой вы подключены. Допустим, я хочу стереть /Volumes/Curly чтобы заменить его в какой-то момент данными из места под названием /Volumes/Shemp , я бы стер все данные на диске и затем выполнил команду dd :

dd if=/dev/zero of=/dev/disk1s3/wipe_file.txt

И просто, чтобы вы поняли, что делает эта команда, if указывает, что представляет собой входной файл (получить его, if), и of указывает на выходной файл (аналогично ... получить его, of), и это все. И я использую /dev/zero вместо /dev/null так как /dev/null является местом назначения для ввода данных, которые вам не нужны, в то время как /dev/zero является источником вывода для потока из 0 символов.

Поэтому, когда вы запускаете эту команду dd содержимое /dev/zero (который является просто бесконечным потоком из 0 символов) будет скопировано в wipe_file.txt в /dev/disk1s3/ . Это означает, что будет создан новый файл с именем wipe_file.txt который будет расти и расти до тех пор, пока не заполнит всю емкость /dev/disk1s3/ .

Но в зависимости от того, как параноик вы о данных, вы можете также изменить , if быть random , как это:

dd if=/dev/random of=/dev/disk1s3/wipe_file.txt

Использование zero явном виде просто заполнит wipe_file.txt 0 символами, а random заполнит файл случайными символами. Обратите внимание, что заполнение файла случайными данными потребует большей вычислительной мощности, чем простое заполнение файла ничем, поэтому random метод займет больше времени. Но если вы беспокоитесь о восстановлении данных любопытными глазами, это может быть лучшим способом надежно уничтожить уже стертые данные на диске.

1

Cygwin использует следующее сопоставление устройств для устройств, подобных жесткому диску:

POSIX device name     Internal NT device name

/dev/sda          \device\harddisk0\partition0  (whole disk)
/dev/sda1         \device\harddisk0\partition1  (first partition)
...
/dev/sda15        \device\harddisk0\partition15 (fifteenth partition)

/dev/sdb          \device\harddisk1\partition0
/dev/sdb1         \device\harddisk1\partition1

[up to]

/dev/sddx         \device\harddisk127\partition0
/dev/sddx1        \device\harddisk127\partition1
...
/dev/sddx15       \device\harddisk127\partition15

Вы можете увидеть имена устройств NT в разделе «Управление дисками» в консоли управления.

Также используйте /dev/zero вместо /dev/null качестве входных данных.

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