Reparar un disco duro usando Linux

How-To-Fix-Hard-Drive-Bad-SectorsA veces nos encontramos con un disco que hace “clac-clac” “clac-clac”… y pensamos: “Ha muerto, hay que cambiarlo”. ¡¡Pues tiene arreglo.!!

Ese ruido lo hace simplemente porque está haciendo intentos de lectura sin parar, debido a que en un momento pasado se han escrito mal unos datos en el disco y ahora no puede leerlos.

A Quien no le ha Pasado

La solución es tan simple como volver a escribir en ese sector con datos aleatorios de una forma “especial”.
De esto se encarga la magnífica herramienta “badblocks”, sencilla pero potente, Gnu/Linux es una caja de sorpresas.

Antes de poder empezar a hacer algo, el BIOS tiene que haber detectado el disco, es que hay veces que están tan estropeados que ni los detecta, estos tienen mal apaño, aunque seguiré investigando, a lo mejor resulta que se puede hacer algo.

Lo primero de todo debemos iniciar un sistema Gnu/Linux, sea una distribución Ubuntu o Fedora, desde LiveCD o desde disco duro, no importa, cualquier sistema Gnu/Linux vale.

Abrimos una ventana de terminal y ejecutamos “badblocks” indicando el disco duro dañado, por ejemplo /dev/sdb:

sudo badblocks -s /dev/sdb

El parámetro -s sirve para que se muestre el porcentaje completado. Ya veis que mientras se pueden hacer otras cosas, como consultar el correo, mirar Internet, es muy cómodo. En un disco de 500 GB tarda aproximadamente una hora y media, en caso de haber sectores dañados se mostrará un resultado parecido a este:

25894612

25894614

25894620

25894810

Aquí vemos que entre el sector nº 25894612 y el 25894810 hay varios sectores dañados, así que en todo ese intervalo vamos a reparar los sectores, no importa que entre medias haya sectores buenos, no los va a estropear, aunque eso sí, se perderán los datos que contuvieran.

Quien necesite todos los datos debe ir indicando uno a uno el sector a reparar, aunque así se tarda mucho más.

ATENCIÓN: El siguiente paso hará que se PIERDAN DATOS e incluso puede perderse la PARTICIÓN ENTERA. Se debe hacer COPIAS DE SEGURIDAD.

A continuación se ejecuta badblocks siguiendo este esquema:

sudo badblocks -sw /dev/sdb sector_final sector_inicial

En nuestro ejemplo:

sudo badblocks -sw /dev/sdb 25894810 25894612

La opción w es la que repara los sectores. Se encarga de escribir 4 veces los mismos sectores con diferentes patrones predefinidos.

Es como si fuera un rotulador que marca poco y se escribe 4 veces para que marque bastante. Si quieres perder lo mínimo de datos, debes indicar los sectores uno a uno.

Para ello debes indicar el mismo sector final y el inicial, así se repara un solo sector. Pero de esta forma se tarda mucho más.

En fin, ya veis que se pueden resucitar discos que hemos dado por muertos, pero eso sí, no los uséis para guardar datos importantes, que no son fiables. Pero para guardar pelis o música si que sirven.

Fuente