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