ฉันไม่เห็นอะไรใน เอสเอฟดิสก์
เอกสารที่แนะนำว่ารองรับค่าสัมพัทธ์ที่เป็นลบ การคำนวณตำแหน่งเริ่มต้นของพาร์ติชันจะทำงานได้หรือไม่
ฉันจะสาธิตการใช้ไฟล์วนรอบแบบกระจายที่จำลองดิสก์ขนาด 2GB
root@ubuntu:~# fallocate -l 2G filesystem.img
root@ubuntu:~# สูญเสีย -f filesystem.img
root@ubuntu:~# สูญเสีย -a | grep filesystem.img
/dev/loop6: [2049]:20 (/root/filesystem.img)
ตำแหน่งเริ่มต้นของพาร์ติชัน 650MB ของคุณสามารถพบได้โดยการลบ 650MB ออกจากส่วนท้ายของดิสก์ $(blockdev --getsize64 /dev/loop6) / 1024
กำหนดขนาดของดิสก์เป็น KiB 650 * 1024
คือ 650MiB ใน KiB นำมารวมกันเพื่อหาจำนวน KiB ที่จะใช้สำหรับพาร์ติชันแรก
root@ubuntu:~# echo $(( $(blockdev --getsize64 /dev/loop6) / 1024 - (650 * 1024) ))
1431552
ค่านี้สามารถใช้ได้โดยตรงเมื่อสร้างพาร์ติชันด้วย เอสเอฟดิสก์
root@ubuntu:~# sfdisk /dev/loop6 <<EOF
> ป้ายกำกับ: gpt
>1431552KiB ,,,-
> ,,,-
> สพป
...
สถานการณ์ใหม่:
ประเภทป้ายชื่อดิสก์: gpt
ตัวระบุดิสก์: 77816CA7-8A39-974B-A78D-CFCB2A5D66EC
ประเภทขนาดเซกเตอร์สิ้นสุดการเริ่มต้นของอุปกรณ์
/dev/loop6p1 2863104 4194270 1331167 ระบบไฟล์ Linux 650M
/dev/loop6p2 2048 2863103 2861056 ระบบไฟล์ Linux 1.4G
...
คุณยังสามารถคำนวณมูลค่าได้ทันที
root@ubuntu:~# wipefs -a /dev/loop6
...
root@ubuntu:~# sfdisk /dev/loop6 <<EOF
> ป้ายกำกับ: gpt
> $(( $(blockdev --getsize64 /dev/loop6) / 1024 - (650 * 1024) ))KiB,,,-
> ,,,-
> สพป
...
สถานการณ์ใหม่:
ประเภทป้ายชื่อดิสก์: gpt
ตัวระบุดิสก์: 661C7E48-3342-3842-81BE-1AF4CB51BC6E
ประเภทขนาดเซกเตอร์สิ้นสุดการเริ่มต้นของอุปกรณ์
/dev/loop6p1 2863104 4194270 1331167 ระบบไฟล์ Linux 650M
/dev/loop6p2 2048 2863103 2861056 ระบบไฟล์ Linux 1.4G
...
ตัวอย่างก่อนหน้านี้สร้างพาร์ติชัน 650MB ของคุณก่อน อาจทำให้สับสนเล็กน้อยเนื่องจากพาร์ติชันไม่ได้อยู่ในลำดับปกติ คุณสามารถสร้างพาร์ติชัน "ส่วนที่เหลือของดิสก์" ก่อนเพื่อหลีกเลี่ยงความสับสน
root@ubuntu:~# wipefs -a /dev/loop6
...
root@ubuntu:~# sfdisk /dev/loop6 <<EOF
> ป้ายกำกับ: gpt
> ,$(( $(blockdev --getsize64 /dev/loop6) / 1024 - (650 * 1024) ))KiB ,,-
> ,,,-
> สพป
...
สถานการณ์ใหม่:
ประเภทป้ายชื่อดิสก์: gpt
ตัวระบุดิสก์: 3EF08C46-AF4F-1F48-B8AF-A65D67C438B7
ประเภทขนาดเซกเตอร์สิ้นสุดการเริ่มต้นของอุปกรณ์
/dev/loop6p1 2048 2865151 2863104 ระบบไฟล์ Linux 1.4G
/dev/loop6p2 2865152 4194270 1329119 ระบบไฟล์ Linux 649M
...