parted
여유 공간을 인쇄 할 수 있습니다. 예 (고의로 복잡한 것을 선택했습니다) :
# parted /dev/sda unit s print free
[...]
Number Start End Size Type File system Flags
63s 2047s 1985s Free Space
1 2048s 4196351s 4194304s primary fat32 lba
4196352s 4198399s 2048s Free Space
2 4198400s 6295551s 2097152s primary ext2 boot
6295552s 6297599s 2048s Free Space
3 6297600s 27269119s 20971520s primary ext2
27269120s 27271167s 2048s Free Space
4 27271168s 31115263s 3844096s extended lba
5 27273216s 29192191s 1918976s logical ext2
6 29194240s 31115263s 1921024s logical ext2
31115264s 31116287s 1024s Free Space
보시다시피, 생성 할 수있는 파티션의 위치와 크기, 즉 가장 마지막 줄이 바로 표시 Free Space
됩니다. 31115264에서 시작하여 31116287에서 끝나는 파티션을 만들 수 있습니다.
함정이 없다면 확장 파티션이 충분히 크지 않은 것입니다!
그러나 그러한 합병증을 겪지 않는 경우 이미 GPT를 사용하고있을 수 있습니다.
숫자를 쉽게 잡을 수 있어야합니다.
function make_partition
{
parted -s "$1" unit s mkpart primary "$2" "$3"
}
make_partition /dev/sda `parted /dev/sda unit s print free | grep 'Free Space' | tail -n 1`
또는 비슷한 것. (자연스럽게 여기에서 더 많은 위생 검사를 원할 것입니다.)
@ swisscheese는 다른 답변에서 좋은 의견을 parted
제시했지만 구문 분석 친화적 인 출력을 제공 했는지 몰랐습니다 . 대신 사용하도록 선택할 수 있습니다. 가장 큰 자유를 잡는 예 :
# parted -m /dev/sda unit s print free | grep 'free;' | sort -t : -k 4n -k 2n | tail -n 1
1:27269120s:27271167s:2048s:free;
그것이 귀하의 상황에 해당되는지 여부 (제 예에서는 파티션을 만들 수 없었지만 이미 가득 찼습니다)는 스스로 알아 내야합니다. :)