특정 거리가 아닌 정확한 크기의 파티션 생성


11

특정 거리가 아닌 정확한 크기의 파티션을 어떻게 만들 수 있습니까?

나는 시도했다 :

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

아무 소용이 없습니다.

끝 거리 대신 크기를 받아들이려면 어떻게해야합니까?


어떤 오류 메시지가 나타 납니까? 합니까의 parted -a optimal /dev/sdd mkpart primary 0GB 10GB작업?
terdon

답변:


7

나는 parted절대 값 만 받아들이는 것이 아니라고 생각한다 x+y.

당신은 다음과 같이 할 수 있습니다 : ( +쉘로 해석)

# 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

... 더 추가하고 싶다면

# 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

이것은 +1전적으로 선택 사항입니다. 어떤 이유로 파티션간에 1MiB 무료 "범퍼"를 남기는 것을 좋아합니다.

백분율을 처리하려면을 사용하여 쉘에서 장치 크기를 얻을 수 blockdev --getsize64 /dev/device있으므로 모든 수학을 부분적으로 쉘 스크립트로 옮길 수 있습니다. 나는 이것이 parted정확히 무엇을 의미 하는지 전혀 확신하지 못하기 때문에 MiB 정렬 파티션을 보장하기 위해이 작업을 수행합니다 -a optimal.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.