Autorestaurar discos/particiones con clonezilla | Algo de Linux

domingo, 18 de marzo de 2012

Autorestaurar discos/particiones con clonezilla

En ocasiones, nos interesa tener entradas que nos permitan restaurar un disco o particiones con tan sólo seleccionar una opción en el menú de arranque de nuestro pendrive o disco duro usb.

En mi caso, tengo un pendrive con varias herramientas (clonezilla, drbl, system rescue cd, wifiway...) Como todas ellas usan isolinux/syslinux como sistema de arranque, he unido los ficheros de configuración en uno sólo con el fin de poder elegir cualquiera de estas herramientas en el inicio.

Además, he creado entradas que me permiten autorestaurar imágenes almacenadas en el pendrive.

Para explicar como preparar una entrada de autorestauración en el fichero de configuración syslinux.cfg, vamos a ver de forma detallada una de mis entradas:

label Restaurar workstation
  # MENU DEFAULT
  # MENU HIDE
  MENU LABEL Restaurar equipo Workstation general
  # MENU PASSWD
  kernel /live-hd/vmlinuz
  append initrd=/live-hd/initrd.img boot=live config live-media-path=/live-hd noswap nolocales edd=on nomodeset noprompt ocs_live_run="ocs-live-restore" ocs_live_extra_param="-g auto -e1 auto -e2 -c -r -j2 -p true restoredisk workstation-squeeze-ies-20120120 sda"  ocs_live_keymap="NONE" ocs_live_batch="yes" ocs_lang="es_ES.UTF-8" vga=788 ip=frommedia  nosplash
  TEXT HELP
  * Clonezilla live version: 1.2.9-19-i486. (C) 2003-2011, NCHC, Taiwan
  * Disclaimer: Clonezilla comes with ABSOLUTELY NO WARRANTY
  ENDTEXT
 

Con la opción MENU LABEL indicamos lo que se va a mostrar en el menú:

MENU LABEL Restaurar equipo Workstation general


Así, cuando arranque un equipo con mi pendrive usb, habrá una opción en el menú que diga "Restaurar equipo Workstation general".

Como podéis ver, por las opciones que he resaltado en color rojo, tengo el sistema de clonezilla dentro del directorio live-hd. Eso es tan sólo porque también tengo drbl en el mismo pendrive.

En cuanto a las opciones de autorestauración que he usado, son las siguientes:
  • ocs_live_run="ocs-live-restore"
  • ocs_live_extra_param=" -g auto -e1 auto -e2 -c -r -j2 -p true restoredisk workstation-squeeze-ies-20120120 sda"
  • ocs_live_batch="yes"

La opción por defecto de ocs_live_run es "ocs-live-general", que nos permite salvar o restaurar. Como queremos automatizar la restauración cambiamos esta opción por "ocs-live-restore".

La opción "ocs_live_extra_param" nos permite pasar parámetros al comando indicado en ocs_live_run. Estos parámetros le van a indicar a ocs-live-restore qué es lo que tiene que hacer:

ocs_live_extra_param=" -g auto -e1 auto -e2 -c -r -j2 -p true restoredisk workstation-squeeze-ies-20120120 sda"

Veamos de forma detallada para qué sirve cada opción:
  • -g auto: Reinstala grub en el MBR del disco cliente.
  • -e1 auto:  Automáticamente ajusta la geometría del sistema de ficheros de una partición con sistema de arranque NTFS, si existe.
  • -e2: Esta opción es para un cargador no-grub, por ejemplo, para el boot loader de windows. No tiene efecto si el cargador de arranque del disco de destino es grub.
  • -c: Sirve para que el cliente pida confirmación al usuario antes de clonar. Si no queremos que pida confirmación y clone directamente, omitimos esta opción.
  • -r: Intenta redimensionar el sistema de ficheros para adaptarlo a la partición.
  • -j2: Clona los datos ocultos entre el MBR y la primera partición.
  • -p true: Espera a que el usuario realice alguna acción una vez ha terminado el proceso de clonación. El parámetro -p tiene tres opciones:
    • -p true -> No hacer nada cuando termine la clonación.
    • -p reboot -> Reiniciar el cliente cuando termine la clonación.
    •  -p poweroff -> Apagar el cliente cuando termine la clonación.
Por último, la opción ocs_live_batch="yes" nos permite indicarle a clonezilla que haga la restauración en modo batch.

20 comentarios:

Juan Carlos Cajal dijo...

Se podría hecer lo mismo para guardar una imagen de manera automatizada. Lo he intendado y no consigo hacerlo.

Gracias

Anónimo dijo...

Hola,,

Lo primero felicitarte por tu gran blog, muy interesante y de gran ayuda.

Lo segundo es comentarte una duda:
Donde exactamente habria que ubicar la imagen?, lo he intentado y siempre me da el mismo error, no encuentra HOME/PARTIMAG/NOMBRE DE IMAGEN.

Saludos.

Manuel Saina dijo...

hola necesito hacer una copia automatizada, quiero copiar la sda1 en sda5/home/ como un archivo gnu-img y la partición sda2 en sda5/home con el nombre seven-img se podrá hacer dos entradas en el grub que entre para hacer dicha tarea? gracias!

Esteban M. Navas Martín dijo...

Sí es posible crear una entrada para crear una copia automatizada de particiones. Además puedes hacerlo como mejor te interese: Crear una sóla entrada que te realice la copia de las dos particiones o una entrada para cada partición. Eso depende de lo que a tí te interese.

La mejor manera de ver cuál es la entrada que debes añadir es usando el asistente de clonezilla. Al final, antes de comenzar el proceso de creación de la copia te mostrará el comando que realiza dicha copia.

desferr dijo...

Hola, Esteban,

Después de muchas vueltas buscando información he dado con tu blog. No sé si me podrías orientar. Tengo que restaurar un portátil escolar. Lleva un sistema operativo basado en Ubuntu y la partición de sistema está mal.

En la partición oculta FAT32 (Restaura) sda7 hay dos directorios: home y live-hd. Al parecer la estructura es similar a la que describes en esta entrada.

En home/partimag/lenovo a parte de otros ficheros, hay dos imágenes ( sda1.ext4-ptcl-img.gz.aa, sda6.ext4-ptcl-img.gz.aa) que corresponden a la partición (Sistema) y (Datos) respectivamente.

En live-hd está initrd1.img, restaurasda1, restaurasda6,restaura.lst, restauraall, restauratodo, etc.

Arrancando con el liveCD de Clonezilla y siguiendo el asistente no ve las imágenes y por tanto no muestra las opciones de restoredisk y restoreparts. Me imagino que el sistema de restauración debe de estar hecho de algún modo similar al que tu describes (automatizado) pero no logro dar con él. ¿Me podrías ayudar? Gracias.

Saludos!

Ferran Moreno

desferr dijo...

Hola, Esteban,

Después de muchas vueltas buscando información he dado con tu blog. No sé si me podrías orientar. Tengo que restaurar un portátil escolar. Lleva un sistema operativo basado en Ubuntu y la partición de sistema está mal.

En la partición oculta FAT32 (Restaura) sda7 hay dos directorios: home y live-hd. Al parecer la estructura es similar a la que describes en esta entrada.

En home/partimag/lenovo a parte de otros ficheros, hay dos imágenes ( sda1.ext4-ptcl-img.gz.aa, sda6.ext4-ptcl-img.gz.aa) que corresponden a la partición (Sistema) y (Datos) respectivamente

En live-hd está initrd1.img, restaurasda1, restaurasda6,restaura.lst, restauraall, restauratodo, etc.

Arrancando con el liveCD de Clonezilla y siguiendo el asistente no ve las imágenes y por tanto no muestra las opciones de restoredisk y restoreparts. Me imagino que el sistema de restauración debe de estar hecho de algún modo similar al que tu describes (automatizado) pero no logro dar con él. ¿Me podrías ayudar? Gracias.

Saludos!

Ferran Moreno

Esteban M. Navas Martín dijo...

Hola, Ferran:

Por lo que me cuentas, en live-hd hay un conjunto de ficheros de restauración: restaurasda1, restaurasda6,restaura.lst, restauraall, restauratodo, etc.

Imagino que estos son ficheros de grub y que cada uno de ellos contiene una entrada de restauración en concreto. Por ejemplo, supongo que restaurasda1 restaurará la partición 1, restaurasda6 restaurará la partición 6, etc..

Echa un vistazo al contenido de esos ficheros y verás las opciones de restauración que buscas.

desferr dijo...

Hola, Esteban:

Gracias por la ayuda. He estado todo el fin de semana probando cosas, teniendo en cuenta el contenido de los ficheros que hay en /live-hd/ pero no logro dar con las órdenes concretas que pongan en funcionamiento el sistema de restauración. Te pongo el contenido de los ficheros 'menu.lst', 'mantenimiento.lst' y 'restaura.lst'.

El fichero /live-hd/menu.lst

# Modified by YaST2. Last modification on Tue Mar 20 16:49:57 CET 2012
# THIS FILE WILL BE PARTIALLY OVERWRITTEN by perl-Bootloader
# Configure custom boot parameters for updated kernels in /etc/sysconfig/bootloader

default 0
timeout 25
password 3141592 (hd0,4)/boot/grub/restaura.lst
##gfxmenu (hd0,4)/boot/message
##YaST - activate

###Don't change this comment - YaST2 identifier: Original name: windows###
title Windows 7
rootnoverify (hd0,0)
chainloader +1
makeactive

###Don't change this comment - YaST2 identifier: Original name: linux###
title Linkat
root (hd0,4)
kernel /boot/vmlinuz-3.3.0-1-desktop root=/dev/sda5 resume=/dev/sda6 splash=silent quiet showopts vga=0x314
initrd /boot/initrd-3.3.0-1-desktop


El fichero /live-hd/mantenimiento.lst

default 0
timeout 100

title Clonezilla
root (hd0,7)
kernel /live-hd/vmlinuz1 boot=live live-config noswap nomodeset edd=on live-media-path=/live-hd
bootfrom=/dev/sda6 ocs_live_run="" ocs_live_extra_param="" ocs_live_keymap="NONE" ocs_live_batch=""
ocs_lang="es_ES.UTF-8" vga=788 noprompt
initrd /live-hd/initrd1.img


El fichero /live-hd/restaura.lst

default 0
timeout 100

password 3141592 (hd0,4)/boot/grub/mantenimiento.lst

title Restaura Windows 7 Professional.
root (hd0,7)
kernel /live-hd/vmlinuz1 boot=live live-config noswap nomodeset edd=on live-media-path=/live-hd
bootfrom=/dev/sda6 ocs_live_run="/live/image/live-hd/restaurasda1" ocs_live_extra_param=""
ocs_live_keymap="NONE" ocs_live_batch="yes" ocs_lang="es_ES.UTF-8" vga=788 noprompt
initrd /live-hd/initrd1.img

title Restaura Linkat 4.0
root (hd0,7)
kernel /live-hd/vmlinuz1 boot=live live-config noswap nomodeset edd=on live-media-path=/live-hd
bootfrom=/dev/sda6 ocs_live_run="/live/image/live-hd/restaurasda5" ocs_live_extra_param=""
ocs_live_keymap="NONE" ocs_live_batch="yes" ocs_lang="es_ES.UTF-8" vga=788 noprompt
initrd /live-hd/initrd1.img

title Restaura Windows 7,Linkat 4.0.
root (hd0,7)
kernel /live-hd/vmlinuz1 boot=live live-config noswap nomodeset edd=on live-media-path=/live-hd
bootfrom=/dev/sda6 ocs_live_run="/live/image/live-hd/restauratodo" ocs_live_extra_param=""
ocs_live_keymap="NONE" ocs_live_batch="yes" ocs_lang="es_ES.UTF-8" vga=788 noprompt
initrd /live-hd/initrd1.img

Aunque hable también de Windows7 sólo tenía instalado linux (Linkat)

He probado Clonezilla, SuperGrub2, Parted Magic, arrancar esa partición desde OpenSUSE, etc y nada.

¿Qué puedo hacer para 'forzar' la recuperación?

¡Saludos y gracias!

Esteban M. Navas Martín dijo...

Pienso que lo más sencillo es que te montes un clonezilla en un dispositivo externo, ya sea un disco duro usb o un pendrive. Echa un vistazo a este artículo: http://enavas.blogspot.com.es/2012/03/clonezilla-y-drbl-en-el-mismo.html

Una vez que lo tengas instalado, copia los ficheros que forman las imágenes de restauración al disco o pendrive externo y utiliza los archivos para re-crear las entradas en el menú de clonezilla del dispositivo externo. Ten en cuenta que tienes que adaptarlas porque las que tienes en el disco duro son entradas de grub y las que vas a crear en el disco externo son de syslinux, pero no es difícil.

desferr dijo...

¡Por fin! Esteban,

Después de mil tribulaciones -estaba a punto de desistir- lo he conseguido con Clonezilla y las imágenes en un pendrive. Muchísimas gracias por tu ayuda. He aprendido varias cosas útiles.

Saludos,

Ferran

Ricardo dijo...

Hola!!

Cuando intento restaurr desde una imagen que esta en el pendrive con Clonzilla el sistema me dice que no encuentra la imagen: HOME/PARTIMAG/NOMBRE DE IMAGEN does not exist. Por favor me podrian ayudar!

Gracias!
Ricardo

Ricardo dijo...

Hola!!

Cuando intento restaurr desde una imagen que esta en el pendrive con Clonzilla el sistema me dice que no encuentra la imagen: HOME/PARTIMAG/NOMBRE DE IMAGEN does not exist. Por favor me podrian ayudar!

Gracias!
Ricardo

Anónimo dijo...

Hola!!

Cuando intento restaurr desde una imagen que esta en el pendrive con Clonzilla el sistema me dice que no encuentra la imagen: HOME/PARTIMAG/NOMBRE DE IMAGEN does not exist. Por favor me podrian ayudar!

Gracias!
Ricardo

pablo diaz dijo...

Buenas tenes que colocar la imagen que realizaste con el clonezille en la carpeta Home/partimag/
aparte tenes que modificar el codigo por el nombre de tu imagen en donde dice workstation-squeeze-ies-20120120


Muy Buen Tutorial
Gracias Esteban

Anónimo dijo...

Hay ciertas cosas del tutorial que no consigo, en primer lugar cundo ejecuto clonezilla desde un pendrive las opciones que me aparecen son las de grub, no las de syslinux, podrias explicar con que programa montas clonezilla en el usb para que te aparezcan opciones isolinux en vez de grub o como modificar grub para conseguir el mismo efecto.

Gracias

Esteban M. Navas Martín dijo...

No sé cómo has montado clonezilla en usb, pero te recomiendo que utilices ISO con clonezilla y drbl que preparé:

http://enavas.blogspot.com.es/2014/10/iso-de-clonezilla-drbl-para-montar-en.html

Como puedes leer en el post, tiene algunas modificaciones muy interesantes que le he hecho.

Anónimo dijo...

El problema es que al trabajar con una maquina UEFI creo que no tengo mas opción que editar grub.cfg

http://clonezilla.org/fine-print-live-doc.php?path=clonezilla-live/doc/99_Misc/00_live-boot-parameters.doc

Ya intente hacerlo con la imagen modificada.

¿Alguna solución?

Esteban M. Navas Martín dijo...

Te entiendo. Lo siento, pero no tengo ninguna máquina con UEFI para probar. Modifica el fichero de configuración de grub. Con grub puedes hacer lo mismo que con syslinux.

Anónimo dijo...

Ya que intentar echarme un cable me autorrespondo y aporto una solución bastante simple para crear imagenes de autorrestauracion en USB o DVD, tan solo debes pulas yes e intro 2 veces para iniciar la restauración.
Primero necesitas Universal usb installer y una imagen de clonezilla-sysresccd se monta como distro de clonecilla y se realiza una imagen con clonecilla, hasta aqui todo claro.
Despues volvemos a iniciar el proceso y en la opcion de restaurar aparece la opcion de crear un rar o una iso de restauracción, que se realiza a partir de la imagen guardada, recomiendo crear la iso y bien grabarla en dvd o bien montarla en un usb con universal usb instaler con la ultima opcion try unlisted linux iso, y ya tenemos un pendrive de autorrestauracion que hasta un mono podria usar.
PD: En time poner 1 si no queres que se vea el menu de clonezilla-sysresccd 30 segundos.

Esteban M. Navas Martín dijo...

Me parece muy bien. La opción de crear imágenes de autorestauración está bien para crear un dispositivo de autorestauración de una imagen. No obstante, lo más interesante de todo es personalizar el archivo syslinux.cfg o grub.cfg para que te permita restaurar más de una imagen, hacer que una imagen se autorestaure desde un servidor o incluir herramientas que te permitan realizar más cosas.

El disco duro que uso tiene entradas en syslinux.cfg para crear imágenes, restaurarlas e incluye otras herramientas que me son de gran utilidad como gparted, freedos, etc.

Clonezilla tiene una opción para crear una iso/zip a partir de una imagen creada previamente.