GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo copiar el diseño de partición de un disco completo usando herramientas estándar?

Quiero hacer una copia de seguridad de toda la partición diseño de un disco duro, incluidas las unidades lógicas, para poder restaurar ese diseño en otro disco. Yo no desea copiar el contenido de las particiones, solo el diseño. Para las particiones primaria y extendida, es fácil:

dd if=/dev/sda of=partitiontable.bin bs=1 skip=446 count=64 # backup
dd if=partitiontable.bin of=/dev/sda bs=1 seek=446 count=64 # restore

Pero cuando se trata del diseño de las particiones lógicas, me pregunto si existe entre las herramientas estándar una forma similar de guardar el diseño. Supongo que el principal problema es encontrar las compensaciones de las ubicaciones de los EBR, porque con eso, dd hará el resto. Tenga en cuenta que necesito poder volver a colocar todo en un disco (posiblemente) en blanco y, por lo tanto, restaurar el mismo diseño. Usar herramientas de partición como fdisk o parted está bien, pero debo poder automatizar su uso (secuencias de comandos) y no deberían depender de ningún paquete relacionado con X, solo línea de comando.

Mi plan de respaldo lo está haciendo manualmente en un pequeño script de python usando el módulo struct, pero esperaba que hubiera una manera más fácil.

Respuesta aceptada:

Puede usar sfdisk para esta tarea incluso en discos particionados GPT*.

Guardar:

sfdisk -d /dev/sdX > part_table

Restaurar manteniendo los mismos ID de disco y partición**:

sfdisk /dev/sdX < part_table

Restaurar generando nuevos ID de disco y partición**:

grep -v ^label-id part_table | sed -e 's/, *uuid=[0-9A-F-]*//' | sfdisk /dev/sdY

Notas

*:Para tablas de particiones GPT , esto requiere sfdisk desde util-linux 2.26 o posterior. Fue reescrito desde cero sobre libfdisk.

**:por defecto sfdisk copiará los ID de disco y partición sin cambios, en lugar de generar otros nuevos. Entonces, el nuevo disco será un clon del original, no solo otro disco con el mismo diseño. Tenga en cuenta que /dev/disk/by-uuid/ de Linux Sin embargo, mira los UUID del sistema de archivos, no los UUID en la tabla de particiones. sfdisk generará nuevos UUID si elimina las referencias a los ID de las particiones (, uuid=... ) y la referencia al id del disco (label-id: ... ) del basurero .


Linux
  1. Uso del comando mkfs en Linux para formatear el sistema de archivos en un disco o partición

  2. Cómo eliminar la partición del disco usando el comando Parted

  3. Cómo copiar un archivo a varios directorios usando el comando gnu cp

  4. Usando el comando cp en Linux Shell, ¿cómo copio un directorio completo en otro directorio?

  5. ¿Cómo averiguo qué está utilizando todo el espacio en mi partición /?

Cómo crear y administrar particiones de Linux usando Parted

Cómo cifrar la partición en Linux

Cómo crear particiones de disco en Linux

¿Cómo determinar qué está utilizando la mayor cantidad de espacio en disco en un servidor Linux?

Cómo crear una partición usando el comando "partid"

Cómo crear particiones de disco usando cfdisk