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.