Recuperar Sistema Linux desde un Backup

Recuperar tu sistema operativo tal y como lo tenías desde un Backup ante una situación de “Catástrofe” donde se rompiera tu sistema.

Los pasos de forma simplificada (Una vez tenemos la copia de seguridad, por supuesto, si hemos sido precavidos) son los siguientes:

  • Formatear la partición del sistema
  • Montar la partición
  • Extraer el backup a esa partición
  • Crear directorios omitidos en el Backup
  • Entrar en entorno enjaulado “chroot”
  • Instalar GRUB

Puede parecer algo tedioso pero es una manera muy buena de recuperar tu sistema al punto que hicieras una copia de seguridad y tener todos los programas configurados y personalizados igual que antes. Una vez realices este proceso una o dos veces comprobarás que no es tan complicado y tiene mucha efectividad.

Recuperar Sistema Linux desde un Backup

Recuperar Sistema Linux desde un Backup

Formatear la partición

Para restablecer el sistema desde el backup lo primero será limpiar la partición donde vayamos hacerlo.

Así que una vez con nuestra copia de seguridad en un medio externo (fuera de la partición donde vayamos a formatear) podemos formatear desde un terminal, para ello recomiendo entrar desde un live CD de cualquier distribución, aunque recomiendo que sea una similar (por ejemplo si es un sistema debian podemos usar el mismo Debian Live o un linux Mint Live, también Xubuntu. Como verás son distribuciones ligeras para evitar tiempos de espera y posibles lagueos).

Tenemos que particionar o formatear nuestro disco duro o nuestra partición para recuperar los datos a un destino totalmente limpio y que no contenga archivos. Para este fin suelo usar la herramienta gráfica “Gparted” esta herramienta es posible que no venga por defecto pero podemos instalarla (necesitamos conexión a internet) para debian, linux mint y ubuntu mediante el comando:

sudo apt install gparted

Formateamos nuestra partición en “ext4”

Montar la partición

Una vez tenemos la partición limpia debemos montarla en un directorio para acceder a ella y restablecer los datos.

Ahora montaremos nuestra partición, yo me basaré como si la montara en el directorio “/mnt” directamente.

Si quieres crear un directorio específico (no es necesario) puedes hacerlo así:

sudo mkdir /mnt/nombredeldirectorio

Ahora anotaremos nuestra partición, si no estamos seguros siempre podemos volver a gparted o consultarla mediante el comando:

sudo fdisk -l

Suponiendo que nuestro objetivo es la partición /dev/sda1 quedaría el montaje como en el siguiente ejemplo:

sudo mount /dev/sda1 /mnt

Con esta última accion hacemos que todo lo que escribamos dentro de la ruta /mnt se estará realizando realmente en la partición obejtivo para restaurar el sistema /dev/sda1

Extraer el Backup

Ahora que ya tenemos montada la partición en “/mnt” y tenemos acceso a ella, vamos a descomprimir dentro de esta nuestro Backup teniendo en cuenta que yo lo tengo en un pendrive con el nombre “USB32GB” y esto varía según donde hayas guardado el archivo de tu copia, en este caso será de la siguiente forma con ruta absoluta (desde la raíz /):

sudo tar -xvpjf /media/USB32GB/System_backup_06oct14/System_backup_06oct14.tar.bz2 -C /mnt

Explicaré que USB32GB es el nombre de mi pendrive, System_backup_06oct14 es el nombre del directorio donde tengo el backup dentro del pendrive y System_backup_06oct14.tar.bz2 es el nombre del empaquetador que contiene la copia de seguridad comprimida. Lo que hace este comando es descomprimir respetando la estructura de directorios y subdirectorios dejándolo tal y como estaba en el sistema original.

De esta forma dejará todo el sistema preparado tal y como lo teníamos en el momento que hicimos el backup pero esta vez dentro de la partición que hemos creado al principio del tutorial y que hemos montado en /mnt por lo tanto todo lo que metamos dentro de /mnt se escribirá realmente en la partición que creamos al principio.

Este proceso tardará un buen rato dependiendo de tu equipo y la cantidad de datos que contenga el backup así que tocará esperar.

Crear directorios omitidos en el Backup

Normalmente al crear un Backup algunos directorios, ahora tenemos que crearlos dentro de /mnt y dejarlos vacíos por ahora.

En mi caso estos son los que suelo omitir:

sudo mkdir /mnt/proc /mnt/mnt /mnt/media /mnt/tmp /mnt/var/log

En tu caso tendrás que adaptar los directorios que omitieras en el backup original.

Entrar en entorno enjaulado “chroot”

Chroot nos permite hacer un entorno enjaulado, es decir, decirle al terminal que todo lo que escribamos y ejecutemos lo haga de modo que tome la raíz del sistema a partir del directorio que le digamos. Este es el primer paso para instalar grub en nuestro sistema restaurado y así poder arrancar con el.

Antes de entrar como chroot tenemos que montar algunas partes del LiveCD dentro del directorio /mnt para tener acceso a los comandos y dispositivos. Esto se hace de la siguiente manera:

sudo mount -t proc proc /mnt/proc/

sudo mount -t sysfs sys /mnt/sys/

sudo mount -o bind /dev /mnt/dev/

sudo mount -t devpts pts /mnt/dev/pts

Ya hemos montado todas las partes del sistema live que dan información necesaria al futuro enjaulamiento para acceder a dispositivos físicos entre otras cosas.

En este punto es donde obtenemos ventajas si usamos un sistema igual al que restauramos, aunque tampoco supondrá un gran problema pero podría evitarnos algún error o tener que hacer más puntos de montajes.

Ahora el próximo paso será enjaularnos. Al ejecutar el próximo comando todo lo que ejecutemos será como si lo estuviésemos realizando dentro de /mnt en el sistema recién recuperado. Sería como decir que / en realidad ahora es /mnt donde está la misma estructura de sistema pero en la partición del disco duro que recuperamos.

El comando para entrar en chroot es:

sudo chroot /mnt /bin/bash

Para más comodidad, si queremos que en el promt (nuestro nombre en la terminal, esto es totalmente opcional) aparezca diferenciado de las demás pestañas o terminales podemos cambiarlo con este comando:

sudo export PS1=”(chroot) $PS1″

Instalar GRUB

Nuestro sistema está instalado, ahora tenemos que crear un arranque pues si reiniciamos en este punto quedará sin entrar al sistema.

También es otra opción si tenemos varios sistemas linux es entrar en el otro sistema y actualizar grub, de todas formas a continuación explico como recuperar grub manualmente con dos sencillos comandos.

Actualizamos GRUB para que detecte los sistemas instalados y genere la configuración correspondiente:

sudo update-grub

Una vez generada la configuración necesaria pasaremos a instalarlo en el MBR para que sea cargado al elegir ese disco duro como arranque. Siguiendo con el ejemplo será el primer disco duro y lo haríamos con el siguiente comando:

sudo grub-install /dev/sda

Información Adicional

Reiniciaremos para comprobar que inicia correctamente nuestro sistema.

Es posible que se presente problemas de permisos, por ejemplo en la carpeta /tmp si no puede escribir no iniciará el entorno gráfico, si es tu caso se soluciona así:

<

p class=”destacado”>
Pulsar CTR+ALT+F1

Loguer con tu anterior nombre y contraseña

Ejecutar el siguiente comando:

sudo chmod 777 /tmp

Como es de lógica el usuario y contraseña será el mismo que teníais anteriormente

Para ver como crear un Backup o un script para generar una copia automáticamente visitar este enlace: https://laguialinux.es/script-crear-backup-del-sistema

Un poco más abajo os dejaré unos vídeos con ejemplos.

Comandos Linux

Raúl Caro Pastorino

Informático, técnico en sistemas, redes, baja tensión (electricidad) y desarrollador de aplicaciones WEB. Soy un apasionado por GNU/LINUX y el software libre en general desde prácticamente el año 2001-2003 que comencé. Intento usar y trabajar siempre con código libre o abierto de forma profesional. Me apasiona la programación, la micro-electrónica, el diseño gráfico y edición multimedia. Fan de Raspberry y arduino. Programo en bash, python, php y javascript principalmente. Repositorios de código con git: https://gitlab.com/fryntiz https://github.com/fryntiz

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.