Automatizar el particionado de fdisk con sfdisk

Si bien es cierto que podemos utilizar fdisk en scripts, al ser un comando interactivo complica y «ensucia» un poco la ejecución dentro del script. Para ello disponemos de sfdisk, la variante «no interactiva» de fdisk que permite automatizar el particionado de discos.

Por ejemplo, si lo que vamos a hacer es automatizar el particionado de discos a partir de un disco base, simplemente tenemos que hacer un «dump» del disco /dev/sda que ya está particionado con el siguiente comando:

# sfdisk --dump /dev/sda

# partition table of /dev/sda
unit: sectors

/dev/sda1 : start=     2046, size= 51918850, Id= 5, bootable
/dev/sda2 : start= 51922080, size=260658016, Id=83
/dev/sda3 : start=        0, size=        0, Id= 0
/dev/sda4 : start=        0, size=        0, Id= 0
/dev/sda5 : start=     2048, size= 47747072, Id=83
/dev/sda6 : start= 47751168, size=  4169728, Id=82

El resultado lo podemos almacenar en un fichero a modo de plantilla:

# sfdisk --dump /dev/sda > sfdisk.template

Ahora, con ese fichero podríamos restaurar la tabla de particiones del disco si hubieramos tenido algún problema o directamente «clonar» esa tabla de particiones en un disco nuevo. Para ello especificamos el fichero con la plantilla (-I) y el disco de destino:

# sfdisk /dev/sda -I sfdisk.template

Encontraréis más información de utilidad en la página man de sfdisk.