Как стереть USB-накопитель с помощью dd на cygwin в Windows?
Я пытаюсь использовать dd
стереть USB-накопитель с помощью Cygwin на Windows. Что я должен использовать для of
аргумент?
dd if=/dev/null of=?
4 ответа
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
в качестве ввода.
Следует отметить, что написание /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
метод займет больше времени. Но если вы беспокоитесь о восстановлении данных любопытными глазами, это может быть лучшим способом надежно уничтожить уже стертые данные на диске.
Для меня самым надежным источником сопоставления букв дисков является комбинация diskpart, blkid и /proc/partitions.
user@system:~$ diskpart
Microsoft DiskPart-Version 10.0.19041.964
Copyright (C) Microsoft Corporation.
Auf Computer: SYSTEM
DISKPART> list disk
Datenträger ### Status Größe Frei Dyn GPT
--------------- ------------- ------- ------- --- ---
Datenträger 0 Online 1863 GB 1024 KB *
Datenträger 1 Online 9 TB 1024 KB *
Datenträger 2 Kein Medium 0 B 0 B
Datenträger 3 Kein Medium 0 B 0 B
Datenträger 4 Kein Medium 0 B 0 B
Datenträger 5 Kein Medium 0 B 0 B
Datenträger 6 Kein Medium 0 B 0 B
Datenträger 7 Online 1863 GB 1863 GB
DISKPART> select disk 1
Datenträger 1 ist jetzt der gewählte Datenträger.
DISKPART> list part
Partition ### Typ Größe Offset
------------- ---------------- ------- -------
Partition 1 Reserviert 15 MB 17 KB
Partition 2 Primär 9 TB 16 MB
DISKPART>
user@system:~$ cat /proc/partitions
major minor #blocks name win-mounts
8 0 1953514584 sda
8 1 113664 sda1
8 2 16384 sda2
8 3 1952839766 sda3 C:\
8 4 541696 sda4
8 16 9766436864 sdb
8 17 16367 sdb1
8 18 9766418432 sdb2 D:\
8 32 0 sdc
8 48 0 sdd
8 64 0 sde
8 80 0 sdf
8 96 0 sdg
8 112 1953514584 sdh
8 128 8388608 sdi
8 129 8385536 sdi1
user@system:~$ /sbin/blkid.exe
/dev/sda1: LABEL="SYSTEM" UUID="2A05-C09D" TYPE="vfat"
/dev/sda3: LABEL="Windows" UUID="087A36A47A368E86" TYPE="ntfs"
/dev/sda4: UUID="A080B84E80B82CA2" TYPE="ntfs"
/dev/sdb2: LABEL="Data" UUID="1864245164243442" TYPE="ntfs"
/dev/sdi1: LABEL="PortableBaseLayer" UUID="6278D53678D50A25" TYPE="ntfs"
Хотя я определенно предпочел бы список устройств с реальными именами дисков (Seagate ST2000DM001 или что-то в этом роде), я могу легко определить сопоставление дисков, проверив выходные данные предыдущих команд. И обязательно проверьте двойную и тройную проверку: нет ничего веселее, чем пробить свой C:-Drive.