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ที่คุณสามารถดูนี้จะช่วยให้คุณโดยตรงตำแหน่งและขนาดของพาร์ทิชันที่คุณอาจจะไม่สามารถที่จะสร้างเช่นบรรทัดสุดท้ายมากที่บอกว่า คุณสามารถสร้างพาร์ติชันที่เริ่มต้นที่ 31115264s และสิ้นสุดที่ 31116287s
ถ้าไม่ใช่เพราะหลุมพรางที่พาร์ติชั่นเสริมนั้นไม่ใหญ่พอ!
แต่บางทีคุณอาจใช้ 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;
ไม่ว่าจะใช้กับสถานการณ์ของคุณได้ (ในตัวอย่างของฉันคุณไม่สามารถสร้างพาร์ติชันที่นั่นเต็มแล้วจริงๆแล้ว) เป็นสิ่งที่คุณต้องคิดออกเอง :)