Como posso apagar completamente todos os dados em um cartão (micro) SD?


16

Acabei de receber um cartão micro SD que pretendo usar com o Raspberry Pi.

Usei o gerenciador de partições do KDE para excluir a partição original do cartão e escrever uma nova partição 12GiB ext4. Depois de fazer isso, o cartão ainda diz que 6% dele, 30,02 MiB, está sendo usado.

Basicamente, eu quero limpar completamente o cartão de todo o conteúdo para prepará-lo para um novo sistema operacional. Um comando gostaria shredou ddfaria o truque ou isso também destruiria a partição?


Sou tendencioso, mas se você deseja controle total de partições, não use particionamento gráfico, use o bom e velho fdisk. (A menos que você não pode por causa da GPT ou outras restrições técnicas.)
CijcoSistems

A propósito ... o RaspberryPi suporta o carregamento do kernel do ext4 diretamente? Lembro-me de usar FAT para o processo de inicialização precoce (kernel, cmdline, configuração SoC e divisão de memória), e depois ter o sistema de arquivos raiz em outra partição (ou NFS, se quiser)
CijcoSistems

[Limpe com segurança o disco - archlinux.org] "A limpeza de um disco é feita escrevendo novos dados em cada bit." wiki.archlinux.org/index.php/Securely_wipe_disk

Respostas:


24

Sua adivinhação ddestá certa. Você pode limpar o cartão SD com o seguinte comando (vamos supor que o seu cartão SD seja /dev/sdd):

Não interrompa este comando ou ele pode bloquear o cartão SD.

$ sudo dd if=/dev/zero of=/dev/sdd bs=8192

Nota: Se este comando não for concluído com êxito e você precisar interrompê-lo, provavelmente será recuperável com os programas de recuperação de partição de disco cobertos por outras postagens.

Pode levar algum tempo, dependendo do tamanho e velocidade do cartão SD. Se você está convencido de que a CIA gostaria de recuperar seus arquivos, substitua o cartão SD em urandomvez de zero:

$ sudo dd if=/dev/urandom of=/dev/sdd bs=8192

ddO comando dos exemplos acima apaga o cartão SD inteiro, deixando-o sem partições, mesmo sem a tabela de partições. Então você precisará recriar a partição no cartão SD. Você pode fazer isso por qualquer ferramenta de particionamento como cfdisk, parted(a minha recomendação) ou gparted.

E mais uma coisa: tenha muito cuidado ao chamar o ddcomando . Um erro de digitação no of=valor do argumento pode causar desastre.


2
Se você está preocupado com a CIA, deve usá /dev/random-lo de 5 a 10 vezes ... para não mencionar que você também deve queimá-lo no forno, pegar fogo e enterrá-lo no fundo do oceano: P
CijcoSistems

3
@CijcoSistems: A sugestão de queimar, inflamar ou enterrar pode funcionar. No entanto, o método de gravação de dados aleatórios (5 a 10 vezes) NÃO.
David6

11
@ david6 Você poderia explicar por que a gravação de dados várias vezes através da substituição pode não funcionar?
Denis

7
A memória de estado sólido não volátil moderna usa o nivelamento de desgaste para interromper as leituras / gravações repetidas usando demais qualquer seção específica da memória. (Consulte: searchsolidstatestorage.techtarget.com/definition/wear-leveling ) Isso significa que as gravações de dados que pretendem 'substituir' podem realmente ser salvas em outro lugar. Isso também significa que a verdadeira capacidade de memória é várias vezes 100 vezes maior do que a declarada, para permitir realocação contínua. Conforme observado na minha resposta, você deve invocar a função de apagamento seguro do fabricante para ignorar quaisquer efeitos de 'nivelamento de desgaste'.
David6 26/12/15

11
Não acho que o nivelamento de desgaste seja um problema quando você estiver preenchendo a unidade com zeros completamente. A verdadeira questão seria setores defeituosos caindo e não sendo substituídos.
HilarieAK,

4

Se você acabou de criar uma nova partição, não deve haver nenhum arquivo real nela. Esses 30 MB provavelmente são apenas o próprio sistema de arquivos. A partição precisa de algumas tabelas diferentes e outros enfeites para realmente acompanhar os arquivos.

Você pode checar se realmente não há nada procurando arquivos ocultos ls -alphna linha de comando ou habilitando arquivos ocultos no menu "Exibir" do Nautilus.

Dependendo exatamente de como você chama os comandos, é provável que o uso shredou ddsobrescreva a tabela de partição e / ou o sistema de arquivos.


4

O que você está tentando alcançar?


(A.) Remova todas as partições atuais, para reutilizar o cartão:

Para apagar partições e / ou reformatar um cartão (micro) SD, use o gnome-disk-utility (também conhecido como 'Discos').

OU

(B.) Apague qualquer conteúdo atual (ou anterior) do cartão, para que NÃO possa ser recuperado:

Para apagar com segurança o cartão, você precisa SEJA destruir fisicamente o cartão (render em partículas sub-2mm²) OU usar um utilitário (do fornecedor) para acionar o seguro-apagar função.

Gravações múltiplas (de dados aleatórios) ou reformatação NÃO necessariamente removerão os dados.


A sfillferramenta pode ser usada para esse fim. Veja superuser.com/questions/319262/…
Jim Garrison

11
@ Jim Garrison : Isso não trata do nivelamento de desgaste (veja meu comentário anterior) e do novo mapeamento de blocos de dados, feitos pelo controlador de memória flash embutido. Esses dados ainda são potencialmente recuperáveis.
David6

11

2

Você pode destruir os arquivos antes de removê-los:

find /media/user/SD32/ -type f -exec shred -v -f -n0 -z -u   {} \;

shred params significa: Detalhado, force a exclusão de arquivos não graváveis, não escreva bytes aleatórios (acelera), escreva zeros (muito mais rápido), trunque e exclua o arquivo após escrever zeros.

Isso eliminará os dados de uma maneira que eles não seriam recuperados por aplicativos como o photorec.

Consulte /unix/27027/how-do-i-rrecursively-shred-an-entire-directory-tree


11
Infelizmente, isso não funcionará em cartões SD. Se você substituir o arquivo neles, estará gravando em outros setores do SD. Portanto, para ser eficaz, você deve escrever no cartão SD inteiro, como na resposta.
luca76
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.