Várias possibilidades:
O Linux suporta muitos tipos diferentes de tabela de partição, alguns dos quais usam muito poucos bytes mágicos, e é fácil identificar dados aleatórios (*) [para que seja possível gerar aleatoriamente uma tabela de partição um tanto "válida"].
Alguns tipos de tabela de partição também têm backups no final do disco (principalmente a GPT), que podem ser ativados se o início da unidade for substituído por lixo aleatório.
O dispositivo não funciona corretamente e foi desconectado antes de terminar de gravar os dados ou continua retornando dados antigos, para que a tabela de partição sobreviva. Às vezes isso acontece com pen drives.
...
(*) Crie 1000 arquivos com dados aleatórios e veja o que sai:
$ truncate -s 8K {0001..1000}
$ shred -n 1 {0001..1000}
$ file -s {0001..1000} | grep -v data
0099: COM executable for DOS
0300: DOS executable (COM)
0302: TTComp archive, binary, 4K dictionary
0389: Dyalog APL component file 64-bit level 1 journaled checksummed version 192.192
0407: COM executable for DOS
0475: PGP\011Secret Sub-key -
....
O objetivo de destruir aleatoriamente uma unidade é fazer com que os dados antigos desapareçam para sempre. Não há promessa de que a unidade aparecerá vazia, sem uso e em perfeito estado depois.
É comum seguir com uma limpeza zero para conseguir isso. Se você estiver usando o LVM, é normal o LVM zerar os primeiros setores de qualquer LV criado para que os dados antigos não interfiram.
Há também um utilitário dedicado ( wipefs
) para livrar-se de assinaturas antigas de bytes mágicos que você pode usar para se livrar dos metadados do sistema de arquivos e da tabela de partição.
dd
que resultaria em partições, especialmente se o comando se destina a limpar discos?