Erstellen Sie eine Partition mit einer exakten Größe, die nicht auf einen bestimmten Abstand beschränkt ist

11

Wie erstellt man eine Partition mit exakter Größe, die nicht auf eine bestimmte Entfernung abgestimmt ist?

Ich habe versucht:

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

Umsonst.

Wie kann ich dafür sorgen, dass Größe anstelle des Endabstands akzeptiert wird?

Ruckmodus
quelle
Welche Fehlermeldungen erhalten Sie? Funktioniert das parted -a optimal /dev/sdd mkpart primary 0GB 10GB?
Terdon

Antworten:

7

Ich denke parted, akzeptiert nur Absolutes, nicht x+y.

Sie könnten es so machen: ( +interpretiert von 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

... und wenn Sie mehr anhängen möchten, dann

# 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

Das +1ist völlig optional, ich mag es einfach, aus irgendeinem Grund 1 MB freie "Stoßstangen" zwischen Partitionen zu lassen.

Wenn Sie mit Prozentsätzen umgehen möchten, können Sie die Gerätegröße auch mithilfe von aus der Shell abrufen blockdev --getsize64 /dev/device, sodass Sie die gesamte Mathematik aus dem Teil in ein Shell-Skript verschieben können. Ich mache dies, um MiB-ausgerichtete Partitionen zu garantieren, da ich nie zu sicher bin, was partedgenau bedeutet -a optimal.

Frostschutz
quelle