Как стереть 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.

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