[CÓMO] Reparar un disco duro usando Linux

Imagen de manolollr
0 puntos

A 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. 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.

Imagen de manolollr
+1
+1
-1

He estado investigando si hay algún método para reparar el disco duro incluso cuando no lo detecta el BIOS. He llegado a la conclusión de que si no lo detecta significa que el disco está para tirar. Ahora explicaré porqué.

En esta web explican el funcionamiento de un disco duro: http://hddscan.com/doc/HDD_Tracks_and_Zones.html

Como veis, es tremendamente complejo. Para resumir voy a decir que es imposible que el proceso de fabricación de un disco duro sea perfecto, así, cada plato y cada cabeza tiene diferencias microscópicas. Durante la fabricación, una máquina se encarga de medir estas diferencias y recoge información con las correcciones que deberá hacer el disco duro cuando esté en funcionamiento. Esta información se guarda en un área especial del disco duro llamada Área de Sistema (System Area, abreviado SA)

Así, cuando el BIOS va a detectar un disco, intentará leer la SA, si esta área está dañada y no se puede leer, el disco emitirá un error y el BIOS no lo detectará. La SA es ÚNICA para CADA DISCO, es como si fuera su número de serie, por eso no se puede descargar de Internet. Así, si la SA está dañada nos hemos quedado sin disco, está para tirar.

+1
+1
-1

Administrador de sistemas de Openxarxes Coop. V.
www.openxarxes.com

Imagen de xmanibal
+1
0
-1

Hola saludos, soy nuevo en linux, respecto a la reparacion que mencionas, el disco duro se debe desmontar primero, esto es con algun comando, cual?, se hace en una ventana terminal? me puedes ayudar e indicar como hacerlo.

Atento a tus comentarios
Mauricio

+1
0
-1