Nota importante: este artículo fue actualizado el 6/4/2012 para ser compatible con la versión de Knoppix existente en ese momento (6.7.1). Tras la lectura de este texto, asegúrate de echar un vistazo al artículo más moderno, que refleja los comandos actuales.
Quizás nos hayamos preguntado en alguna ocasión cómo podríamos hacer una copia exacta de nuestro sistema que pudiera permitir una cómoda recuperación en el caso de que sucediera un «accidente» en el disco duro.
La mayor parte de las veces no desearíamos simplemente reinstalar el sistema operativo. Probablemente hayamos empleado muchas horas configurando nuestro entorno, drivers, parches de seguridad, aplicaciones, etc. Una fallo en el disco duro, sin duda el elemento más frágil del sistema, podría suponer una verdadera catástrofe.
Voy a aprovechar que tengo que hacerlo en uno de mis equipos para describir aquí el proceso. Se trata de un portátil de 60 GB corriendo bajo Windows XP. El sistema operativo no es algo relevante; vamos a sacar una instantánea del sistema, haya lo que haya dentro.
En mi caso, volcaré la imagen del disco en un fichero llamado portatil.img que almacenaré en un disco duro externo USB. El espacio disponible en el disco destino debe ser superior o igual al tamaño completo del disco que queremos copiar.
Usaremos como herramienta un Live CD de algún sistema Linux. Yo recomiendo Knoppix, que podéis descargar gratuitamente en http://www.knoppix.net.
Knoppix, como todos los Live CD, permite arrancar un entorno Linux completo sin tocar en absoluto los discos duros de la máquina. Nada se instala. Una vez reiniciemos el ordenador sin el CD en la bandeja volvemos a encontrarnos nuestro antiguo sistema operativo como si nada hubiera sucedido.
Siempre llevo encima un CD de Knoppix. Su capacidad para detectar hardware es asombrosa y el paquete de aplicaciones que trae ya instaladas está muy cuidado.
Recurro con frecuencia a Knoppix cuando viajo y alguien me presta su ordenador y no deseo interferir en lo más mínimo en nada de lo que tiene en él. Sólo tengo que arrancar con el CD y tengo a mi disposición todo tipo de aplicaciones ofimáticas, herramientas de comunicaciones, de seguridad, etc…
Por ejemplo, entre las delicias que ya se incluyen de serie está el VirtualBox. Acostumbro a llevar encima un disco duro de 2’5″ repleto de máquinas virtuales que tengo especializadas en diversas tareas. Si en algún momento necesito utilizar una en un sistema que no tiene VirtualBox y no deseo instalarlo, me basta con utilizar el Live CD y lanzarlo desde allí.
Utilizo también Knoppix para recuperar ordenadores que no arrancan, ficheros perdidos, o limpiar máquinas de virus en sistemas demasiado contaminados para ser saneados desde dentro de ellos.
Pero vayamos al asunto, la utilización de Knoppix para crear una imagen del disco duro…
Insertamos el CD de Knoppix, pinchamos el disco USB externo y arrancamos el equipo. Si nada ocurre y continúa lanzándose el sistema operativo de siempre revisemos el setup de la máquina y establezcamos el orden de arranque adecuado.
En pocos segundos comenzará a arrancar Knoppix y nos aparecerá un prompt que nos permitirá definir algunas opciones de inicio. Si no indicamos nada el proceso seguirá con las opciones por defecto y tratará de lanzar el entorno gráfico. Puesto que no lo vamos a necesitar en esta ocasión, cuando aparezca el prompt,
boot:
escribimos
knoppix 2 lang=es
De este modo se iniciará en modo texto (run level 2) con el teclado configurado en español.
Inspeccionemos que discos ha detectado con
fdisk -l
En mi caso aparecen el disco interno del portátil /dev/sda (60 GB), con una única partición NTFS en /dev/sda1 y el disco externo en /dev/sdb (750 GB) también con una única partición NTFS /dev/sdb1.
Puesto que queremos escribir la imagen en el disco duro externo, necesitaremos montarlo previamente para poder acceder a él. Knoppix ya crea puntos de montaje por defecto para cada disco que detecta. En este caso, hay uno preparado en /mnt/sdb1. En esa ubicación montaremos la partición /dev/sdb1.
sudo mount /dev/sdb1 /mnt/sdb1
Y ahora ya estamos en condiciones de lanzar el siguiente comando para crear la imagen:
dd if=/dev/sda of=/mnt/sdb1/portatil.img bs=4k conv=noerror
El parámetro if nos permite especificar el fichero de origen. En este caso, el disco duro completo interno del portátil (/dev/sda). El disco será copiado completamente y se mantendrán todas las particiones que pudieran existir en él.
Con el parámetro of indicamos el fichero de destino. En este caso, portatil.img, que se creará en el path especificado.
El parámetro bs hace referencia al tamaño de bloque que tomará en cada lectura y escritura. Por defecto es de 512 bytes. Yo prefiero especificar 4 Kbytes en particiones NTFS. La opción por defecto sirve, pero esta es sensiblemente más rápida, al tener que efectuar menos operaciones de lectura/escritura.
El especificador de conversión noerror hace que la copia no se interrumpa en el caso de que se detecte un fallo físico del disco de origen.
Mucho cuidado, por lo general, a la hora de utilizar dd. Es importante no confundir if con of, el fichero de origen con el de destino. Un sistema de ficheros puede quedar completamente borrado si realizamos la operación equivocada.
Y eso es todo… Esperamos unos 45 minutos (para mi disco de 60 GB) y ya tenemos una copia exacta, byte a byte, del disco duro del portátil en el fichero portatil.img.
En alguna ocasión me ha tardado varias horas para discos duros más pequeños incluso, pero era debido a que los puertos USB de la máquina no eran 2.0.
Si algún día necesitamos reconstruir esa imagen porque se ha dañado nuestro sistema, bastaría con efectuar la operación inversa. Llegado al punto de lanzar el comando dd efectuaríamos, esta vez:
dd if=/mnt/sdb1/portatil.img of=/dev/sda bs=4k conv=noerror
y tendríamos el equipo reconstruido nuevamente.
Las labores aquí descritas son para un usuario intermedio y no se necesita poseer grandes conocimientos sobre sistemas informáticos para llevarlas a la práctica.
Espero haber despertado en alguno la curiosidad por el fascinante mundo Linux y sus centenares de excelentes aplicaciones que tenemos a nuestra disposición gratuitas. Un Live CD, como Knoppix, puede permitirnos pequeñas inmersiones graduales en ese mundo sin necesidad de modificar los sistemas que ya tenemos funcionando.
Javier Montero