Jun 19

Reparar un disco duro Seagate inutilizado

Reparando un disco duro Seagate 

El firmware de algunas series de discos Seagate (especialmente la serie Barracuda 7200.11 y algunas series de Momentus para portátiles) vienen con un defecto que provoca que el disco se congele y deje de ser detectado por el PC.

Problema

Realmente, existen diversos casos distintos en los que el disco deja de funcionar. Entre ellos, los más comunes son:

  • Error LBA 0: En este caso la BIOS detecta el disco pero indica que su capacidad es de 0 bytes.
  • Error BSY: La BIOS no detecta el disco duro en absoluto, porque éste indica que está “ocupado” (BuSY)
  • Bloqueo del motor u otras averías físicas. En estos casos la solución no resolverá el problema, pero el proceso siguiente servirá para diagnosticarlo.

Causa

Un disco duro, además del espacio reservado a datos del usuario, contiene una partición especial dedicada a información de autodiagnóstico (SMART) que en situaciones normales se utiliza para marcar los sectores defectuosos y otros problemas encontrados. Esto sirve para evitar en lo posible fallos catastróficos, siendo el propio disco duro lo suficientemente inteligente como para evitar perder datos y/o avisar cuando está a punto de sufrir un problema grave. Pues bien, el firmware que viene con estos modelos de disco tiene un error que provoca que la partición de SMART se corrompa, dejando el disco inutilizable. Seagate publicó en su momento una actualización del firmware para estos discos que evitaba el error. La mala noticia es que esta actualización evita que el problema aparezca, pero una vez que el problema aparece es imposible actualizar el firmware. Por tanto, a no ser que seas un poco paranoico o que ya conocieras el problema con anterioridad, es muy poco probable que hayas actualizado el firmware sin encontrarte antes tu disco duro convertido en un bonito pisapapeles. Por supuesto, cuando el problema aparece los datos no se han perdido, ni muchísimo menos.

La solución

Dado que el origen del problema está en los datos de la partición SMART, la forma de solucionar el fallo una vez ha aparecido va a consistir en devolver esta partición a su estado de fábrica. Como el disco no es accesible, dado que la BIOS no lo reconoce, vamos a utilizar un puerto serie que incorporan estos modelos, que está ahí precisamente para tareas de diagnóstico y reparación de este tipo. Las conexiones del disco duro tienen más o menos esta apariencia:

Material necesario

Para realizar esta operación necesitaremos:

  • Un puerto USB libre en un PC
  • Un conversor de USB a UART, como éste:
  • También nos sirve un módulo Arduino, del que usaremos los pines GND, TX y RX con el mismo cometido
  • Tres cables de cobre, con terminales que nos permitan conectar el UART al disco. En nuestro caso hemos usado puntas de prueba (test hooks) como estas:
  • Destornillador torx T3 de precisión. Sólo es necesario para los discos de 3,5″.
  • Una fuente de alimentación con un cable libre de alimentación SATA. También nos sirve una caja de disco externa del tipo adecuado y un cable de alimentación SATA.

 

Procedimiento

  • 1. (Sólo si el disco es de 3,5″) Desatornillamos la placa PCB del disco para desconectarla por completo de éste.
  • Si nos saltamos este paso y el disco tiene el error de BSY, no podremos acceder a la consola de diagnóstico en el paso 7.
  • 2. Conectamos el adaptador UART al puerto serie del disco.Puedes basarte en el código de colores de las imágenes:
  • PC-TX ==> HDD-RX
  • PC-RX ==> HDD-TX
  • PC-GND ==> HDD-GND
  • NO es necesario conectar el pin de VCC.
  • 3. Conectamos el adaptador UART al puerto USB.
  • 4. Conectamos la alimentación SATA al puerto SATA-Power del disco duro.
  • 5. Abrimos putty (también puedes usar hyperterminal u otro programa de terminal, siempre que uses los parámetros adecuados) y nos conectamos al puerto serie correspondiente al adaptador UART, usando la siguiente configuración:
  • Velocidad (Speed): 38400 baudios
  • Bits de datos (Data bits): 8
  • Bits de parada (Stop bits): 1
  • Bits de Paridad (Parity): Ninguno/None
  • Control de flujo (Flow control): Ninguno/None
  • 6. Accedemos a la consola de diagnóstico del disco duro, pulsando Control + Z (en putty). Aparecerá un prompt en la consola:
  • F3 T>
  • 7. Accedemos al nivel de operación 2, escribiendo /2↵. El prompt cambiará.
  • F3 T> /2
  • F3 2>
  • 8. Esperamos unos segundos, y detenemos el motor del disco (o le hacemos saber a la PCB que está detenido, si la tenemos desconectada del disco), enviándole la orden Z↵.
  • F3 2> Z
  • Aquí el disco tardará un momento y devolverá un resultado. Si devuelve un error, es posible que hayamos ido demasiado deprisa. Vuelve a emprezar y espera más tiempo antes de enviar la orden de parada del motor.
  • 9. (Sólo si hemos desconectado la PCB en el paso 1) Con cuidado de que no se desconecte ningún cable, volvemos a conectar la placa PCB al disco duro. Para ello, la colocamos en su sitio y la atornillamos al mismo, apretando bien todos los tornillos.
  • 10. Esperamos unos segundos, y arrancamos el motor del disco, enviándole la ordenU↵.
  • F3 2> U
  • Aquí el disco tardará un momento y devolverá un resultado. El motor del disco debería girar (debería notarse vibración). Si devuelve un error, es posible que la PCB no esté bien conectada al disco (revisa los tornillos), o que el motor del disco esté bloqueado y no pueda girar. Esto son malas noticias (ver más abajo).
  • 11. Accedemos al nivel de operación 1, escribiendo  /1↵. El prompt cambiará de nuevo.
  • F3 2> /1
  • F3 1>
  • 12. Reiniciamos los datos de SMART, enviando la orden N1↵
  • F3 1> N1
  • El disco tardará un momento y devolverá un resultado.
  • 13. Volver al modo de operación T, mediante T↵
  • F3 1> /T
  • F3 T>
  • 14. Reiniciar la lista de defectos detectados en el disco, usando el comando i4,1,22↵. Este paso no siempre es necesario.
  • F3 T> i4,1,22
  • Aquí el disco tardará un momento y devolverá un resultado.
  • 15. Detenemos el motor del disco (para apagarlo con seguridad) y lo apagamos. Para ello:
  • Accedemos al nivel de operación 2, escribiendo /2↵
  • Detenemos el motor del disco, enviándole la orden Z↵.
  • Cuando el motor se haya detenido, desconectamos el cable de alimentación SATA.
  • 16. Esperamos unos 10 segundos.
  • 17. Volvemos a conectar la alimentación SATA
  • 18. Volvemos a acceder a la consola de diagnóstico del disco duro, pulsando Control + Z
  • F3 T>
  • 19. Regeneramos la partición de SMART, con el comando m0,2,2,,,,,22↵
  • F3 T> m0,2,2,,,,,22
  • Aquí el disco tardará un buen rato antes de darnos un resultado. Esperamos a comprobar que el resultado es correcto.
  • 20. Detenemos el motor del disco (para apagarlo con seguridad) y lo apagamos. Para ello:
  • Accedemos al nivel de operación 2, escribiendo /2↵
  • Detenemos el motor del disco, enviándole la orden Z↵.
  • Cuando el motor se haya detenido, desconectamos el cable de alimentación SATA.

 

Y después…

En este punto, ya hemos terminado de reiniciar los datos problemáticos. Si todo ha ido bien, el disco ya será detectado normalmente por la BIOS y podrá usarse sin problemas. Lo único que queda pendiente, a modo preventivo, es actualizar el firmware del disco duro para que el problema no vuelva a aparecer.

Qué hacer si el motor no gira

Si el motor de nuestro disco no gira (siempre responde con un error a la orden U en el punto 10 del procedimiento anterior), una de las causas más probables es que se encuentre bloqueado. Esto ocurre generalmente debido a un golpe o shock, o, con menos frecuencia, debido a un apagado brusco de la corriente. Llegados a este punto, si los datos contenidos en el disco son importantes, deberíamos enviar el disco al servicio técnico o a una empresa especializada de recuperación de datos. Sólo si esto no es posible y si los datos no son realmente importantes podríamos aventurarnos a desbloquear el motor nosotros mismos. Abrir un disco duro en un área no preparada específicamente para ello (debería hacerse siempre en una cámara de vacío) supone la muerte del mismo, por lo que, si estamos decididos a ello, debemos actuar rápido y con decisión y tener en cuenta que, una vez lo hayamos abierto, contaremos con poco tiempo para recuperar los datos antes de que éstos empiecen a degradarse. El bloqueo en este caso es físico, por lo que la operación consistiría en:

 

  • Equiparnos adecuadamente (mascarilla, gorro o redecilla para el pelo, guantes de latex o “finger cots”) para evitar dejar partículas de cualquier tipo en la superficie de los platos del disco.
  • Abrir el disco con los destornilladores torx apropiados.
  • Mover el brazo (34) a su posición de inicio (50), de forma que las cabezas de lectura/escritura (32) queden fuera de la superficie de los platos (10)
  • Obligar al rotor del disco (20) a girar, asegurándonos de que gira libremente y de que no tocamos ningún otro punto del disco.
  • Cerrar el disco inmediatamente

 

 

Deja un comentario

Your email address will not be published.

A %d blogueros les gusta esto: