Utwórz partycję o dokładnym rozmiarze, ale nie do określonej odległości

11

Jak tworzy się partycję o dokładnym rozmiarze, a nie na określoną odległość?

Próbowałem:

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

Bez skutku.

Jak ustawić akceptację rozmiaru zamiast odległości końcowej?

joltmode
źródło
Jakie otrzymujesz komunikaty o błędach? Czy parted -a optimal /dev/sdd mkpart primary 0GB 10GBdziała
terdon

Odpowiedzi:

7

Myślę, że partedakceptuje tylko absoluty, a nie x+y.

Możesz to zrobić w następujący sposób: ( +interpretowane przez powłokę)

# 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

... a jeśli chcesz dodać więcej, to

# 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

Jest +1to całkowicie opcjonalne, z jakiegoś powodu lubię zostawiać darmowe „zderzaki” między partycjami 1MiB.

Jeśli chcesz poradzić sobie z procentami, możesz również uzyskać rozmiar urządzenia z powłoki, używając blockdev --getsize64 /dev/device, dzięki czemu możesz przenieść całą matematykę z przedziałów do skryptu powłoki. Robię to, aby zagwarantować partycje dostosowane do MiB, ponieważ nigdy nie jestem zbyt pewny, co parteddokładnie znaczy -a optimal.

frostschutz
źródło