Я пытаюсь использовать dd
чтобы стереть USB-накопитель с помощью Cygwin на Windows. Что я должен использовать для аргументации?
dd if=/dev/null of=?
Следует отметить, что запись /dev/null
на блочное устройство ничего не даст. Блочное устройство означает /dev/sdc
не /dev/sdc1
sdc1 относится к первому разделу, а не ко всему устройству.
Вы хотите использовать:
/dev/zero
Или же:
/dev/urandom
Предполагая, что 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
метод займет больше времени. Но если вы беспокоитесь о восстановлении данных любопытными глазами, это может быть лучшим способом надежно уничтожить уже стертые данные на диске.
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
качестве входных данных.