Varias posibilidades:
Linux admite muchos tipos diferentes de tablas de particiones, algunas de las cuales usan muy pocos bytes mágicos, y luego es fácil identificar erróneamente datos aleatorios (*) [por lo que es posible generar aleatoriamente una tabla de particiones algo "válida"].
Algunos tipos de tablas de particiones también tienen copias de seguridad al final del disco (sobre todo GPT) y eso podría recuperarse si el inicio de la unidad se reemplazara con basura aleatoria.
El dispositivo no funciona correctamente y se desconectó antes de terminar de escribir los datos, o sigue devolviendo datos antiguos, por lo que la tabla de particiones sobrevive. A veces esto sucede con memorias USB.
...
(*) Crea 1000 archivos con datos aleatorios y mira lo que sale:
$ 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 -
....
El objetivo de destruir aleatoriamente una unidad es hacer que los datos antiguos desaparezcan definitivamente. No hay promesa de que la unidad aparecerá vacía, sin usar, en perfectas condiciones después.
Es común hacer un seguimiento con un borrado cero para lograrlo. Si está utilizando LVM, es normal que LVM ponga a cero los primeros sectores de cualquier LV que cree para que los datos antiguos no interfieran.
También hay una utilidad dedicada ( wipefs
) para deshacerse de las antiguas firmas de bytes mágicos que puede usar para deshacerse del sistema de archivos y los metadatos de la tabla de particiones.
dd
daría lugar a particiones, especialmente si el comando está destinado a borrar discos.