Antes de vender, descartar ou reutilizar um disco, apagar os arquivos não é suficiente — os dados continuam lá e podem ser recuperados. O zero fill resolve isso: ele sobrescreve todo o disco com zeros (ou padrões de bits), tornando a recuperação inviável sem equipamento especializado. Neste post vou mostrar os principais métodos para fazer isso no Linux, do mais seguro ao mais rápido, cobrindo HDD, SSD e NVMe.


Antes de começar — identificando o disco certo

Nunca rode zero fill no disco errado. Use esses comandos para identificar o alvo:

lsblk

ou com mais detalhes:

sudo fdisk -l

Procure pelo tamanho e modelo. O disco alvo vai aparecer como /dev/sdb, /dev/sdc, /dev/nvme0n1, etc. Nunca use o disco onde o sistema está rodando.


Método 1 — badblocks (recomendado: seguro + verificação automática)

O badblocks é a opção mais completa para HDDs. Além de zerar, ele verifica se o disco consegue ler e gravar corretamente em cada setor.

sudo badblocks -wsv /dev/sdX

Substitua sdX pelo seu disco (ex: sdb).

Explicando os parâmetros:

ParâmetroFunção
-wModo de escrita — faz o zero fill (e outros padrões de teste)
-sMostra o progresso em tempo real
-vModo detalhado (verbose)
/dev/sdXDisco alvo, sem número de partição (ex: /dev/sdb, não /dev/sdb1)

O que esse comando faz na prática:

  1. Escreve padrões de teste no disco (zeros, uns, padrões alternados)
  2. Lê cada setor de volta e verifica se gravou corretamente
  3. Reporta setores defeituosos encontrados

É mais lento que o dd, mas é o método mais confiável para saber a saúde real do disco antes de reutilizá-lo.

Tempo estimado:

Para um HDD de 500 GB via USB 3.0, espere entre 2 e 4 horas. Discos com setores problemáticos podem demorar mais, pois o badblocks tenta cada setor com falha várias vezes antes de desistir.


Método 2 — dd (rápido, sem verificação)

Se o objetivo é só zerar o disco com velocidade, sem checar setores:

sudo dd if=/dev/zero of=/dev/sdX bs=8M status=progress oflag=direct

Explicando os parâmetros:

ParâmetroFunção
if=/dev/zeroFonte de zeros infinitos
of=/dev/sdXDisco de destino
bs=8MBlocos de 8 MB — mais velocidade que o padrão de 512 bytes
status=progressMostra velocidade e progresso em tempo real
oflag=directGrava direto no disco, ignorando o cache do sistema — mais rápido e confiável

Esse método não detecta problemas de leitura/gravação. Use quando precisar de velocidade e já souber que o disco está saudável.


Método 3 — shred (múltiplas passagens, ideal para descarte seguro)

O shred é a melhor escolha quando o disco vai ser descartado ou vendido e você quer garantir que os dados não sejam recuperáveis. Ele sobrescreve o disco com múltiplas passagens de dados aleatórios.

sudo shred -vfz -n 3 /dev/sdX

Explicando os parâmetros:

ParâmetroFunção
-vMostra o progresso
-fForça a permissão de escrita se necessário
-zAdiciona uma passagem final de zeros (oculta que o shred foi usado)
-n 3Número de passagens com dados aleatórios (padrão: 3)

Atenção para SSDs: O shred e o badblocks não são eficazes em SSDs e NVMe da mesma forma que em HDDs. Por causa do wear leveling (nivelamento de desgaste), o controlador do SSD pode redirecionar gravações para outros blocos, deixando dados antigos intactos em setores não mapeados. Veja o método específico para SSDs abaixo.


Método 4 — SSDs e NVMe: nvme sanitize ou blkdiscard

Para SSDs SATA e NVMe, o método correto é usar comandos que falam diretamente com o controlador do disco.

NVMe — nvme sanitize (recomendado)

sudo nvme sanitize /dev/nvme0n1 -a 2

O -a 2 indica “Block Erase” — apagamento a nível de bloco de flash, o mais seguro para NVMe. Verifique o progresso com:

sudo nvme sanitize-log /dev/nvme0n1

SSD SATA — hdparm com Secure Erase

Primeiro verifique se o disco suporta o recurso:

sudo hdparm -I /dev/sdX | grep -i erase

Se aparecer “supported”, defina uma senha temporária e execute o apagamento seguro:

sudo hdparm --user-master u --security-set-pass senha123 /dev/sdX
sudo hdparm --user-master u --security-erase senha123 /dev/sdX

Isso envia um comando direto ao firmware do SSD para apagar todos os blocos, incluindo os realocados pelo wear leveling.

Alternativa rápida — blkdiscard

sudo blkdiscard /dev/sdX

Envia um comando TRIM para todo o disco, marcando todos os blocos como livres. É instantâneo, mas o nível de segurança depende da implementação do firmware de cada fabricante.


Método 5 — Ferramenta oficial da Seagate (SeaTools Bootable)

Para quem prefere usar a ferramenta do fabricante:

  1. Baixe o SeaTools Bootable (imagem ISO) em: seagate.com/support/downloads/seatools
  2. Grave num pendrive com balenaEtcher ou Rufus
  3. Inicialize o PC pelo pendrive
  4. Use a opção “Erase Disk (Full Erase)”

Essa opção faz o zero fill diretamente via firmware, sem depender do sistema operacional. É 100% segura e aprovada pelo fabricante. Útil quando você quer um laudo visual do processo ou não tem confiança em linha de comando.


Após o zero fill — recriando a tabela de partições

Depois que o processo terminar, o disco estará completamente zerado, sem partições ou sistema de arquivos. Para reutilizá-lo, crie uma nova tabela de partições.

Via terminal com fdisk:

sudo fdisk /dev/sdX

Dentro do fdisk:

  • g → cria tabela GPT (recomendado para discos modernos e > 2 TB)
  • o → cria tabela MBR (para compatibilidade com sistemas mais antigos)
  • n → cria nova partição
  • w → grava as alterações

Via interface gráfica com gnome-disks:

gnome-disks

Selecione o disco → “Formatar Disco…”“Apagar”“Zerar (lento, seguro)” ou apenas criar nova tabela de partições diretamente.


Comparativo rápido dos métodos

MétodoVelocidadeVerifica setoresEficaz em SSD/NVMeIdeal para
badblocks -wsvLento✅ Sim❌ NãoHDDs com suspeita de defeitos
ddRápido❌ Não❌ ParcialZeragem rápida de HDDs
shredLento❌ Não❌ NãoDescarte seguro de HDDs
nvme sanitizeRápido✅ Firmware✅ SimNVMe
hdparm secure-eraseRápido✅ Firmware✅ SimSSDs SATA
blkdiscardInstantâneo❌ Não✅ SimReutilização rápida de SSDs
SeaToolsVariável✅ Sim⚠️ DependeDiscos Seagate, uso visual

Escolha o método de acordo com o destino do disco: para reutilização interna, dd ou blkdiscard resolvem rápido; para venda ou descarte, prefira shred, nvme sanitize ou hdparm secure-erase; para diagnóstico de saúde do disco, o badblocks ainda é o mais completo.