Clonezilla
es un software de clonado de sistemas en base a imágenes de disco, este puede ser arrancado desde un CDROM/USB/HD
permitiendo realizar las operaciones de backup desde un sistema ajeno al contenido del PC
.
Clonezilla
puede ser instalado en la unidad de arranque de dos formas distintas:
ISO
: Sistema solo compatible conCDROMs
, obviamente al tratarse de unCDROM
no podremos hacer backups en esta misma unidad.ZIP
: Se puede volcar a unUSB
oHD
, es el método mas flexible ya que nos permite realizar backups en el mismo disco donde está instalado. Este método tiene dos subvariantes dependiendo del sistema de boot delPC
:BIOS/EFI
.
Independientemente del método de instalación todos los pasos son exactamente iguales, la única diferencia es la manera de instalarlo.
Dejo a continuación un Ãndice para una lectura mas ágil del artÃculo:
- Conceptos básicos
- Modos de operación
- Tipos de repositorios
-
Instalación
ISO
-
Instalación
ZIP-EFI
-
Instalación
ZIP-BIOS
-
Instalación
ZIP-EFI/BIOS
- Backup: Linux-EFI+cifrado(abriendo)
- Restore: Linux-EFI+cifrado(abriendo)
- Backup: Linux-EFI+cifrado(sin abrir)
- Restore: Linux-EFI+cifrado(sin abrir)
- Backup: FreeBSD-BIOS
- Restore: FreeBSD-BIOS
- Backup: Windows-EFI
- Restore: Windows-EFI
- Algoritmos de compresión
- Automatización
- Personalización
- HD vs SSD
- Troubleshooting
Conceptos básicos:
Cifrado:
Clonezilla
permite cifrar los datos backupeados de tal manera que sin esta no es posible leer ni restaurar los datos, esto puede resultar un arma de doble filo en caso de no recordar el password de un backup antiguo, yo no recomiendo cifrar, si no guardar en un lugar seguro el disco.
No confundir este cifrado con el que pueda haber hecho previamente alguna herramienta como LUKS
por ejemplo. Otro aspecto importante a tener en cuenta es que si backupeamos un disco cifrado por alguna herramienta como LUKS
y proveemos el password, el backup se almacenará en plano.
Repositorio:
Un repositorio es el lugar donde leer/escribir los datos según estemos realizando un backup/restore. Si estamos ejecutando un backup se escribirán los datos en este, si estamos restaurando se leerán.
Herramientas disponibles:
Clonezilla
utiliza varias herramientas de backup según el sistema de ficheros, además en todas ellas solo se copiarán los datos realmente ocupados, no la partición entera(a excepción de dd
):
partimage
: Ext2, Ext3, FAT16, FAT32, NTFS (solo lectura), ReiserFS, HFS(solo lectura), XFS (solo lectura experimental), UFS/FFS.partclone
: Ext2, Ext3, Ext4, FAT12, FAT16, FAT32, NTFS, HFS+, ReiserFS, XFS, JFS, Btrfs, F2FS, UFS/FFS.dd
: Soporte universal.partclone.dd
: Soporte universal, igual quedd
pero con soporte para compresión.ntfsclone
: Utilizada en sistemasWindows
soporta exclusivamenteNTFS
.
Dejo unos ejemplos indicando en las capturas la herramienta utilizada:
Partclone.dd | Partclone |
---|---|
![]() |
![]() |
Si automatizamos el proceso de backup/restore podemos cambiar las prioridades de uso indicando los siguientes parámetros:
-q: Prioridad ntfsclone, partimage, dd
-q1: Solo dd
-q2: Prioridad partclone, partimage, dd
La opción por defecto es: partimage
, dd
.
Modos de operación:
Clonezilla permite operar de varias maneras:
- device-image: Genera imágenes a partir de discos enteros o particiones.
- device-device: Clona el disco entero a otro disco.
También proporciona funcionalidades en red, estas dos opciones son para casos puntuales en los que se requiere enviar o recibir el disco por red entre dos equipos:
- remote-source: EnvÃa su disco a otra máquina que esté en modo remote-dest.
- remote-dest: Recibe el disco de otra máquina que esté en modo remote-source.
Por otro lado tenemos la opción de tener un servidor central que cumplirá dos funciones, servir imágenes a los clientes o recibir imágenes de los clientes:
- lite-server: Servidor central que ofrece/recibe imágenes a muchos clientes en red.
- lite-client: Se conecta a un servidor central (lite-server) para descargar o enviar el disco.
Tipos de repositorios:
Clonezilla soporta el uso de repositorios tanto en dispositivos locales como en sistemas de archivos en red:
- local_dev: Dispositivos locales.
- ssh_server: Servidor
SSH
. - samba_server: Servidor
SAMBA
. - nfs_server: Servidor
NFS
. - av_server: Servidor
WebDAV
. - s3_server: Servidor
S3
. - enter_shell: Acceso a una shell para realizar las operaciones que consideremos necesarias para configurar un repositorio .
- ram_disk: Usa la memoria RAM para guardar la imagen temporalmente, podrÃa resultar útil en casos de clonado de discos dentro del mismo equipo.
- skip: Se utiliza el directorio /home/partimag que ahora mismo está en
RAM
.
Instalación ISO:
Descargamos de la
web de Clonezilla
el fichero ISO
:
Instalamos cdrecord
:
apt install cdrecord
Quemamos la ISO
en el CDROM
:
cdrecord dev=/dev/cdrom blank=disc
cdrecord dev=/dev/cdrom -dao /home/kr0m/Descargas/clonezilla-live-3.2.2-15-amd64.iso
Podemos ver el arranque mediante ISO
en el siguiente video:
Instalación ZIP-EFI:
Descargamos de la
web de Clonezilla
el fichero ZIP
:
Creamos dos particiones en el disco duro, una para Clonezilla
y otra donde almacenaremos nuestros backups(
repositorio
):
fdisk /dev/sdX
Creamos una tabla de particiones GPT
nueva:
Command (m for help): g
Created a new GPT disklabel (GUID: B3128585-1D62-4141-B54E-D065C1662A8B).
Creamos una partición de 500M donde instalar Clonezilla
:
Command (m for help): n
Partition number (1-128, default 1):
First sector (2048-1894920014, default 2048):
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-1894920014, default 1894918143): +500M
Ahora la partición donde guardaremos los backups:
Command (m for help): n
Partition number (2-128, default 2):
First sector (1026048-1894920014, default 1026048):
Last sector, +/-sectors or +/-size{K,M,G,T,P} (1026048-1894920014, default 1894918143):
Comprobamos el estado actual del disco:
Command (m for help): p
Disk /dev/sde: 903.57 GiB, 970199064576 bytes, 1894920048 sectors
Disk model: EXT
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: BE811FD9-BDAE-8644-9D21-37DCAFCA0861
Device Start End Sectors Size Type
/dev/sde1 2048 1026047 1024000 500M Linux filesystem
/dev/sde2 1026048 1894918143 1893892096 903.1G Linux filesystem
Guardamos los cambios:
Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.
Formateamos la primera partición en VFAT
:
mkfs.vfat -F 32 /dev/sdX1
Y la segunda en Ext4
:
mkfs.ext4 -L "Backups" /dev/sdX2
Extraemos clonezilla-live-3.2.2-15-amd64.zip
a /dev/sdX1:
mount /dev/sdX1 /mnt/aux
unzip /home/kr0m/clonezilla-live-3.2.2-15-amd64.zip -d /mnt/aux
Desmontamos el disco:
cd
umount /mnt/aux
Podemos ver el arranque mediante EFI
en el siguiente video:
Instalación ZIP-BIOS:
Descargamos de la
web de Clonezilla
el fichero ZIP
:
Creamos dos particiones en el disco duro, una para Clonezilla
y otra donde almacenaremos nuestros backups(
repositorio
):
fdisk /dev/sdX
Creamos una tabla de particiones nueva MBR
:
Command (m for help): o
Created a new DOS (MBR) disklabel with disk identifier 0x397f9ef2.
Creamos una partición de 500M donde instalar Clonezilla
:
Command (m for help): n
Partition type
p primary (0 primary, 0 extended, 4 free)
e extended (container for logical partitions)
Select (default p):
Using default response p.
Partition number (1-4, default 1):
First sector (2048-1894920047, default 2048):
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-1894920047, default 1894920047): +500M
Ahora la partición donde guardaremos los backups:
Command (m for help): n
Partition type
p primary (1 primary, 0 extended, 3 free)
e extended (container for logical partitions)
Select (default p):
Using default response p.
Partition number (2-4, default 2):
First sector (1026048-1894920047, default 1026048):
Last sector, +/-sectors or +/-size{K,M,G,T,P} (1026048-1894920047, default 1894920047):
Comprobamos el estado actual del disco:
Command (m for help): p
Disk /dev/sde: 903.57 GiB, 970199064576 bytes, 1894920048 sectors
Disk model: EXT
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0x397f9ef2
Device Boot Start End Sectors Size Id Type
/dev/sde1 2048 1026047 1024000 500M 83 Linux
/dev/sde2 1026048 1894920047 1893894000 903.1G 83 Linux
Guardamos los cambios:
Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.
Formateamos la primera partición en VFAT
:
mkfs.vfat -F 32 /dev/sdX1
Y la segunda en Ext4
:
mkfs.ext4 -L "Backups" /dev/sdX2
Extraemos clonezilla-live-3.2.2-15-amd64.zip
a /dev/sdX1:
mount /dev/sdX1 /mnt/aux
unzip /home/kr0m/clonezilla-live-3.2.2-15-amd64.zip -d /mnt/aux
Hacemos arrancable el disco, respondemos y
a todo:
cd /mnt/aux/utils/linux
bash makeboot.sh /dev/sdX1
This command will install MBR and syslinux/extlinux bootloader on /dev/sde
Clonezilla files are assumed to be on /dev/sde1
--------------------------------------------
Machine: System Product Name:
Model: sobetter EXT (scsi)
Disk /dev/sde: 970GB
Sector size (logical/physical): 512B/4096B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 1049kB 525MB 524MB primary fat32
2 525MB 970GB 970GB primary ext4
--------------------------------------------
Are you sure you want to continue?
[y/n] y
OK! Let's do it!
--------------------------------------------
File system of /dev/sde1: vfat
--------------------------------------------
sde1 is not marked as bootable! The partition table of /dev/sde:
--------------------------------------------
System Product Name:
Model: sobetter EXT (scsi)
Disk /dev/sde: 970GB
Sector size (logical/physical): 512B/4096B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 1049kB 525MB 524MB primary fat32
2 525MB 970GB 970GB primary ext4
--------------------------------------------
Do you want to mark it as bootable ?
[y/n] y
OK! Let's do it!
Running: parted -s /dev/sde set 1 boot on
--------------------------------------------
Do you want to install MBR on /dev/sde on this machine "System Product Name" ?
[y/n] y
OK! Let's do it!
Running: cat "/mnt/aux/utils/mbr/mbr.bin" > /dev/sde
--------------------------------------------
Do you want to install the syslinux boot files on /dev/sde1 on this machine "System Product Name" ?
[y/n] y
OK! Let's do it!
A filesystem supporting Unix file mode for syslinux is required. Copying syslinux to /tmp/linux_tmp.3IsDu2
'/mnt/aux/utils/linux/x64/syslinux' -> '/tmp/linux_tmp.3IsDu2/syslinux'
Running: "/tmp/linux_tmp.3IsDu2/syslinux" -d syslinux -f -i "/dev/sde1"
Hidden (2048) does not match sectors (63)
Hidden (2048) does not match sectors (63)
Hidden (2048) does not match sectors (63)
Hidden (2048) does not match sectors (63)
Hidden (2048) does not match sectors (63)
Hidden (2048) does not match sectors (63)
//NOTE// If your USB flash drive fails to boot (maybe buggy BIOS), try to use "syslinux -d syslinux -fs /dev/sde1", i.e. running with "-fs".
syslinux ran successfully in installation mode.
Done!
Desmontamos el disco:
cd
umount /mnt/aux
Podemos ver el arranque mediante BIOS
en el siguiente video:
Instalación ZIP-EFI/BIOS:
La gran mayorÃa de sistemas EFI
soportan boot legacy mediante BIOS
, asà que si generamos un disco de arranque para BIOS
seguramente nos valga para toda clase de sistemas.
Backup: Linux+cifrado(abriendo)
En este modo debemos tener en cuenta que los datos almacenados en el backup estarán en claro, siendo vulnerables a miradas indiscretas con acceso al disco de backups.
Configuramos el lenguaje:
Configuramos el layout del teclado:
Nos dá a elegir entre arrancar Clonezilla
o abrir una shell de Linux
, arrancamos Clonezilla
:
Clonezilla
permite operar de
varias maneras
, en nuestro caso queremos almacenar el disco entero en formato imagen, asà que elegimos device-image
:
Clonezilla
soporta el uso de
repositorios
de
distintas Ãndoles
, nosotros nos decantamos por local_dev
ya que el
repositorio
es local:
Nos informa de que si queremos utilizar un disco que no hayamos conectado, ahora es el momento:
Nos muestra en tiempo real los discos del sistema:
Seleccionamos la partición donde tenemos el
repositorio
:
Nos pregunta si queremos hacer un fsck
del sistema de ficheros del repositorio, en mi caso es Ext4
y una comprobación extra nunca viene mal:
En caso de tener el repositorio en un subdirectorio, debemos indicarlo aquÃ:
Path on the resource: /dev/sdb2[/] --> Muestra el Dispositivo+[Directorio]: El dispositivo no puede cambiar ya que se seleccionó en un paso anterior, solo cambiará el Directorio según el path que seleccionemos.
Current selected dir name: "/" --> Path del directorio.
Mi
repositorio
se encuentra directamente en RaÃz
asà que el path es /, le damos a Done
:
Nos informa de que ha montado el /tmp/ocsroot_bind_root
en /home/partimag
mediante --bind
(final de la foto):
Nos pregunta el modo en el que queremos operar, Beginner
es una buena opción si no se requiere de ningún ajuste fino como es el caso:
En este punto se nos presentará un menú u otro dependiendo de si hemos hecho algún backup previo en el disco, a nosotros nos interesa generar la imagen del disco entero savedisk
:
Sin backup previo | Con backup previo |
---|---|
![]() |
![]() |
Indicamos el nombre de la imagen:
Indicamos el origen de los datos:
Si el disco está cifrado como es mi caso(LUKS
), nos preguntará si queremos abrir el dispositivo. Si lo abrimos podremos backupear/restaurar solo los datos útiles (no el espacio vacÃo), lo que acelerará el proceso.
El
método de compresión
de la imágen:
Nos está preguntando si deseamos realizar un fsck
del sistema de ficheros origen.
Comprobar una vez generada la imagen si esta es restaurable:
En mi caso no voy a cifrar la imagen(no confundir el cifrado de Clonezilla
con el LUKS
del SO
):
En este paso pregunta si debe guardar logs de las operaciones realizadas:
Nos pregunta que debe hacer una vez realizadas todas las operaciones:
Nos informa del comando que va a ejecutar:
Nos pregunta una confirmación para proceder:
Nos pide el password para descifrar el disco LUKS
:
El disco consta de 3 particiones, a continuación una captura de pantalla del backup de cada una de ellas:
![]() |
![]() |
![]() |
NOTA: En mi caso ha llevado unos 8m dumpear un disco SSD
de 120G(17.2G en uso) a un disco mecánico de 2.5 conectado por USB
mediante una caja externa.
Comprueba las imágenes de cada partición:
![]() |
![]() |
![]() |
Resumen sobre la tareas realizadas:
Cuando termine nos preguntará que hacer:
Un dato importante es que según la compresión elegida , el backup ocupará mas o menos:
z1p
: 120G -> 8.3Gz9p
: 120G -> 7,6G
Restore: Linux+cifrado(abriendo)
El proceso de restore es muy similar al de backup.
Configuramos el lenguaje:
Configuramos el layout del teclado:
Nos dá a elegir entre arrancar Clonezilla
o abrir una shell de Linux
, arrancamos Clonezilla
:
Clonezilla
permite operar de
varias maneras
, en nuestro caso queremos almacenar el disco entero en formato imagen, asà que elegimos device-image
:
Clonezilla
soporta el uso de
repositorios
de
distintas Ãndoles
, nosotros nos decantamos por local_dev
ya que el
repositorio
es local:
Nos informa de que si queremos utilizar un disco que no hayamos conectado, ahora es el momento:
Nos muestra en tiempo real los discos del sistema:
Seleccionamos la partición donde tenemos el
repositorio
:
Nos pregunta si queremos hacer un fsck
del sistema de ficheros del repositorio, en mi caso es Ext4
y una comprobación extra nunca viene mal:
En caso de tener el repositorio en un subdirectorio, debemos indicarlo aquÃ:
Path on the resource: /dev/sdb2[/] --> Muestra el Dispositivo+[Directorio]: El dispositivo no puede cambiar ya que se seleccionó en un paso anterior, solo cambiará el Directorio según el path que seleccionemos.
Current selected dir name: "/" --> Path del directorio.
Mi
repositorio
se encuentra directamente en RaÃz
asà que el path es /, le damos a Done
:
Nos informa de que ha montado el /tmp/ocsroot_bind_root
en /home/partimag
mediante --bind
(final de la foto):
Nos pregunta el modo en el que queremos operar, Beginner
es una buena opción si no se requiere de ningún ajuste fino como es el caso:
Indicamos que queremos realizar un restore de una imagen a disco restoredisk
:
Indicamos el nombre de la imagen:
Indicamos el destino de la restauración:
Que tabla de particiones queremos utilizar:
- Conservar la original.
- Crear una nueva: Útil para restores en discos de tamaño distinto al del que se backupeó.
Indicamos si queremos comprobar la imagen antes de restaurarla:
En este paso pregunta si debe guardar logs de las operaciones realizadas:
Nos pregunta que debe hacer una vez realizadas todas las operaciones:
Nos informa del comando que va a ejecutar:
El disco consta de 3 particiones, comprueba que cada una de ellas sea restaurable:
![]() |
![]() |
![]() |
Nos pregunta una confirmación para proceder:
Pide el password del disco LUKS
, no porqué los datos del backup estén cifrados, si no porque está intentando restaurar los datos del backup a un disco que si que está cifrado:
El disco consta de 3 particiones, a continuación una captura de pantalla del restore de cada una de ellas:
![]() |
![]() |
![]() |
NOTA: En mi caso ha llevado unos 8m restaurar un disco SSD
de 120G(17.3G en uso) desde un disco mecánico de 2.5 conectado por USB
mediante una caja externa.
Resumen sobre la tareas realizadas:
Cuando termine nos preguntará que hacer:
Backup: Linux+cifrado(sin abrir)
Configuramos el lenguaje:
Configuramos el layout del teclado:
Nos dá a elegir entre arrancar Clonezilla
o abrir una shell de Linux
, arrancamos Clonezilla
:
Clonezilla
permite operar de
varias maneras
, en nuestro caso queremos almacenar el disco entero en formato imagen, asà que elegimos device-image
:
Clonezilla
soporta el uso de
repositorios
de
distintas Ãndoles
, nosotros nos decantamos por local_dev
ya que el
repositorio
es local:
Nos informa de que si queremos utilizar un disco que no hayamos conectado, ahora es el momento:
Nos muestra en tiempo real los discos del sistema:
Seleccionamos la partición donde tenemos el
repositorio
:
Nos pregunta si queremos hacer un fsck
del sistema de ficheros del repositorio, en mi caso es Ext4
y una comprobación extra nunca viene mal:
En caso de tener el repositorio en un subdirectorio, debemos indicarlo aquÃ:
Path on the resource: /dev/sdb2[/] --> Muestra el Dispositivo+[Directorio]: El dispositivo no puede cambiar ya que se seleccionó en un paso anterior, solo cambiará el Directorio según el path que seleccionemos.
Current selected dir name: "/" --> Path del directorio.
Mi
repositorio
se encuentra directamente en RaÃz
asà que el path es /, le damos a Done
:
Nos informa de que ha montado el /tmp/ocsroot_bind_root
en /home/partimag
mediante --bind
(final de la foto):
Nos pregunta el modo en el que queremos operar, Beginner
es una buena opción si no se requiere de ningún ajuste fino como es el caso:
En este punto se nos presentará un menú u otro dependiendo de si hemos hecho algún backup previo en el disco, a nosotros nos interesa generar la imagen del disco entero savedisk
:
Sin backup previo | Con backup previo |
---|---|
![]() |
![]() |
Indicamos el nombre de la imagen:
Indicamos el origen de los datos:
Si el disco está cifrado como es mi caso(LUKS
), nos preguntará si queremos abrir el dispositivo. Si lo abrimos podremos backupear/restaurar solo los datos útiles (no el espacio vacÃo), lo que acelerará el proceso. Pero en esta ocasión queremos hacer la prueba sin abrirlo.
El
método de compresión
de la imágen:
Nos está preguntando si deseamos realizar un fsck
del sistema de ficheros origen.
Comprobar una vez generada la imagen si esta es restaurable:
En mi caso no voy a cifrar la imagen(no confundir el cifrado de Clonezilla
con el LUKS
del SO
):
En este paso pregunta si debe guardar logs de las operaciones realizadas:
Nos pregunta que debe hacer una vez realizadas todas las operaciones:
Nos informa del comando que va a ejecutar:
Nos pregunta una confirmación para proceder:
El disco consta de 3 particiones, a continuación una captura de pantalla del backup de cada una de ellas:
![]() |
![]() |
![]() |
NOTA: Podemos ver que la partición cifrada la está clonando mediante partclone.dd
y está copiándola entera. En mi caso ha llevado unos 11m dumpear un disco SSD
de 120G a un disco mecánico de 2.5 conectado por USB
mediante una caja externa.
Comprueba las imágenes de cada partición menos de la que se realizó mediante dd
(por estar cifrada):
Image was saved by dd or partclone.dd. No need or no way to check the file system integrity.
![]() |
![]() |
Resumen sobre la tareas realizadas:
Cuando termine nos preguntará que hacer:
Un dato importante es que según la compresión elegida , el backup ocupará mas o menos:
z1p
: 120G -> 20Gz9p
: 120G -> 20G
Comparando abriendo el dispositivo LUKS
y sin abrirlo, obtenemos los siguientes resultados:
Abriendo | Sin abrir(
partclone.dd
) |
---|---|
z1p : 120G -> 8.3G |
z1p : 120G -> 20G |
z9p : 120G -> 7.6G |
z9p : 120G -> 20G |
Restore: Linux+cifrado(sin abrir)
El proceso de restore es muy similar al de backup.
Configuramos el lenguaje:
Configuramos el layout del teclado:
Nos dá a elegir entre arrancar Clonezilla
o abrir una shell de Linux
, arrancamos Clonezilla
:
Clonezilla
permite operar de
varias maneras
, en nuestro caso queremos almacenar el disco entero en formato imagen, asà que elegimos device-image
:
Clonezilla
permite operar de
varias maneras
, en nuestro caso queremos almacenar el disco entero en formato imagen, asà que elegimos device-image
:
Nos informa de que si queremos utilizar un disco que no hayamos conectado, ahora es el momento:
Nos muestra en tiempo real los discos del sistema:
Seleccionamos la partición donde tenemos el
repositorio
:
Nos pregunta si queremos hacer un fsck
del sistema de ficheros del repositorio, en mi caso es Ext4
y una comprobación extra nunca viene mal:
En caso de tener el repositorio en un subdirectorio, debemos indicarlo aquÃ:
Path on the resource: /dev/sdb2[/] --> Muestra el Dispositivo+[Directorio]: El dispositivo no puede cambiar ya que se seleccionó en un paso anterior, solo cambiará el Directorio según el path que seleccionemos.
Current selected dir name: "/" --> Path del directorio.
Mi
repositorio
se encuentra directamente en RaÃz
asà que el path es /, le damos a Done
:
Nos informa de que ha montado el /tmp/ocsroot_bind_root
en /home/partimag
mediante --bind
(final de la foto):
Nos pregunta el modo en el que queremos operar, Beginner
es una buena opción si no se requiere de ningún ajuste fino como es el caso:
Indicamos que queremos realizar un restore de una imagen a disco restoredisk
:
Indicamos el nombre de la imagen:
Indicamos el destino de la restauración:
Que tabla de particiones queremos utilizar:
- Conservar la original.
- Crear una nueva: Útil para restores en discos de tamaño distinto al del que se backupeó.
Indicamos si queremos comprobar la imagen antes de restaurarla:
En este paso pregunta si debe guardar logs de las operaciones realizadas:
Nos pregunta que debe hacer una vez realizadas todas las operaciones:
Nos informa del comando que va a ejecutar:
El disco consta de 3 particiones, comprueba que cada una de ellas sea restaurable a excepción de la que está cifrada:
Image was saved by dd or partclone.dd. No need or no way to check the file system integrity.
![]() |
![]() |
Nos pregunta una confirmación para proceder:
El disco consta de 3 particiones, a continuación una captura de pantalla del restore de cada una de ellas:
![]() |
![]() |
![]() |
NOTA: En mi caso ha llevado unos 11m restaurar un disco SSD
de 120G desde un disco mecánico de 2.5 conectado por USB
mediante una caja externa.
Resumen sobre la tareas realizadas:
Cuando termine nos preguntará que hacer:
Backup: FreeBSD-BIOS
Configuramos el lenguaje:
Configuramos el layout del teclado:
Nos dá a elegir entre arrancar Clonezilla
o abrir una shell de Linux
, arrancamos Clonezilla
:
Clonezilla
permite operar de
varias maneras
, en nuestro caso queremos almacenar el disco entero en formato imagen, asà que elegimos device-image
:
Clonezilla
soporta el uso de
repositorios
de
distintas Ãndoles
, nosotros nos decantamos por local_dev
ya que el
repositorio
es local:
Nos informa de que si queremos utilizar un disco que no hayamos conectado, ahora es el momento:
Nos muestra en tiempo real los discos del sistema:
Seleccionamos la partición donde tenemos el
repositorio
:
Nos pregunta si queremos hacer un fsck
del sistema de ficheros del repositorio, en mi caso es Ext4
y una comprobación extra nunca viene mal:
En caso de tener el repositorio en un subdirectorio, debemos indicarlo aquÃ:
Path on the resource: /dev/sdb2[/] --> Muestra el Dispositivo+[Directorio]: El dispositivo no puede cambiar ya que se seleccionó en un paso anterior, solo cambiará el Directorio según el path que seleccionemos.
Current selected dir name: "/" --> Path del directorio.
Mi
repositorio
se encuentra directamente en RaÃz
asà que el path es /, le damos a Done
:
Nos informa de que ha montado el /tmp/ocsroot_bind_root
en /home/partimag
mediante --bind
(final de la foto):
Nos pregunta el modo en el que queremos operar, Beginner
es una buena opción si no se requiere de ningún ajuste fino como es el caso:
En este punto se nos presentará un menú u otro dependiendo de si hemos hecho algún backup previo en el disco, a nosotros nos interesa generar la imagen del disco entero savedisk
:
Sin backup previo | Con backup previo |
---|---|
![]() |
![]() |
Indicamos el nombre de la imagen:
Indicamos el origen de los datos:
El
método de compresión
de la imágen:
Nos está preguntando si deseamos realizar un fsck
del sistema de ficheros origen, en este caso se trata de un sistema de ficheros
ZFS
, asà que elegimos -sfsck
:
Comprobar una vez generada la imagen si esta es restaurable:
En mi caso no voy a cifrar la imagen:
En este paso pregunta si debe guardar logs de las operaciones realizadas:
Nos pregunta que debe hacer una vez realizadas todas las operaciones:
Nos informa del comando que va a ejecutar:
Nos pregunta una confirmación para proceder:
El disco consta de 3 particiones, a continuación una captura de pantalla del backup de cada una de ellas:
![]() |
![]() |
![]() |
NOTA: En mi caso ha llevado unas 5h30m dumpear un disco SSD
de 1T a un disco mecánico de 2.5 conectado por USB
mediante una caja externa.
No vemos como comprueba las particiones porque se ha realizado mediante dd
y no lo soporta, el mensaje en cuestión es:
Image was saved by dd or partclone.dd. No need or no way to check the file system integrity.
Resumen sobre la tareas realizadas:
Cuando termine nos preguntará que hacer:
Un dato importante es que según la compresión elegida , el backup ocupará mas o menos:
z1p
: 1Tb -> 696Gz9p
: 1Tb -> 599G
Restore: FreeBSD-BIOS
El proceso de restore es muy similar al de backup.
Configuramos el lenguaje:
Configuramos el layout del teclado:
Nos dá a elegir entre arrancar Clonezilla
o abrir una shell de Linux
, arrancamos Clonezilla
:
Clonezilla
permite operar de
varias maneras
, en nuestro caso queremos almacenar el disco entero en formato imagen, asà que elegimos device-image
:
Clonezilla
soporta el uso de
repositorios
de
distintas Ãndoles
, nosotros nos decantamos por local_dev
ya que el
repositorio
es local:
Nos informa de que si queremos utilizar un disco que no hayamos conectado, ahora es el momento:
Nos muestra en tiempo real los discos del sistema:
Seleccionamos la partición donde tenemos el
repositorio
:
Nos pregunta si queremos hacer un fsck
del sistema de ficheros del repositorio, en mi caso es Ext4
y una comprobación extra nunca viene mal:
En caso de tener el repositorio en un subdirectorio, debemos indicarlo aquÃ:
Path on the resource: /dev/sdb2[/] --> Muestra el Dispositivo+[Directorio]: El dispositivo no puede cambiar ya que se seleccionó en un paso anterior, solo cambiará el Directorio según el path que seleccionemos.
Current selected dir name: "/" --> Path del directorio.
Mi
repositorio
se encuentra directamente en RaÃz
asà que el path es /, le damos a Done
:
Nos informa de que ha montado el /tmp/ocsroot_bind_root
en /home/partimag
mediante --bind
(final de la foto):
Nos pregunta el modo en el que queremos operar, Beginner
es una buena opción si no se requiere de ningún ajuste fino como es el caso:
Indicamos que queremos realizar un restore de una imagen a disco restoredisk
:
Indicamos el nombre de la imagen:
Indicamos si queremos comprobar la imagen antes de restaurarla:
En este paso pregunta si debe guardar logs de las operaciones realizadas:
Nos pregunta que debe hacer una vez realizadas todas las operaciones:
Nos informa del comando que va a ejecutar:
Nos pregunta una confirmación para proceder:
No comprueba las particiones porque se ha realizado mediante dd
y no lo soporta, el mensaje en cuestión es:
Image was saved by dd or partclone.dd. No need or no way to check the file system integrity.
El disco consta de 3 particiones, a continuación una captura de pantalla del restore de cada una de ellas:
![]() |
![]() |
![]() |
NOTA: En mi caso ha llevado unas 5h30m restarurar un disco SSD
de 1T desde un disco mecánico de 2.5 conectado por USB
mediante una caja externa.
Resumen sobre la tareas realizadas:
Cuando termine nos preguntará que hacer:
Backup: Windows
Configuramos el lenguaje:
Configuramos el layout del teclado:
Nos dá a elegir entre arrancar Clonezilla
o abrir una shell de Linux
, arrancamos Clonezilla
:
Clonezilla
permite operar de
varias maneras
, en nuestro caso queremos almacenar el disco entero en formato imagen, asà que elegimos device-image
:
Clonezilla
soporta el uso de
repositorios
de
distintas Ãndoles
, nosotros nos decantamos por local_dev
ya que el
repositorio
es local:
Nos informa de que si queremos utilizar un disco que no hayamos conectado, ahora es el momento:
Nos muestra en tiempo real los discos del sistema:
Seleccionamos la partición donde tenemos el
repositorio
:
Nos pregunta si queremos hacer un fsck
del sistema de ficheros del repositorio, en mi caso es Ext4
y una comprobación extra nunca viene mal:
En caso de tener el repositorio en un subdirectorio, debemos indicarlo aquÃ:
Path on the resource: /dev/sdb2[/] --> Muestra el Dispositivo+[Directorio]: El dispositivo no puede cambiar ya que se seleccionó en un paso anterior, solo cambiará el Directorio según el path que seleccionemos.
Current selected dir name: "/" --> Path del directorio.
Mi
repositorio
se encuentra directamente en RaÃz
asà que el path es /, le damos a Done
:
Nos informa de que ha montado el /tmp/ocsroot_bind_root
en /home/partimag
mediante --bind
(final de la foto):
Nos pregunta el modo en el que queremos operar, Beginner
es una buena opción si no se requiere de ningún ajuste fino como es el caso:
En este punto se nos presentará un menú u otro dependiendo de si hemos hecho algún backup previo en el disco, a nosotros nos interesa generar la imagen del disco entero savedisk
:
Sin backup previo | Con backup previo |
---|---|
![]() |
![]() |
Indicamos el nombre de la imagen:
Indicamos el origen de los datos:
El
método de compresión
de la imágen:
Nos está preguntando si deseamos realizar un fsck
del sistema de ficheros origen, en este caso se trata de un sistema de ficheros NTFS
, asà que elegimos -sfsck
:
Comprobar una vez generada la imagen si esta es restaurable:
En mi caso no voy a cifrar la imagen:
En este paso pregunta si debe guardar logs de las operaciones realizadas:
Nos pregunta que debe hacer una vez realizadas todas las operaciones:
Nos informa del comando que va a ejecutar:
Nos pregunta una confirmación para proceder:
El disco consta de 4 particiones, a continuación una captura de pantalla del backup de cada una de ellas:
![]() |
![]() |
![]() |
![]() |
NOTA: En mi caso ha llevado unas 3h dumpear un disco SSD
de 500G con 205.7G ocupados a un disco mecánico de 2.5 conectado por USB
mediante una caja externa.
Comprueba cada una de las imágenes generadas:
![]() |
![]() |
![]() |
Resumen sobre la tareas realizadas:
Cuando termine nos preguntará que hacer:
Un dato importante es que según la compresión elegida , el backup ocupará mas o menos:
z1p
: 500G -> 180Gz9p
: 500G -> 179G
Restore: Windows
El proceso de restore es muy similar al de backup.
Configuramos el lenguaje:
Configuramos el layout del teclado:
Nos dá a elegir entre arrancar Clonezilla
o abrir una shell de Linux
, arrancamos Clonezilla
:
Clonezilla
permite operar de
varias maneras
, en nuestro caso queremos almacenar el disco entero en formato imagen, asà que elegimos device-image
:
Clonezilla
soporta el uso de
repositorios
de
distintas Ãndoles
, nosotros nos decantamos por local_dev
ya que el
repositorio
es local:
Nos informa de que si queremos utilizar un disco que no hayamos conectado, ahora es el momento:
Nos muestra en tiempo real los discos del sistema:
Seleccionamos la partición donde tenemos el
repositorio
:
Nos pregunta si queremos hacer un fsck
del sistema de ficheros del repositorio, en mi caso es Ext4
y una comprobación extra nunca viene mal:
En caso de tener el repositorio en un subdirectorio, debemos indicarlo aquÃ:
Path on the resource: /dev/sdb2[/] --> Muestra el Dispositivo+[Directorio]: El dispositivo no puede cambiar ya que se seleccionó en un paso anterior, solo cambiará el Directorio según el path que seleccionemos.
Current selected dir name: "/" --> Path del directorio.
Mi
repositorio
se encuentra directamente en RaÃz
asà que el path es /, le damos a Done
:
Nos informa de que ha montado el /tmp/ocsroot_bind_root
en /home/partimag
mediante --bind
(final de la foto):
Nos pregunta el modo en el que queremos operar, Beginner
es una buena opción si no se requiere de ningún ajuste fino como es el caso:
Indicamos que queremos realizar un restore de una imagen a disco restoredisk
:
Indicamos el nombre de la imagen:
Indicamos el disco destino:
Que tabla de particiones queremos utilizar:
- Conservar la original.
- Crear una nueva: Útil para restores en discos de tamaño distinto al del que se backupeó.
Indicamos si queremos comprobar la imagen antes de restaurarla:
En este paso pregunta si debe guardar logs de las operaciones realizadas:
Nos pregunta que debe hacer una vez realizadas todas las operaciones:
Nos informa del comando que va a ejecutar:
El disco consta de 4 particiones, a continuación una captura de pantalla del chequeo previo a la restauración de cada una de ellas:
![]() |
![]() |
![]() |
NOTA: En mi caso ha llevado una 1h comprobar un disco SSD
de 500Gb con 205.7Gb ocupados desde un disco mecánico de 2.5 conectado por USB
mediante una caja externa.
Pide confirmación para restaurar:
El disco consta de 4 particiones, a continuación una captura de pantalla del restore de cada una de ellas:
![]() |
![]() |
![]() |
![]() |
NOTA: En mi caso ha llevado unas 3h restaurar un disco SSD
de 500Gb con 205.7Gb ocupados desde un disco mecánico de 2.5 conectado por USB
mediante una caja externa.
Resumen sobre la tareas realizadas:
Cuando termine nos preguntará que hacer:
Algoritmos de compresión:
Según el modo en el que estemos operando podremos acceder a unos algoritmos de compresión u otros:
Begginer:
-z1p
-z9p
Expert:
Option | Algorithm | Size (1=worst, 10=best) | Speed (1=slowest, 10=fastest) |
---|---|---|---|
-z0 | No compression | 1 | 10 |
-z1 | gzip | 5 | 6 |
-z1p | pigz (parallel gzip) | 5 | 8 |
-z2 | bzip2 | 7 | 3 |
-z2p | pbzip2 (parallel bzip2) | 7 | 5 |
-z3 | LZO | 3 | 9 |
-z4 | LZMA | 9 | 2 |
-z5 | xz | 10 | 1 |
-z5p | pxz (parallel xz) | 10 | 3 |
-z6 | lzip | 9 | 2 |
-z6p | plzip (parallel lzip) | 9 | 4 |
-z7 | lrzip | 8-10* | 3-6* |
-z8 | lz4 | 4 | 9 |
-z8p | lz4mt | 4 | 10 |
-z9 | zstd | 8 | 7 |
-z9p | zstdmt | 8 | 8 |
Dejo el resultado de algunas pruebas en un sistema Windows
como referencia:
z1p: 500G(205.7G ocupados) -> 180G
z9p: 500G(205.7G ocupados) -> 179G
z5p: 500G(205.7G ocupados) -> 179G
Automatización
Cuando ejecutamos Clonezilla
de forma manual, podemos ver los comandos que va ejecutando, esto resulta muy útil ya que para automatizar el proceso tan solo debemos reproducir los mismos comandos.
Montamos la partición donde se instaló Clonezilla
para editar la configuración:
mkdir /mnt/aux 2>/dev/null
mount /dev/sdX1 /mnt/aux
Es posible hacer un preseed
de los parámetros de Clonezilla
para automatizar los backups/restores, en
la documentación
podemos consultar cada uno de ellos.
Los parámetros de ocs-sr
podemos verlos
aquÃ
. Normalmente utilizaremos los mostrados por Clonezilla
cuando realizamos el backup/restore manualmente, pero con ligeros cambios.
Configuración regional:
locales=en_US.UTF-8
Layout del teclado:
keyboard-layouts=us
Partición donde esté el repositorio de Clonezilla, la configuraremos por UUID
para evitar problemas en caso de tener mas unidades USB
conectadas cuando realizamos el backup:
lsblk -o NAME,UUID,LABEL,FSTYPE
sde
├─sde1 C635-A671 vfat
└─sde2 7f4ae4a7-df39-4cab-a723-9fe57ec70fcf Backups ext4
ocs_prerun="mount UUID=7f4ae4a7-df39-4cab-a723-9fe57ec70fcf /mnt"
Directorio donde esté el repositorio, en este caso “/”:
ocs_prerun1="mount --bind /mnt /home/partimag/"
Comando a ejecutar, para backupear/restaurar:
Backup: ocs_live_run="ocs-sr --batch -luks yes -q2 -j2 -z9p -i 0 -fsck-y -senc -p poweroff savedisk backupImageLinuxLuksOpened sda"
Restore: ocs_live_run="ocs-sr --batch -g auto -e1 auto -e2 -r -j2 -k0 -p poweroff restoredisk backupImageLinuxLuksOpened sda"
Backup: ocs_live_run="ocs-sr --batch -luks no -q2 -j2 -z9p -i 0 -fsck-y -senc -p poweroff savedisk backupImageLinuxLuksClosed sda"
Restore: ocs_live_run="ocs-sr --batch -g auto -e1 auto -e2 -r -j2 -k0 -p poweroff restoredisk backupImageLinuxLuksClosed sda"
Backup: ocs_live_run="ocs-sr --batch -q2 -j2 -z9p -i 0 -sfsck -senc -p poweroff savedisk backupImageFreeBSD sda"
Restore: ocs_live_run="ocs-sr --batch -g auto -e1 auto -e2 -r -j2 -k0 -p poweroff restoredisk backupImageFreeBSD sda"
Backup: ocs_live_run="ocs-sr --batch -q2 -j2 -z9p -i 0 -sfsck -senc -p poweroff savedisk backupImageWindoz sda"
Restore: ocs_live_run="ocs-sr --batch -g auto -e1 auto -e2 -r -j2 -k0 -p poweroff restoredisk backupImageWindoz sda"
Si el sistema tiene el disco cifrado solo podremos automatizar completamente el proceso si no abrimos el dispositivo LUKS
ya que de este modo no requerirá contraseña ni ningún input por parte del usuario.
En caso contrario se tendrá que introducir el password tanto para el backup como para el restore:
Backup | Restore |
---|---|
![]() |
![]() |
Si necesitamos afinar el comando proporcionado por Clonezilla
podemos ver todas las opciones en la
documentación oficial.
A continuación el significado de cada parámetro según el sistema.
Backup:
ocs-sr [OPTION] {savedisk|saveparts|restoredisk|restoreparts} IMAGE DEVICE
-b, -batch, --batch (DANGEROUS!) Run program in batch mode, i.e. without any prompt or wait for pressing enter key. //NOTE// You have to use '-batch' instead of '-b' when you want to use it in the boot parameters. Otherwise the program init on system will honor '-b', too.
-luks, --enable-luks MODE Open LUKS device or not. MODE can be either yes or no.
-q2, --use-partclone Use partclone to save partition(s) (i.e. partclone > partimage > dd).
-j2, --clone-hidden-data Use dd to clone the image of the data between MBR (1st sector, i.e. 512 bytes) and 1st partition, which might be useful for some recovery tool.
-z9p, --zstdmt-compress Compress using zstdmt when saving.
-i, --image-size SIZE Set the split image file volume size SIZE (MB). When ocs-sr is run with -x, the default SIZE is set as 0, if without -x, we will not split it.
-fsck-y, --skip-fsck-src-part Skip running fsck on the source file system before saving it.
-senc, --skip-enc-ocs-img Skip encrypting the image with passphrase.
-p, --postaction [choose|poweroff|reboot|command|CMD] When save/restoration finishes, choose action in the client, poweroff, reboot (default), in command prompt or run CMD
ocs-sr [OPTION] {savedisk|saveparts|restoredisk|restoreparts} IMAGE DEVICE
-b, -batch, --batch (DANGEROUS!) Run program in batch mode, i.e. without any prompt or wait for pressing enter key. //NOTE// You have to use '-batch' instead of '-b' when you want to use it in the boot parameters. Otherwise the program init on system will honor '-b', too.
-luks, --enable-luks MODE Open LUKS device or not. MODE can be either yes or no.
-q2, --use-partclone Use partclone to save partition(s) (i.e. partclone > partimage > dd).
-j2, --clone-hidden-data Use dd to clone the image of the data between MBR (1st sector, i.e. 512 bytes) and 1st partition, which might be useful for some recovery tool.
-z9p, --zstdmt-compress Compress using zstdmt when saving.
-i, --image-size SIZE Set the split image file volume size SIZE (MB). When ocs-sr is run with -x, the default SIZE is set as 0, if without -x, we will not split it.
-fsck-y, --skip-fsck-src-part Skip running fsck on the source file system before saving it.
-senc, --skip-enc-ocs-img Skip encrypting the image with passphrase.
-p, --postaction [choose|poweroff|reboot|command|CMD] When save/restoration finishes, choose action in the client, poweroff, reboot (default), in command prompt or run CMD
ocs-sr [OPTION] {savedisk|saveparts|restoredisk|restoreparts} IMAGE DEVICE
-b, -batch, --batch (DANGEROUS!) Run program in batch mode, i.e. without any prompt or wait for pressing enter key. //NOTE// You have to use '-batch' instead of '-b' when you want to use it in the boot parameters. Otherwise the program init on system will honor '-b', too.
-q2, --use-partclone Use partclone to save partition(s) (i.e. partclone > partimage > dd).
-j2, --clone-hidden-data Use dd to clone the image of the data between MBR (1st sector, i.e. 512 bytes) and 1st partition, which might be useful for some recovery tool.
-z9p, --zstdmt-compress Compress using zstdmt when saving.
-i, --image-size SIZE Set the split image file volume size SIZE (MB). When ocs-sr is run with -x, the default SIZE is set as 0, if without -x, we will not split it.
-sfsck, --skip-fsck-src-part Skip running fsck on the source file system before saving it.
-senc, --skip-enc-ocs-img Skip encrypting the image with passphrase.
-p, --postaction [choose|poweroff|reboot|command|CMD] When save/restoration finishes, choose action in the client, poweroff, reboot (default), in command prompt or run CMD
ocs-sr [OPTION] {savedisk|saveparts|restoredisk|restoreparts} IMAGE DEVICE
-b, -batch, --batch (DANGEROUS!) Run program in batch mode, i.e. without any prompt or wait for pressing enter key. //NOTE// You have to use '-batch' instead of '-b' when you want to use it in the boot parameters. Otherwise the program init on system will honor '-b', too.
-q2, --use-partclone Use partclone to save partition(s) (i.e. partclone > partimage > dd).
-j2, --clone-hidden-data Use dd to clone the image of the data between MBR (1st sector, i.e. 512 bytes) and 1st partition, which might be useful for some recovery tool.
-z9p, --zstdmt-compress Compress using zstdmt when saving.
-i, --image-size SIZE Set the split image file volume size SIZE (MB). When ocs-sr is run with -x, the default SIZE is set as 0, if without -x, we will not split it.
-fsck-y, --skip-fsck-src-part Skip running fsck on the source file system before saving it.
-senc, --skip-enc-ocs-img Skip encrypting the image with passphrase.
-p, --postaction [choose|poweroff|reboot|command|CMD] When save/restoration finishes, choose action in the client, poweroff, reboot (default), in command prompt or run CMD
Restore:
ocs-sr [OPTION] {savedisk|saveparts|restoredisk|restoreparts} IMAGE DEVICE
-b, -batch, --batch (DANGEROUS!) Run program in batch mode, i.e. without any prompt or wait for pressing enter key. //NOTE// You have to use '-batch' instead of '-b' when you want to use it in the boot parameters. Otherwise the program init on system will honor '-b', too.
-g, --grub-install GRUB_PARTITION Install grub in the MBR of the disk containing partition GRUB_PARTITION with root grub directory in the same GRUB_PARTITION when restoration finishes, GRUB_PARTITION can be one of "/dev/sda1", "/dev/sda2"... or "auto" ("auto" will let clonezilla detect the grub root partition automatically). If "auto" is assigned, it will work if grub partition and root partition are not in the same partition.
-e1, --change-geometry NTFS-BOOT-PARTITION Force to change the CHS (cylinders, heads, sectors) value of NTFS boot partition after image is restored. NTFS-BOOT-PARTITION can be one of "/dev/sda1", "/dev/sda2"... or "auto" ("auto" will let clonezilla detect the NTFS boot partition automatically)
-e2, --load-geometry-from-edd Force to use the CHS (cylinders, heads, sectors) from EDD (Enhanced Disk Device) when creating partition table by sfdisk
-r, --resize-partition Resize the partition when restoration finishes, this will resize the file system size to fit the partition size. It is normally used when when a small partition image is restored to a larger partition.
-j2, --clone-hidden-data Use dd to clone the image of the data between MBR (1st sector, i.e. 512 bytes) and 1st partition, which might be useful for some recovery tool. When this option is used, it only works for restoredisk mode, not the restoreparts one
-k0, Create partition table based on the partition table from the image. this is the same as as default. Just an option to let us explain the action easier.
-p, --postaction [choose|poweroff|reboot|command|CMD] When save/restoration finishes, choose action in the client, poweroff, reboot (default), in command prompt or run CMD
ocs-sr [OPTION] {savedisk|saveparts|restoredisk|restoreparts} IMAGE DEVICE
-b, -batch, --batch (DANGEROUS!) Run program in batch mode, i.e. without any prompt or wait for pressing enter key. //NOTE// You have to use '-batch' instead of '-b' when you want to use it in the boot parameters. Otherwise the program init on system will honor '-b', too.
-g, --grub-install GRUB_PARTITION Install grub in the MBR of the disk containing partition GRUB_PARTITION with root grub directory in the same GRUB_PARTITION when restoration finishes, GRUB_PARTITION can be one of "/dev/sda1", "/dev/sda2"... or "auto" ("auto" will let clonezilla detect the grub root partition automatically). If "auto" is assigned, it will work if grub partition and root partition are not in the same partition.
-e1, --change-geometry NTFS-BOOT-PARTITION Force to change the CHS (cylinders, heads, sectors) value of NTFS boot partition after image is restored. NTFS-BOOT-PARTITION can be one of "/dev/sda1", "/dev/sda2"... or "auto" ("auto" will let clonezilla detect the NTFS boot partition automatically)
-e2, --load-geometry-from-edd Force to use the CHS (cylinders, heads, sectors) from EDD (Enhanced Disk Device) when creating partition table by sfdisk
-r, --resize-partition Resize the partition when restoration finishes, this will resize the file system size to fit the partition size. It is normally used when when a small partition image is restored to a larger partition.
-j2, --clone-hidden-data Use dd to clone the image of the data between MBR (1st sector, i.e. 512 bytes) and 1st partition, which might be useful for some recovery tool. When this option is used, it only works for restoredisk mode, not the restoreparts one
-k0, Create partition table based on the partition table from the image. this is the same as as default. Just an option to let us explain the action easier.
-p, --postaction [choose|poweroff|reboot|command|CMD] When save/restoration finishes, choose action in the client, poweroff, reboot (default), in command prompt or run CMD
ocs-sr [OPTION] {savedisk|saveparts|restoredisk|restoreparts} IMAGE DEVICE
-b, -batch, --batch (DANGEROUS!) Run program in batch mode, i.e. without any prompt or wait for pressing enter key. //NOTE// You have to use '-batch' instead of '-b' when you want to use it in the boot parameters. Otherwise the program init on system will honor '-b', too.
-g, --grub-install GRUB_PARTITION Install grub in the MBR of the disk containing partition GRUB_PARTITION with root grub directory in the same GRUB_PARTITION when restoration finishes, GRUB_PARTITION can be one of "/dev/sda1", "/dev/sda2"... or "auto" ("auto" will let clonezilla detect the grub root partition automatically). If "auto" is assigned, it will work if grub partition and root partition are not in the same partition.
-e1, --change-geometry NTFS-BOOT-PARTITION Force to change the CHS (cylinders, heads, sectors) value of NTFS boot partition after image is restored. NTFS-BOOT-PARTITION can be one of "/dev/sda1", "/dev/sda2"... or "auto" ("auto" will let clonezilla detect the NTFS boot partition automatically)
-e2, --load-geometry-from-edd Force to use the CHS (cylinders, heads, sectors) from EDD (Enhanced Disk Device) when creating partition table by sfdisk
-r, --resize-partition Resize the partition when restoration finishes, this will resize the file system size to fit the partition size. It is normally used when when a small partition image is restored to a larger partition.
-j2, --clone-hidden-data Use dd to clone the image of the data between MBR (1st sector, i.e. 512 bytes) and 1st partition, which might be useful for some recovery tool. When this option is used, it only works for restoredisk mode, not the restoreparts one
-k0, Create partition table based on the partition table from the image. this is the same as as default. Just an option to let us explain the action easier.
-p, --postaction [choose|poweroff|reboot|command|CMD] When save/restoration finishes, choose action in the client, poweroff, reboot (default), in command prompt or run CMD
ocs-sr [OPTION] {savedisk|saveparts|restoredisk|restoreparts} IMAGE DEVICE
-b, -batch, --batch (DANGEROUS!) Run program in batch mode, i.e. without any prompt or wait for pressing enter key. //NOTE// You have to use '-batch' instead of '-b' when you want to use it in the boot parameters. Otherwise the program init on system will honor '-b', too.
-g, --grub-install GRUB_PARTITION Install grub in the MBR of the disk containing partition GRUB_PARTITION with root grub directory in the same GRUB_PARTITION when restoration finishes, GRUB_PARTITION can be one of "/dev/sda1", "/dev/sda2"... or "auto" ("auto" will let clonezilla detect the grub root partition automatically). If "auto" is assigned, it will work if grub partition and root partition are not in the same partition.
-e1, --change-geometry NTFS-BOOT-PARTITION Force to change the CHS (cylinders, heads, sectors) value of NTFS boot partition after image is restored. NTFS-BOOT-PARTITION can be one of "/dev/sda1", "/dev/sda2"... or "auto" ("auto" will let clonezilla detect the NTFS boot partition automatically)
-e2, --load-geometry-from-edd Force to use the CHS (cylinders, heads, sectors) from EDD (Enhanced Disk Device) when creating partition table by sfdisk
-r, --resize-partition Resize the partition when restoration finishes, this will resize the file system size to fit the partition size. It is normally used when when a small partition image is restored to a larger partition.
-j2, --clone-hidden-data Use dd to clone the image of the data between MBR (1st sector, i.e. 512 bytes) and 1st partition, which might be useful for some recovery tool. When this option is used, it only works for restoredisk mode, not the restoreparts one
-k0, Create partition table based on the partition table from the image. this is the same as as default. Just an option to let us explain the action easier.
-p, --postaction [choose|poweroff|reboot|command|CMD] When save/restoration finishes, choose action in the client, poweroff, reboot (default), in command prompt or run CMD
Según el sistema de arranque que utilice el sistema, debemos configurar un fichero u otro, hacemos backups de los dos ficheros de configuración:
cp /mnt/aux/syslinux/syslinux.cfg /mnt/aux/syslinux/syslinux.cfg.ori
cp /mnt/aux/boot/grub/grub.cfg /mnt/aux/boot/grub/grub.cfg.ori
vi /mnt/aux/boot/grub/grub.cfg
menuentry "BackupLinuxLUKSOpened" --id BackupLinuxLUKSOpened {
search --set -f /live/vmlinuz
$linux_cmd /live/vmlinuz boot=live union=overlay username=user config components quiet loglevel=3 ocs_1_cpu_udev noswap edd=on nomodeset enforcing=0 noeject locales=en_US.UTF-8 keyboard-layouts=us ocs_prerun="mount UUID=7f4ae4a7-df39-4cab-a723-9fe57ec70fcf /mnt" ocs_prerun1="mount --bind /mnt /home/partimag/" ocs_live_batch="yes" ocs_live_run="ocs-sr --batch -luks yes -q2 -j2 -z9p -i 0 -fsck-y -senc -p poweroff savedisk backupImageLinuxLuksOpened sda" ocs_live_extra_param="" vga=788 net.ifnames=0 nosplash i915.blacklist=yes radeonhd.blacklist=yes nouveau.blacklist=yes vmwgfx.enable_fbdev=1 scsi_mod.use_blk_mq=0 nvme.poll_queues=1
$initrd_cmd /live/initrd.img
}
menuentry "RestoreLinuxLUKSOpened" --id RestoreLinuxLUKSOpened {
search --set -f /live/vmlinuz
$linux_cmd /live/vmlinuz boot=live union=overlay username=user config components quiet loglevel=3 ocs_1_cpu_udev noswap edd=on nomodeset enforcing=0 noeject locales=en_US.UTF-8 keyboard-layouts=us ocs_prerun="mount UUID=7f4ae4a7-df39-4cab-a723-9fe57ec70fcf /mnt" ocs_prerun1="mount --bind /mnt /home/partimag/" ocs_live_batch="yes" ocs_live_run="ocs-sr --batch -g auto -e1 auto -e2 -r -j2 -k0 -p poweroff restoredisk backupImageLinuxLuksOpened sda" ocs_live_extra_param="" vga=788 net.ifnames=0 nosplash i915.blacklist=yes radeonhd.blacklist=yes nouveau.blacklist=yes vmwgfx.enable_fbdev=1 scsi_mod.use_blk_mq=0 nvme.poll_queues=1
$initrd_cmd /live/initrd.img
}
vi /mnt/aux/boot/grub/grub.cfg
menuentry "BackupLinuxLUKSClosed" --id BackupLinuxLUKSClosed {
search --set -f /live/vmlinuz
$linux_cmd /live/vmlinuz boot=live union=overlay username=user config components quiet loglevel=3 ocs_1_cpu_udev noswap edd=on nomodeset enforcing=0 noeject locales=en_US.UTF-8 keyboard-layouts=us ocs_prerun="mount UUID=7f4ae4a7-df39-4cab-a723-9fe57ec70fcf /mnt" ocs_prerun1="mount --bind /mnt /home/partimag/" ocs_live_batch="yes" ocs_live_run="ocs-sr --batch -luks no -q2 -j2 -z9p -i 0 -fsck-y -senc -p poweroff savedisk backupImageLinuxLuksClosed sda" ocs_live_extra_param="" vga=788 net.ifnames=0 nosplash i915.blacklist=yes radeonhd.blacklist=yes nouveau.blacklist=yes vmwgfx.enable_fbdev=1 scsi_mod.use_blk_mq=0 nvme.poll_queues=1
$initrd_cmd /live/initrd.img
}
menuentry "RestoreLinuxLUKSClosed" --id RestoreLinuxLUKSClosed {
search --set -f /live/vmlinuz
$linux_cmd /live/vmlinuz boot=live union=overlay username=user config components quiet loglevel=3 ocs_1_cpu_udev noswap edd=on nomodeset enforcing=0 noeject locales=en_US.UTF-8 keyboard-layouts=us ocs_prerun="mount UUID=7f4ae4a7-df39-4cab-a723-9fe57ec70fcf /mnt" ocs_prerun1="mount --bind /mnt /home/partimag/" ocs_live_batch="yes" ocs_live_run="ocs-sr --batch -g auto -e1 auto -e2 -r -j2 -k0 -p poweroff restoredisk backupImageLinuxLuksClosed sda" ocs_live_extra_param="" vga=788 net.ifnames=0 nosplash i915.blacklist=yes radeonhd.blacklist=yes nouveau.blacklist=yes vmwgfx.enable_fbdev=1 scsi_mod.use_blk_mq=0 nvme.poll_queues=1
$initrd_cmd /live/initrd.img
}
vi /mnt/aux/syslinux/syslinux.cfg
label BackupFreeBSD
MENU DEFAULT
# MENU HIDE
MENU LABEL BackupFreeBSD
# MENU PASSWD
kernel /live/vmlinuz
append initrd=/live/initrd.img boot=live union=overlay username=user config components quiet noswap edd=on nomodeset enforcing=0 ocs_prerun="mount UUID=7f4ae4a7-df39-4cab-a723-9fe57ec70fcf /mnt" ocs_prerun1="mount --bind /mnt /home/partimag/" ocs_live_batch="yes" ocs_live_run="ocs-sr --batch -q2 -j2 -z9p -i 0 -sfsck -senc -p poweroff savedisk backupImageFreeBSD sda" ocs_live_extra_param="" keyboard-layouts=NONE locales=en_US.UTF-8 vga=788 ip= nosplash net.ifnames=0 splash i915.blacklist=yes radeonhd.blacklist=yes nouveau.blacklist=yes vmwgfx.enable_fbdev=1
TEXT HELP
* Backup FreeBSD system
ENDTEXT
label RestoreFreeBSD
# MENU DEFAULT
# MENU HIDE
MENU LABEL RestoreFreeBSD
# MENU PASSWD
kernel /live/vmlinuz
append initrd=/live/initrd.img boot=live union=overlay username=user config components quiet noswap edd=on nomodeset enforcing=0 ocs_prerun="mount UUID=7f4ae4a7-df39-4cab-a723-9fe57ec70fcf /mnt" ocs_prerun1="mount --bind /mnt /home/partimag/" ocs_live_batch="yes" ocs_live_run="ocs-sr --batch -g auto -e1 auto -e2 -r -j2 -k0 -p poweroff restoredisk backupImageFreeBSD sda" ocs_live_extra_param="" keyboard-layouts=NONE locales=en_US.UTF-8 vga=788 ip= nosplash net.ifnames=0 splash i915.blacklist=yes radeonhd.blacklist=yes nouveau.blacklist=yes vmwgfx.enable_fbdev=1
TEXT HELP
* Restore FreeBSD system
ENDTEXT
vi /mnt/aux/boot/grub/grub.cfg
menuentry "BackupWindoz" --id BackupWindoz {
search --set -f /live/vmlinuz
$linux_cmd /live/vmlinuz boot=live union=overlay username=user config components quiet loglevel=3 ocs_1_cpu_udev noswap edd=on nomodeset enforcing=0 noeject locales=en_US.UTF-8 keyboard-layouts=us ocs_prerun="mount UUID=7f4ae4a7-df39-4cab-a723-9fe57ec70fcf /mnt" ocs_prerun1="mount --bind /mnt /home/partimag/" ocs_live_batch="yes" ocs_live_run="ocs-sr --batch -q2 -j2 -z9p -i 0 -sfsck -senc -p poweroff savedisk backupImageWindoz sda" ocs_live_extra_param="" vga=788 net.ifnames=0 nosplash i915.blacklist=yes radeonhd.blacklist=yes nouveau.blacklist=yes vmwgfx.enable_fbdev=1 scsi_mod.use_blk_mq=0 nvme.poll_queues=1
$initrd_cmd /live/initrd.img
}
menuentry "RestoreWindoz" --id RestoreWindoz {
search --set -f /live/vmlinuz
$linux_cmd /live/vmlinuz boot=live union=overlay username=user config components quiet loglevel=3 ocs_1_cpu_udev noswap edd=on nomodeset enforcing=0 noeject locales=en_US.UTF-8 keyboard-layouts=us ocs_prerun="mount UUID=7f4ae4a7-df39-4cab-a723-9fe57ec70fcf /mnt" ocs_prerun1="mount --bind /mnt /home/partimag/" ocs_live_batch="yes" ocs_live_run="ocs-sr --batch -g auto -e1 auto -e2 -r -j2 -k0 -p poweroff restoredisk backupImageWindoz sda" ocs_live_extra_param="" vga=788 net.ifnames=0 nosplash i915.blacklist=yes radeonhd.blacklist=yes nouveau.blacklist=yes vmwgfx.enable_fbdev=1 scsi_mod.use_blk_mq=0 nvme.poll_queues=1
$initrd_cmd /live/initrd.img
}
NOTA: En GRUB-EFI
la entrada por defecto es la primera de la lista, en SysLinux-BIOS
debemos indicarlo mediante el parámetro MENU DEFAULT
, debemos quitarlo de la entrada por defecto de Clonezilla
y asignarlo a la entrada que deseemos.
Desmontamos la partición:
umount /mnt/aux
Ahora al arrancar deberÃamos de poder ver las opciones nuevas de cada SO
:
EFI | BIOS |
---|---|
![]() |
![]() |
Dejo un video acelerado de la ejecución automática del backup de cada sistema:
Linux-EFI-LUKS-Opened | Linux-EFI-LUKS-Closed | FreeBSD-BIOS | Windoz-EFI |
---|---|---|---|
También de la ejecución automática del restore:
Linux-EFI-LUKS-Opened | Linux-EFI-LUKS-Closed | FreeBSD-BIOS | Windoz-EFI |
---|---|---|---|
Personalización:
Imagen bootloader:
Montamos la partición donde se instaló Clonezilla
para editar la configuración GRUB
/SysLinux
:
mkdir /mnt/aux 2>/dev/null
mount /dev/sdX1 /mnt/aux
Generamos una imagen por cada sistema de arranque, para ello nos basaremos en las existentes para que sea lo mas parecida posible a estas:
convert /home/kr0m/clonezillaMenu.png -resize $(identify -format "%wx%h" /mnt/aux/boot/grub/ocswp-grub2.png) -quality $(identify -format "%Q" /mnt/aux/boot/grub/ocswp-grub2.png) /mnt/aux/boot/grub/CUSTOM_IMAGE.png
convert /home/kr0m/clonezillaMenu.png -resize $(identify -format "%wx%h" /mnt/aux/syslinux/ocswp.png) -quality $(identify -format "%Q" /mnt/aux/syslinux/ocswp.png) /mnt/aux/syslinux/CUSTOM_IMAGE.png
Debemos configurar GRUB
para sistemas EFI
o SysLinux
para sistemas BIOS
, cambiamos la imagen y el esquema de colores para que quede mas “cool”:
vi /mnt/aux/boot/grub/grub.cfg
if background_image $pref/CUSTOM_IMAGE.png; then
set color_normal=cyan/black
set color_highlight=magenta/black
else
set color_normal=cyan/blue
set color_highlight=white/blue
fi
vi /mnt/aux/syslinux/syslinux.cfg
MENU BACKGROUND CUSTOM_IMAGE.png
# Set the color for unselected menu item and timout message
MENU COLOR UNSEL 7;32;41 #f904e9ff #00000000
MENU COLOR TIMEOUT_MSG 7;32;41 #c0000090 #00000000
MENU COLOR TIMEOUT 7;32;41 #c0000090 #00000000
MENU COLOR HELP 7;32;41 #c0000090 #00000000
Desmontamos la partición:
umount /mnt/aux
El resultado final es el siguiente:
EFI | BIOS |
---|---|
![]() |
![]() |
Bloqueo edición entradas bootloader:
Montamos la partición donde se instaló Clonezilla
para editar la configuración GRUB
/SysLinux
:
mkdir /mnt/aux 2>/dev/null
mount /dev/sdX1 /mnt/aux
Debemos configurar GRUB
para sistemas EFI
o SysLinux
para sistemas BIOS
:
Generamos el hash del password con el que queramos proteger la edición:
grub-mkpasswd-pbkdf2 -> PBKDF2 hash of your password is grub.pbkdf2.sha512.10000.6369BC323B8D47700F030B95E6925711767A2FFBA42A15ECDA70F526FD168D26DCB10F678659C16BD35DF0755B0BBDD85C5BE6431B3FA096EF458483EAADBF8D.C6A72EB74DE77029677F2DDF159DCA09729B47B58D3A2089189AA4F7D77585AC304A1EB0C7DA5B91BF569C5F4D6915F65EEFF315A461D8FCE5BBE8D86E75251B
vi /mnt/aux/boot/grub/grub.cfg
# Añade al principio del archivo, después de los primeros set:
set superusers="root"
password_pbkdf2 root grub.pbkdf2.sha512.10000.6369BC323B8D47700F030B95E6925711767A2FFBA42A15ECDA70F526FD168D26DCB10F678659C16BD35DF0755B0BBDD85C5BE6431B3FA096EF458483EAADBF8D.C6A72EB74DE77029677F2DDF159DCA09729B47B58D3A2089189AA4F7D77585AC304A1EB0C7DA5B91BF569C5F4D6915F65EEFF315A461D8FCE5BBE8D86E75251B
Con esto pedirá password tanto para editar como para bootear entradas, si queremos que pueda bootear sin password pero siga pidiéndolo para la edición, debemos añadir `--unrestricted` a dichas entradas:
menuentry "ENTRY_NAME" --unrestricted --id ENTRY_ID {
Generamos el hash del password con el que queramos proteger la edición:
openssl passwd -1 "PASSWORD" -> $1$4FDprPSy$HjmXr.TBbS8MVbGp.oFT/1
vi /mnt/aux/syslinux/syslinux.cfg
# Añade al principio del archivo, antes de las entradas del menú:
MENU MASTER PASSWD $1$4FDprPSy$HjmXr.TBbS8MVbGp.oFT/1
Con esto pedirá password solo para editar entradas, si queremos que pida password también al bootearlas debemos añadir `MENU PASSWD` a dichas entradas:
MENU PASSWD
Desmontamos la partición:
umount /mnt/aux
Cuando intentemos editar las entradas nos pedirá el password:
EFI(user/pass) | BIOS(pass) |
---|---|
![]() |
![]() |
HD vs SSD:
A continuación una tabla comparativa de los tiempos de backup/restore en sistemas Linux/FreeBSD
en un disco mecánico HD
y en un SSD
.
NOTA: No he podido probarlo con Windows
ya que el equipo de pruebas era prestado y ya no disponÃa de este.
Operation | HD | SSD |
---|---|---|
Backup: Linux-EFI+cifrado(abriendo) | 8m | 7m |
Restore: Linux-EFI+cifrado(abriendo) | 8m | 8m |
Backup: Linux-EFI+cifrado(sin abrir) | 11m | 10m |
Restore: Linux-EFI+cifrado(sin abrir) | 11m | 11m |
Backup: FreeBSD-BIOS | 5h30m | 5h |
Restore: FreeBSD-BIOS | 5h30m | 5h |
Como podemos ver no hay una gran diferencia, seguramente porque el puerto USB
nos estará haciendo de cuello de botella.
Troubleshooting:
MBR y GPT detectados simultáneamente:
Si manipulamos las paticiones se puede dar el caso en el que el backup de Windows
detecte tanto una partición MBR
como GPT
:
Nos indica dos opciones que podremos ejecutar desde la shell de Clonezilla
:
- Si el sistema es
BIOS
, destruir la particiónGPT
:
sgdisk -z /dev/sdX
- Si el sistema es
EFI
, destruir la particiónMBR
:
dd if=/dev/zero of=/dev/sdX bs=512 count=1
NOTA: Mucho cuidado con lo que hacemos que se puede inutilizar el sistema fácilmente.
Guardado de logs:
Guardar siempre los logs puede resultar problemático ya que estos se acumulan en la partición donde está instalado Clonezilla
:
drwxr-xr-x 2 kr0m kr0m 4096 May 29 18:27 ocslog-20250529-1827
drwxr-xr-x 2 kr0m kr0m 4096 May 29 18:18 ocslog-20250529-1939
drwxr-xr-x 2 kr0m kr0m 4096 May 29 18:20 ocslog-20250529-2005
drwxr-xr-x 2 kr0m kr0m 4096 May 29 20:09 ocslog-20250529-2010
drwxr-xr-x 2 kr0m kr0m 4096 May 29 22:58 ocslog-20250529-2258