Hacer imagen del sistema operativo

Hacer imagen del sistema operativo

Estoy usando un dispositivo Nano Pi que tiene el sistema operativo Debian. La imagen del sistema operativo existe en su memoria interna (8 GB). El tamaño total de la memoria utilizada es de unos 4 GB. Quiero hacer una copia de seguridad de este sistema operativo en un archivo de imagen.

Después de hacer

dd if=/dev/mmcblk1 of=NanoPi.img bs=8M status=progress

El tamaño total del archivo de imagen sube hasta 8 GB. ¿Cómo puedo hacer la imagen solo de los usados ​​por memoria y no de todos?

Respuesta1

No puedes hacer esto fácilmente ddporque el dispositivo de bloque es solo un volcado de bytes. Puede contener datos de archivos eliminados hace mucho tiempo en espacio no asignado. ddNo es consciente de ello porque es trabajo del sistema de archivos. Tienes pocas opciones:

Sigue usando dd

... y aceptar un mayor uso del espacio. En lugar de eso, haz algo como dd if=/dev/mmcblk1 of=NanoPi.img bs=64K conv=noerror,sync status=progress. Un tamaño de bloque más pequeño le brinda un poco más de seguridad en caso de errores de lectura. Si ddno se puede leer al menos un sector, el resto del bloque no se procesará. El tamaño del bloque es la cantidad máxima de bytes que puede perder por un sector defectuoso. conv=noerrorgarantiza que la clonación continúe en caso de error. conv=syncdesplaza el puntero en el archivo de destino hacia adelante en caso de errores de lectura para que los datos permanezcan alineados y, por lo tanto, sean válidos.

Puede canalizar ddla salida gzippara comprimir datos y ahorrar algo de espacio: dd if=/dev/mmcblk1 bs=64K conv=noerror,sync status=progress | gzip -c > NanoPi.img.gz Para recuperar la imagen sin formato, haga gunzip -c ./NanoPi.img.gz > NanoPi.img.

Usar rsync

... y tratar con archivos sin formato. rsync -aAXv /path/to/mounted/mmcblk1 /path/to/destination/folder. Esto puede funcionar o no dependiendo de si su sistema de archivos está montado o no.

información relacionada