Antes de ejecutar el dd
comando, el comando lsblk
devolvió el resultado a continuación:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 931.5G 0 disk
El comando dd if=/dev/urandom of=/dev/sda conv=fsync status=progress
se ejecuta. Sin embargo, el dispositivo pierde energía y se apaga. Cuando se restablece la alimentación, el comando lsblk
devuelve el siguiente resultado:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 931.5G 0 disk
sda2 8:2 0 487.5G 0 disk
dd
daría lugar a particiones, especialmente si el comando está destinado a borrar discos.file /dev/sda*
ysudo fdisk -l /dev/sda*
?dd
propósito no es per-se para limpiar discos. Escribir datos aleatorios en un disco puede producir resultados aleatorios.Respuestas:
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:
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.fuente
dd
comando, la generación de datos aleatorios cuando se interrumpe puede dar como resultado datos que parecen tablas de partición? También se trata de discos duros SATA (no SSD).Como se ve aquí, el MBR (Master Boot Record) es relativamente simple; https://en.wikipedia.org/wiki/Master_boot_record .
Cuando lo usa
/dev/urandom
, siempre puede crear algo que se parezca a una tabla de particiones. La solución es llenar las regiones de la tabla de particiones con cero y usarlasdev/urandom
para el resto.Linux también admite otros formatos de disco adicionales que también pueden activarse, lo que hace que aparezcan particiones "no válidas" al rellenar datos aleatorios.
fuente
Lo que define una colección de 512 bytes como un registro de arranque maestro es la presencia de los valores
0x55 0xAA
al final. Hay una probabilidad de 1 en 65.536 de/dev/urandom
producir ese valor: no es muy probable, pero ocurren cosas igualmente improbables todo el tiempo.(Algunas otras tablas de particiones, como Apple Partition Map , tienen firmas igualmente cortas. Es posible que haya generado una de ellas en su lugar).
fuente
¿Estaba esa partición presente algún tiempo antes en ese disco? Si el disco usa GPT, tal vez el encabezado GPT secundario se restauró y todavía tenía la antigua tabla de particiones.
https://en.wikipedia.org/wiki/GUID_Partition_Table
fuente