Questão Como faço para limpar uma unidade USB usando o dd on cygwin no Windows?


Estou tentando usar dd limpar uma unidade USB usando Cygwin no Windows. O que devo usar para o of argumento?

dd if=/dev/null of=?

1


origem


não esqueça de usar o sync comando quando o seu feito para liberar os buffers do sistema operacional para o disco. - user3338098


Respostas:


Deve-se notar que escrever /dev/null para um dispositivo de bloco não fará nada. Significado de dispositivo de bloco /dev/sdc não /dev/sdc1 sdc1 refere-se à primeira partição, não ao dispositivo inteiro.

Você quer usar:

/dev/zero

Ou:

/dev/urandom

3





Assumindo que o Cygwin tenha os mesmos comandos principais que uma instalação Unix / Linux, você pode nos df- que informa quanto espaço livre (sem disco) está disponível em seus dispositivos, mas também fornece a você bons dados do sistema de arquivos - você pode usar para situações como essa.

Por exemplo, aqui está a saída de df do meu terminal 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

Observe as três últimas entradas que mostram pontos de montagem, bem como o sistema de arquivos ao qual você está conectado. Então, digamos que eu queira apagar /Volumes/Curly para substituí-lo em algum momento com dados de um lugar chamado /Volumes/Shemp, Eu apagaria todos os dados da unidade e depois executaria dd comando:

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

E só para você entender o que esse comando faz, if indica qual é o arquivo de entrada (obtê-lo, if) e of indica o arquivo de saída (da mesma forma ... obtê-lo, of) E é isso. E eu estou usando /dev/zero ao invés de /dev/null Desde a /dev/null é um destino de entrada para dados que você não precisa enquanto /dev/zero é uma fonte de saída para um fluxo de 0 personagens.

Então, quando você corre isso dd comandar o conteúdo de /dev/zero (que é apenas um fluxo interminável de 0 caracteres) serão copiados para wipe_file.txt em /dev/disk1s3/. Significado de um novo arquivo chamado wipe_file.txt será criado que cresce e cresce até preencher a capacidade total de /dev/disk1s3/.

Mas dependendo de quão paranóico você é sobre os dados, você também pode mudar if ser estar random como isso:

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

Usando zero explicitamente apenas preencher wipe_file.txt com 0 personagens enquanto random irá preencher o arquivo com caracteres aleatórios. Observe que o preenchimento de um arquivo com dados aleatórios exigirá mais poder computacional do que apenas preencher o arquivo com nada, portanto, random método levará mais tempo. Mas se você está preocupado com a intromissão de recuperar dados que podem ser a melhor coisa para destruir dados já apagados em uma unidade.


2



Esta é uma resposta brilhante, seriamente informativa. - Hashim


O Cygwin usa seguindo o mapeamento do dispositivo para dispositivos semelhantes a discos rígidos:

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

Você pode ver nomes de dispositivos NT no Gerenciamento de Disco no Console de Gerenciamento.

Use também /dev/zero ao invés de /dev/null como entrada.


1



cat /proc/partitions Darei à você Win-Drive <--> /dev/* mapeamento. - ilyaigpetrov