Điểm:0

sfdisk: tạo phân vùng từ bên phải

lá cờ it

Tôi muốn tạo phân vùng 2 với kích thước đã chỉ định, trong khi phân vùng 1 chiếm phần còn lại của đĩa:

tiếng vang -en 'g\nw' | fdisk "$2" #tạo bảng gpt
echo -en ',1331200\n,,U' | sudo sfdisk "/dev/sda" -W luôn luôn

Lệnh cuối cùng tạo phân vùng bên trái 650 MB và phân vùng bên phải chiếm phần còn lại của đĩa, nhưng như tôi đã chỉ định, đây không phải là thứ tôi cần. Để tạo phân vùng bên phải có dung lượng 650 MB và phân vùng bên trái chiếm phần còn lại của đĩa, tôi nghĩ mình sẽ làm một việc như sau:

echo -en ',-1331200\n,,U' | sudo sfdisk "/dev/sda" -W luôn luôn

với suy nghĩ rằng các giá trị âm bắt đầu từ bên phải, nhưng thay vào đó - dấu hiệu bị bỏ qua hoàn toàn và lệnh có tác dụng tương tự như lệnh không có dấu hiệu - dấu hiệu.

Làm cách nào để tạo phân vùng bắt đầu từ bên phải bằng cách sử dụng sfdisk?

waltinator avatar
lá cờ it
Bạn đang chạy đoạn này trong môi trường nào? Việc xử lý văn bản của `sfdisk --list` có hữu ích không? Cân nhắc sử dụng `expect` để tự động hóa cuộc hội thoại của bạn với `sfdisk`. Đọc `người đàn ông mong đợi`
lá cờ it
Theo nghĩa nào, môi trường nào?
Điểm:1
lá cờ jp

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
...
lá cờ it
Nhờ bạn vấn đề của tôi đã được giải quyết.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.