tôi không thấy bất cứ điều gì trong sfdisk
tài liệu cho thấy nó hỗ trợ giá trị tương đối âm. Tính toán vị trí bắt đầu phân vùng có hoạt động không?
Tôi sẽ chứng minh bằng cách sử dụng tệp lặp lại thưa mô phỏng đĩa 2GB
root@ubuntu:~# fallocate -l 2G filesystem.img
root@ubuntu:~# losetup -f filesystem.img
root@ubuntu:~# losetup -a | hệ thống tập tin grep.img
/dev/loop6: [2049]:20 (/root/filesystem.img)
Vị trí bắt đầu của phân vùng 650 MB có thể được tìm thấy bằng cách trừ 650 MB từ phần cuối của đĩa. $(blockdev --getsize64/dev/loop6)/1024
cung cấp kích thước của đĩa trong KiB. 650 * 1024
là 650MiB trong KiB. Đặt nó lại với nhau để tìm bao nhiêu KiB sẽ sử dụng cho phân vùng đầu tiên.
root@ubuntu:~# echo $(( $(blockdev --getsize64 /dev/loop6) / 1024 - (650 * 1024) ))
1431552
Giá trị này có thể được sử dụng trực tiếp khi tạo phân vùng với sfdisk
root@ubuntu:~# sfdisk /dev/loop6 <<EOF
> nhãn: gpt
> 1431552KiB,,,-
>,,,-
> EOF
...
Tình hình mới:
Loại nhãn đĩa: gpt
Mã định danh đĩa: 77816CA7-8A39-974B-A78D-CFCB2A5D66EC
Thiết bị Bắt đầu Kết thúc Sector Kích thước Loại
/dev/loop6p1 2863104 4194270 1331167 Hệ thống tệp Linux 650M
/dev/loop6p2 2048 2863103 2861056 Hệ thống tệp Linux 1.4G
...
Bạn cũng có thể tính toán giá trị một cách nhanh chóng
root@ubuntu:~# wipefs -a /dev/loop6
...
root@ubuntu:~# sfdisk /dev/loop6 <<EOF
> nhãn: gpt
> $(( $(blockdev --getsize64 /dev/loop6) / 1024 - (650 * 1024) ))KiB,,,-
>,,,-
> EOF
...
Tình hình mới:
Loại nhãn đĩa: gpt
Mã định danh đĩa: 661C7E48-3342-3842-81BE-1AF4CB51BC6E
Thiết bị Bắt đầu Kết thúc Sector Kích thước Loại
/dev/loop6p1 2863104 4194270 1331167 Hệ thống tệp Linux 650M
/dev/loop6p2 2048 2863103 2861056 Hệ thống tệp Linux 1.4G
...
Các ví dụ trước đã tạo phân vùng 650 MB của bạn trước. Điều đó có thể hơi khó hiểu vì các phân vùng không theo thứ tự thông thường. Bạn có thể tạo phân vùng "phần còn lại của đĩa" trước để tránh nhầm lẫn.
root@ubuntu:~# wipefs -a /dev/loop6
...
root@ubuntu:~# sfdisk /dev/loop6 <<EOF
> nhãn: gpt
> ,$(( $(blockdev --getsize64 /dev/loop6) / 1024 - (650 * 1024) ))KiB,,-
>,,,-
> EOF
...
Tình hình mới:
Loại nhãn đĩa: gpt
Mã định danh đĩa: 3EF08C46-AF4F-1F48-B8AF-A65D67C438B7
Thiết bị Bắt đầu Kết thúc Sector Kích thước Loại
/dev/loop6p1 2048 2865151 2863104 Hệ thống tệp Linux 1.4G
/dev/loop6p2 2865152 4194270 1329119 Hệ thống tệp Linux 649M
...