domingo, 25 de abril de 2021

Cambio de Disco Duro

Tarde o temprano todos los discos duros se rompen, por eso es imprescindible tener copias de seguridad de los datos. También es recomendable comprobar el estado de los discos duros cada cierto tiempo o usar un programa que los vigile continuamente para detectar las primeras señales de que el disco empieza a tener problemas. Finalmente cuando el disco duro falle o esté a punto de fallar será necesario cambiarlo. También podemos querer cambiar el disco para instalar uno con mejores características como más velocidad o capacidad.

Hace unos días empecé a tener problemas en el ordenador, el navegador web cerraba algunas pestañas informando de que había ocurrido un error. No me había pasado nunca antes y sospeché que algo pudiera estar mal en el hardware del ordenador. Lo primero que hice fue realizar una copia de seguridad de algunos datos de los que aún no tenía copia y procedí a hacer un chequeo completo del hardware del ordenador usando System Rescue CD en un pendrive.

Al chequear el disco duro con el programa badblocks encontró 64 errores. Luego comprobé que al repetir el chequeo encontraba otros 64 errores en diferentes bloques. Le debe fallar el sistema de lectura / escritura.

# badblocks -nsv /dev/sda

Checking for bad blocks in non-destructive read-write mode
From block 0 to 31266647
Checking for bad blocks (non-destructive read-write test)
Testing with random pattern: 0.05% done, 0:04 elapsed. (0/0/0 errors)

...

19075872done, 1:34:03 elapsed. (32/0/0 errors)
19075873
19075877
19075878
19075879done, 1:34:04 elapsed. (39/0/0 errors)
19075880
19075881
19075902
19075903
 84.64% done, 2:09:08 elapsed. (64/0/0 errors)

...

Pass completed, 64 bad blocks found. (64/0/0 errors)

Antes de eso le había hecho un test SMART largo pero no había dado error.

# smartctl -t long /dev/sda
# smartctl -a /dev/sda

Warning! SMART Self-Test Log Structure error: invalid SMART checksum.
SMART Self-test log structure revision number 1
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Extended offline    Completed without error       00%     10718

Después de que badblocks encontrara los errores pude comprobar en los atributos SMART que el valor del atributo Reported_Uncorrect había aumentado.

# smartctl -a /dev/sda

SMART Attributes Data Structure revision number: 1
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  5 Reallocated_Sector_Ct   0x0002   100   100   000    Old_age   Always       -       1
  9 Power_On_Hours          0x0002   100   100   000    Old_age   Always       -       10767
 12 Power_Cycle_Count       0x0002   100   100   000    Old_age   Always       -       5264
171 Program_Fail_Count      0x0002   100   100   000    Old_age   Always       -       0
172 Erase_Fail_Count        0x0002   100   100   000    Old_age   Always       -       0
173 Avg_Write/Erase_Count   0x0002   100   100   000    Old_age   Always       -       1572
174 Unexpect_Power_Loss_Ct  0x0002   100   100   000    Old_age   Always       -       590
187 Reported_Uncorrect      0x0002   100   100   000    Old_age   Always       -       441
230 Perc_Write/Erase_Count  0x0002   100   100   000    Old_age   Always       -       5240
232 Perc_Avail_Resrvd_Space 0x0003   095   100   005    Pre-fail  Always       -       0
234 Perc_Write/Erase_Ct_BC  0x0002   100   100   000    Old_age   Always       -       4473
241 Total_LBAs_Written      0x0002   100   100   000    Old_age   Always       -       1832608920
242 Total_LBAs_Read         0x0002   100   100   000    Old_age   Always       -       3374701810

El resto de pruebas, como por ejemplo memoria o procesador, no dio ningún error. Así que me dispuse a cambiar el disco duro lo antes posible y compré un disco SSD Kingston de 240 GB SATA con formato de 2,5" como requería el portátil.

En los portátiles las unidades SSD tienen la ventaja de no tener partes móviles que se puedan dañar al mover el portátil o sufrir este un golpe. Además pueden alcanzar mayores velocidades de lectura y escritura. Como no necesitaba mucha capacidad de almacenamiento pude comprar una unidad SSD con suficiente espacio por poco dinero. Si hubiera necesitado más espacio quizás me hubiera planteado la posibilidad de comprar un disco duro mecánico con mejor relación capacidad / precio.

Para cambiar el disco es necesario abrir el ordenador. En el artículo Apertura de Portátiles Pequeños expliqué el procedimiento.

Después de realizar el cambio y cerrar el ordenador, si el disco con fallos no está en muy malas condiciones, tenemos la posibilidad de hacer una copia de sus datos al nuevo disco para no tener que volver a instalar el sistema operativo y las aplicaciones. Para ello podemos utilizar un adaptador USB/SATA para conectarlo al portátil.

Los ordenadores suelen tener puertos USB de diferentes versiones del estándar. Las nuevas versiones permiten más velocidad, por lo que para grandes transferencias de datos es conveniente conectar el adaptador USB/SATA a los conectores de la versión más nueva del estándar. Con el comando lsusb se pueden ver los buses USB del sistema, su versión y a que bus está conectado el adaptador. Por ejemplo en mi portátil conecté el adaptador al Bus 005 cuya versión es la 2.0, lo que permite una velocidad de hasta 480 Mb/s = 60 MB/s, mucho más que los otros buses 1.1 con 12 Mb/s = 1,5 MB/s.

# lsusb

Bus 005 Device 002: ID 04f2:b209 Chicony Electronics Co., Ltd 
Bus 005 Device 003: ID 152d:2338 JMicron Technology Corp. / JMicron USA Technology Corp. JM20337 Hi-Speed USB to SATA & PATA Combo Bridge
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

Como software de copia podemos usar GParted. Este programa está incluido en System Rescue CD. Podemos arrancar el ordenador con este sistema y hacer la copia. GParted puede hacer la copia de discos con errores, cuando encuentra un error continúa copiando y permite reparar sistemas de archivos. Además si el nuevo disco es más grande también puede ampliar el tamaño de las particiones para utilizar el nuevo espacio disponible.

Si no se puede hacer la copia será necesario volver a instalar el sistema operativo y restaurar los datos de la copia de seguridad para volver a tener el ordenador como antes. El disco duro roto lo podemos guardar como otra copia de seguridad, o le podemos borrar los datos de forma segura con alguna utilidad como wipe y utilizarlo para usos no importantes, como por ejemplo hacer pruebas. Aún utilizando un programa de borrado seguro es posible que queden datos ya que los discos modernos tienen áreas ocultas no accesibles por estos programas. Por eso es importante que un disco duro usado que haya tenido datos secretos no acabe en manos de otras personas.

Para dificultar que alguien que tenga acceso al disco pueda leer los datos se pueden usar sistemas que cifren los datos antes de escribirlos en el disco. Aún así existe la posibilidad de que se descubra una vulnerabilidad del sistema de cifrado usado que permita acceder a los datos.

No hay comentarios:

Publicar un comentario