Recuperar los datos
Así que, mientras me conseguía otro disco nuevo igual que el estropeado, desmonté el disco antiguo y lo coloqué en mi ordenador personal, ese que sólo admite un disco SATA.
El disco estropeado lo coloqué en la máquina Linux, y lo monte con la orden mount:
mount -t ntfs /dev/disks/by-id/scsi-SATA_ST3500320AS_9QM4CGC1-part2 /mnt/windows
Esto me permitió acceder al disco para copiar en bruto, los datos de interés: las bases de datos de MySQL, los espacios de trabajo de Eclipse, los sitios web alojados en mi servidor, etc.
Temporalmente copié estos datos en una carpeta de la máquina Linux, que a su vez está publicada en la ethernet local con Samba.
Desde la máquina Windows copié los datos a través de la red local al disco antiguo, e intenté la restauración (tomando la precaución de conservar los datos orginales). Aquí encontré alguna dificultad con MySQL y Eclipse.
Restaurar MySQL data
Antes de restaurar la copia de los datos de MySQL, detuve el servicio y renombré la carpeta original a algo así como Copia de MySQL data, o algo por el estilo. Entonces copié la carpeta desde la máquina Linux e intenté reiniciar el servicio MySQL, sin éxito. Anduve probando algunas utilidades de MySQL para reparar archivos dañados, como myisamchk y mysqlcheck, tras leer cómo usarlas en algunos artículos que encontré por la red, también sin éxito.
Por último, se me ocurrió copiar los archivos ib_logfileX, ibdataX y server.pid desde la carpeta original y el servicio consiguió iniciarse, pero no se podía escribir nada en las bases de datos.
Lo comprobé al iniciar uno de los sitios web, que usa Joomla! para publicar el contenido. Al visitar el sitio web con el navegador, se mostraba correctamente; sin embargo, al intentar seguir cualquier enlace, aparecía un mensaje de error indicando que no se podía registrar la información de sesión en la base de datos de sólo lectura (la clave del problema).
Tras dar un vistazo a los atributos de los archivos de una de las bases de datos, comprobé que todos estaban marcados como sólo lectura.
Modifiqué los atributos para quitar el atributo de sólo lectura en la máquina Windows, con la orden:
attrib -R *.* /S (desactivamos el atributo de sólo lectura a todos los archivos)
Y el problema quedó resuelto.
Restaurar espacios de trabajo de Eclipse
Algo parecido sucedió con los espacios de trabajo de Eclipse. Con la carpeta de los espacios de trabajo de Eclipse, hice lo mismo que con MySQL: renombrar la original para mantenerla en caso de dificultades, y copiar la otra desde Samba. Eclipse se negaba a arrancar, protestando por algún problema con el espacio de trabajo.
Eclipse utiliza algunos ficheros de configuración para organizar y mantener el espacio de trabajo. Oculto en la carpeta siempre hay una subcarpeta especial, que Eclipse utiliza y comprueba durante el arranque: la carpeta .metada.
Supuse que el problema era similar, e intenté la misma solución con attrib, pero no funcionó. El motivo es que las carpetas y los archivos que tienen activo el atributo de sólo lectura, además están ocultos, y attrib no actúa sobre archivos ocultos, salvo para retirar ese atributo. Así la solución tiene dos pasos:
attrib -H -R .* /D /S (retiramos los atributos de sólo lectura y oculto, dejando que también actúe sobre las carpetas ocultas)
attrib +H .* /D /S (una vez retirado el atributo de solo lectura, volvemos a activar el atributo de oculto)
De nuevo, Eclipse arrancó sin protestar con los espacios de trabajo recuperados. Hay otra solución (la que recomienda Eclipse y he leído por la red) que consiste en importar los espacios de trabajo desde otra carpeta; la he usado en el pasado, pero tarda demasiado en realizarse. La solución alternativa sólo se demora unos segundos.
Otros datos de interés
El resto de datos, incluído un pequeño repositorio CVS, simplemente se copiaron desde Samba a sus ubicaciones habituales.