parted 3.2는 1024MiB가 장치 외부에 있음을 의미합니다(크기는 1024MiB).

parted 3.2는 1024MiB가 장치 외부에 있음을 의미합니다(크기는 1024MiB).

가져오는 데 문제가 있습니다.이별 3.2유효한 파티션 구성표를 수락하세요.이별 2.3(jessie와 wheezy를 사용하여 Debian에서 테스트했습니다.)

이별 3.2볼륨 끝까지의 파티션(1024MiB 크기의 볼륨에 1024MiB로 표시됨)은 허용되지 않으며 대신 오류가 발생합니다.
오류: 위치 1024MiB가 장치 /dev/loop0 외부에 있습니다.

다음은 재현할 수 있는 작은 스크립트입니다(GPT를 사용할 때도 발생함).

#!/bin/bash -x
truncate disk.raw --size="1024M"
device_path="$(losetup -f --show disk.raw)"
parted --script --align none $device_path -- mklabel msdos
parted --script --align none $device_path -- unit mib print free
parted --script --align none $device_path -- mkpart primary 0MiB 1024MiB
losetup -d $device_path
rm disk.raw

parted 2.3 출력 사용

+ truncate disk.raw --size=1024M
++ losetup -f --show disk.raw
+ device_path=/dev/loop0
+ parted --script --align none /dev/loop0 -- mklabel msdos
+ parted --script --align none /dev/loop0 -- unit mib print free
Model:  (file)
Disk /dev/loop0: 1024MiB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start    End      Size     Type  File system  Flags
        0.02MiB  1024MiB  1024MiB        Free Space

+ parted --script --align none /dev/loop0 -- mkpart primary 0MiB 1024MiB
+ losetup -d /dev/loop0
+ rm disk.raw

parted 3.2 출력 사용

+ truncate disk.raw --size=1024M
++ losetup -f --show disk.raw
+ device_path=/dev/loop0
+ parted --script --align none /dev/loop0 -- mklabel msdos
+ parted --script --align none /dev/loop0 -- unit mib print free
Model: Loopback device (loopback)
Disk /dev/loop0: 1024MiB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

Number  Start    End      Size     Type  File system  Flags
        0.03MiB  1024MiB  1024MiB        Free Space

+ parted --script --align none /dev/loop0 -- mkpart primary 0MiB 1024MiB
Error: The location 1024MiB is outside of the device /dev/loop0.
+ losetup -d /dev/loop0
+ rm disk.raw

보시다시피 3.2는 파티션이 시작되는 위치가 약간 다르지만 mkpart허용만 [start] [end]하고 허용하지 않으므로 영향을 미치지 않습니다 [start] [size].

물론 마지막 파티션을 줄이거나 볼륨을 늘리는 등의 해결 방법이 있지만 더 깊이 파고들어 이해하고 싶습니다.가끔은 이런 경우도 있습니다.

답변1

음, 기술적으로 크기가 1024MiB에 불과하고 궁극적으로 포괄적이라고 생각한다면 1024MiB는 외부입니다...

unit s한번 시도해 보십시오 print free. 그러면 해당 섹터에서 사용 가능한 것이 정확히 무엇인지 표시되고 최대 크기의 파티션을 생성할 수 있습니다. unit mib너무 많은 반올림이 수행되어 올바르게 표시되지 않을 수 있습니다.

또는 정렬로 인해 여전히 일부 여유 섹터가 남을 수 있지만 ;를 100%사용할 수도 있습니다 .[end]

또한 GPT 파티션 구성표를 사용하면 보조 GPT 헤더가 있기 때문에 끝까지 갈 수 없습니다.

다른 이유로 끝에 약간의 공간을 남겨 두는 것도 의미가 있습니다. 모든 드라이브가 정확히 같은 크기는 아니며 현재 msdos 파티션을 사용하고 있더라도 어느 시점에서는 GPT로 변환할 수 있기를 원할 수 있습니다. 미래에.

관련 정보