Crear imágenes de disco desde la consola de Ubuntu 14.04 LTS

Publicado por P. Ruiz en

Existe un programa universal para la línea de comandos de GNU/Linux, llamado dd, que podemos utilizar para copiar datos a bajo nivel (byte a byte) desde un dispositivo o una partición, pudiendo crear un dispositivo que sea un clon perfecto del primero o un archivo de imagen de éste.

Si hemos creado un archivo de imagen, en el futuro podemos usarla para crear un disco que sea una copia exacta del original (en el momento en el que se hizo la copia) o tras una catástrofe que haya corrompido nuestros datos, para recuperar el estado exacto del dispositivo de origen.

Como hemos dicho más arriba, la copia se realiza byte a byte, lo que significa que, si el dispositivo de origen tiene un tamaño de 500 GB, necesitaremos, como mínimo, otros 500 GB libres en el dispositivo que va a albergar la imagen. No obstante, al final del artículo comentaremos un método que nos permita ahorrar espacio en el tamaño de la imagen.

Como ya hicimos en el artículo Crear una imagen de disco en Ubuntu 14.04 LTS, usaremos el disco de instalación de Ubuntu. Así, no necesitaremos tener el disco principal montado (donde se encuentra instalado el sistema operativo del equipo) y estaremos seguros de que no cambia ninguno de sus archivos mientras realizamos la operación. Como entonces, comenzaremos por iniciar el ordenador con el disco de instalación de Ubuntu.

1

En la pantalla de bienvenida del asistente de instalación, elegimos el idioma Español y, a continuación, hacemos clic sobre el botón Probar Ubuntu.

Crear una imagen

La forma más rápida de abrir la ventana de terminal consiste en pulsar la combinación de teclas Alt + Control + T.

Cuando nos disponemos a crear una imagen, lo primero será conocer qué dispositivos tenemos en nuestro sistema. Algo muy sencillo si utilizamos un comando como este en una ventana de terminal:

sudo fdisk -l

1

Escribimos el comando y pulsamos la tecla Intro.

Al hacerlo, comprobamos que tenemos dos discos (sda y sdb). El primero contiene tres particiones: la que contiene el sistema (sda1), una extendida (sda2) y, en su interior, la partición lógica que contiene el área de intercambio (sda5).

El segundo disco, sólo contiene una partición: la sda1.

Con esto, tenemos la información básica para aplicar el comando dd. Para ello, basta con escribir una orden como esta:

sudo dd if=/dev/sda of=/media/ubuntu/BACKUP/imagen.img

2

Escribimos el comando y pulsamos la tecla Intro.

Puede que, al tratar de ejecutar el comando anterior, recibas un mensaje de error. El motivo puede ser que el volumen donde pretendes guardar la imagen no se encuentra montado. La forma más fácil de resolverlo consisten en hacer doble clic sobre su icono en el Launcher. Se abrirá una ventana del explorador de archivos mostrando el contenido de la unidad, que podrás cerrar inmediatamente, pero el disco ya se habrá montado.

Como habrás imaginado, detrás del argumento if debemos poner el dispositivo, la partición o el archivo de origen y, detrás del argumento of, escribiremos el de salida. En nuestro caso, toda la unidad sda como origen y el archivo imagen.img como destino.

El proceso de creación se tomará su tiempo. Piensa que se está copiando todo el disco.

Cuando termine, aparecerá un resumen del trabajo realizado, indicando el número de bloques leídos, la cantidad de información copiada, el tiempo empleado (medido en segundos) y la velocidad media a la que se ha producido la copia (medida en MB/s).

3

La imagen creada tiene el mismo tamaño que el disco de origen.

Después de esto, ya tendremos la imagen lista para usar cuando sea necesario.

Recuperar la imagen

Cuando sea necesario (normalmente, cuando el sistema ha dejado de funcionar adecuadamente), podremos utilizar la imagen que hemos creado en el apartado anterior para devolver el equipo al estado en el que se encontraba cuando la hicimos.

Como en el apartado anterior, usaremos el disco de instalación de Ubuntu, para evitar que el disco principal esté montado, asegurándonos de que no cambia ninguno de sus archivos mientras realizamos la operación. Como entonces, comenzaremos por iniciar el ordenador con el disco de instalación de Ubuntu.

Después, sólo tenemos que aplicar la sintaxis que usamos para crear el archivo, pero intercambiando los valores de sus argumentos. Es decir, algo como esto:

sudo dd if=/media/ubuntu/BACKUP/imagen.img of=/dev/sda

1

Como antes, escribimos el comando y pulsamos la tecla Intro.

De nuevo, el proceso de restauración puede tomar un tiempo considerable, en función del tamaño de la imagen, ya que se está copiando todo el disco.

Al final, volveremos a obtener el resumen con el número de bloques leídos, la cantidad de información copiada, el tiempo empleado (medido en segundos) y la velocidad media a la que se ha producido la copia (medida en MB/s).

2

Las dos imágenes en el explorador de archivos.

Después de esto, ya puedes reiniciar el sistema y comprobar que todo ha funcionado correctamente.

La ventaja de utilizar el comando dd para crear la imagen es que tenemos a nuestra disposición toda la potencia de la línea de comandos de GNU/Linux. Por ejemplo, podemos canalizar la salida del comando dd hacia un programa de compresión. Así, la imagen obtenida será de menor tamaño que el disco original. Algo como esto:

sudo dd if=/dev/sda | bzip2 > /media/ubuntu/BACKUP/imagen2.bz2

… Y para recuperarla, bastará con usar la sintaxis contraria:

sudo bunzip2 -c /media/ubuntu/BACKUP/imagen2.bz2 | sudo dd of=/dev/sda

Hasta aquí el artículo de hoy. Espero que te resulte útil

One more thing…

Recuerda que en SomeBooks.es ya hemos dedicado dos artículos a la creación de imágenes usando el disco de instalación de Ubuntu:

También hemos aprendido a manejar las imágenes en sistemas Windows con los artículos: