Borrar un disco duro

ago 3, 2011·
Julio Batista Silva
Julio Batista Silva
· 3 min de lectura
blog Hardware

Acabo de vender mi portátil más antiguo por Mercado Livre (increíble cómo se ha depreciado: de R$ 2700,00 a R$ 700,00 en solo 3 años).

Algo que considero importante antes de vender un portátil es borrar todos los archivos personales, los archivos confidenciales, las contraseñas guardadas y cualquier otra información que pueda perjudicarte si cae en malas manos. Formatear el disco sería una buena solución, ¿no? Pues no.

A no ser que el disco esté cifrado, formatear no basta. Tras un formateo normal, los bloques que tenían contenido simplemente se marcan como disponibles en la tabla de direcciones; es decir, los datos siguen en el disco y se pueden recuperar con alguna herramienta específica, como extundelete, sobre la que escribí en otro artículo.

La forma más eficaz de limpiar el disco por completo y hacer que los datos sean irrecuperables sin dañarlo es la técnica conocida como disk wiping mediante un disk scrubbing, que básicamente sobrescribe todo el disco con ceros o unos.

El método más tradicional y sencillo de hacer un disk scrubbing en sistemas Unix es usar dd o cat.

  1. Arranca desde un live disk

  2. Opcionalmente, borra todas las particiones con gparted o fdisk

  3. Comprueba los bloques defectuosos con badblocks o fsck:

    badblocks -wvs /dev/sda
    fsck -f /dev/sda
    

    Creo que usar -w con badblocks ya basta para impedir la recuperación de datos del disco, porque escribe varias veces en todos sus bloques. Para que el programa repita la comprobación varias veces, usa la opción -p. El proceso tarda varias horas; una forma de acelerarlo es aumentar con la opción -c el número de bloques que se comprueban a la vez.

  4. Usa uno de los siguientes métodos, repitiéndolo tantas veces como creas necesario

    Con 2 pasadas debería bastar, salvo que el disco lo analicen especialistas muy tenaces.

    • Método 1

      Escribir ceros en todo el disco: dd if=/dev/zero of=/dev/sda

    • Método 2

      Escribir ceros y unos aleatoriamente (recomendado): dd if=/dev/urandom of=/dev/sda

    • Método 3

      La misma función que los comandos anteriores, pero con cat. Escribe bits aleatorios dos veces y ceros en la tercera pasada.

      cat /dev/urandom > /dev/sda;
      cat /dev/urandom > /dev/sda;
      cat /dev/zero > /dev/sda
      

      En un disco de 250 GB lo ejecuté con algunos mensajes para hacerme una idea del tiempo, pero ni siquiera tras 10 h había terminado la primera pasada:

      echo "Inicio a las `date`";
      
      cat /dev/urandom > /dev/sda;
      echo "Escritura #1 terminada a las `date`";
      
      cat /dev/urandom > /dev/sda;
      echo "Escritura #2 terminada a las `date`";
      
      cat /dev/zero > /dev/sda;
      echo "Escritura #3 terminada a las `date`"
      

      Por eso me parece mejor usar algún programa que muestre el progreso

    • Método 4

      Shred: ya viene instalado en varias distribuciones. Ejemplo de uso: shred -n 3 -z -v /dev/sda.

    • Método 5

      Descarga algún otro programa. Hay varios programas gratuitos pensados justo para esto, que escriben ceros y unos en todo el disco y repiten el proceso automáticamente varias veces.

      En una búsqueda rápida encontré estos programas: Dban, Autoclave, Wipe, KillDisk.

      Por lo visto el más usado para esto es DBAN, un disco de arranque de 11 MB que se puede descargar en http://www.dban.org/.

      El proceso es algo lento y depende del disco; de media debería tardar unos 2 minutos por GB.


Julio Batista Silva
Autores
Senior Cloud Developer

Soy un ingeniero informático brasileño radicado en Alemania, apasionado por la tecnología, la ciencia, la fotografía y los idiomas.

Llevo programando cerca de dos décadas, explorando desde apps móviles y desarrollo web hasta aprendizaje automático. Hoy me enfoco en SRE en la nube e ingeniería de datos.

Soy voluntario en las comunidades de open source y Python, ayudando a organizar PyCon DE y PyData Berlin, dando mentorías y contribuyendo con código y traducciones.

En mi blog comparto consejos de Linux, guías de configuración y notas personales que escribí como referencia futura. Espero que también sean útiles para otras personas. El contenido está disponible en varios idiomas.

Visita mi galería para ver algunas de mis fotografías.

Fuera del teclado, me encontrarás en conciertos, tocando el clarinete, en bicicleta, buceando o explorando nuevos lugares, culturas y cocinas.

¡Siempre feliz de conectar! 🙂

comments powered by Disqus