Créer une partition avec une taille exacte et non à une distance spécifique

11

Comment créer une partition de taille exacte et non à une distance spécifique?

J'ai essayé:

parted -a optimal /dev/sdd mkpart primary 0% 0%+1GB
# and...
parted -a optimal /dev/sdd mkpart primary 0% +1GB

En vain.

Comment puis-je lui faire accepter la taille au lieu de la distance finale?

joltmode
la source
Quels messages d'erreur obtenez-vous? Ça parted -a optimal /dev/sdd mkpart primary 0GB 10GBmarche?
terdon

Réponses:

7

Je pense partedque n'accepte que des absolus, non x+y.

Vous pouvez le faire comme ceci: ( +interprété par shell)

# start=1
# size=512
# parted /dev/loop0 unit mib mkpart primary $start $(($start+$size))
# parted /dev/loop0 unit mib print free
Model: Loopback device (loopback)
Disk /dev/loop0: 1000MiB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start    End      Size     File system  Name     Flags
        0.02MiB  1.00MiB  0.98MiB  Free Space
 1      1.00MiB  513MiB   512MiB                primary
        513MiB   1000MiB  487MiB   Free Space

... et si vous voulez ajouter plus, alors

# start=$(($start+$size+1))
# size=128
# parted /dev/loop0 unit mib mkpart primary $start $(($start+$size))
# parted /dev/loop0 unit mib print free                           
Model: Loopback device (loopback)
Disk /dev/loop0: 1000MiB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start    End      Size     File system  Name     Flags
        0.02MiB  1.00MiB  0.98MiB  Free Space
 1      1.00MiB  513MiB   512MiB                primary
        513MiB   514MiB   1.00MiB  Free Space
 2      514MiB   642MiB   128MiB                primary
        642MiB   1000MiB  358MiB   Free Space

Le +1est entièrement facultatif, j'aime juste laisser des "bumpers" libres de 1 Mo entre les partitions, pour une raison quelconque.

Si vous souhaitez traiter des pourcentages, vous pouvez également obtenir la taille du périphérique à partir du shell, en utilisant blockdev --getsize64 /dev/device, de sorte que vous pouvez déplacer tous les calculs de parted dans un script shell. Je fais cela pour garantir des partitions alignées MiB, car je ne suis jamais trop sûr de ce que partedsignifie exactement -a optimal.

frostschutz
la source