sfdisk
sfdisk là phiên bản kịch bản của fdisk
Nó là một phần củautil-linux , giống như fdisk, vì vậy tính khả dụng nên giống nhau.
Một bảng phân vùng với một phân vùng duy nhất lấy toàn bộ đĩa có thể được tạo bằng:
echo 'type=83' | sudo sfdisk /dev/sdX
và các bảng phân vùng phức tạp hơn được giải thích dưới đây.
Để tạo tập lệnh mẫu, hãy thiết lập một trong các đĩa của bạn:
sudo sfdisk -d /dev/sda > sda.sfdisk
Đầu ra mẫu trên khởi động kép Lenovo T430 Windows 7 / Ubuntu của tôi:
label: dos
label-id: 0x7ddcbf7d
device: /dev/sda
unit: sectors
/dev/sda1 : start= 2048, size= 3072000, type=7, bootable
/dev/sda2 : start= 3074048, size= 195430105, type=7
/dev/sda3 : start= 948099072, size= 28672000, type=7
/dev/sda4 : start= 198504446, size= 749594626, type=5
/dev/sda5 : start= 198504448, size= 618891264, type=83
/dev/sda6 : start= 940277760, size= 7821312, type=82
/dev/sda7 : start= 817397760, size= 61437952, type=83
/dev/sda8 : start= 878837760, size= 61437500, type=83
Khi bạn đã lưu tập lệnh vào một tệp, bạn có thể áp dụng tập lệnh đó sdXvới:
sudo sfdisk /dev/sdX < sda.sfdisk
Đối với sfdiskđầu vào, bạn chỉ có thể bỏ qua tên thiết bị và sử dụng các dòng loại:
start= 2048, size= 3072000, type=7, bootable
Chúng chỉ bị bỏ qua nếu có và tên thiết bị được lấy từ đối số dòng lệnh.
Một số giải thích:
- dòng tiêu đề: tất cả tùy chọn:
dòng phân vùng:
start: offset bên trong đĩa mà phân vùng bắt đầu.
start có mặc định rất tốt và thường có thể bị bỏ qua:
- trên dòng đầu tiên,
startlà 2048, tức là 1Mb (2048 + 512), là mặc định lành mạnh cho khả năng tương thích đĩa
- tiếp tục
startmặc định cho vị trí chưa được phân bổ đầu tiên
size: man sfdisknói : The default value of size indicates "as much as possible". Vì vậy, để lấp đầy đĩa với một phân vùng duy nhất sử dụng:/dev/sda : start=2048, type=83
type: byte ma thuật được lưu trữ trên khu vực khởi động cho mỗi mục phân vùng . Các giá trị có thể có: https://en.wikipedia.org/wiki/Partition_type Trong ví dụ này, chúng tôi quan sát:
7( sda1, 2Và 3): hệ thống tập tin mà Windows hỗ trợ. Công cụ Windows được cài đặt sẵn và phân vùng phục hồi Lenovo. sudo blkidnhãn giúp xác định chúng.
5( sda4): phân vùng chính mở rộng, sẽ chứa các phân vùng logic khác (vì chúng tôi chỉ có thể có 4 phân vùng chính với MBR)
83( sda5, 7và 8): các phân vùng mà Linux hỗ trợ. Đối với tôi một homevà hai gốc với các phiên bản Ubuntu khác nhau
82( sd6): hoán đổi
fdiskcũng có thể đọc sfdiskcác tập lệnh bằng Ilệnh, "nguồn" chúng trong một fdiskphiên tương tác , cho phép bạn tùy chỉnh thêm trước khi viết phân vùng.
Đã thử nghiệm trên Ubuntu 16.04, sfdisk2.27.1.
Định dạng và điền vào các phân vùng một tệp hình ảnh mà không có sudo
Đây là một cách tốt để học cách sử dụng sfdiskmà không làm hỏng đĩa cứng của bạn: https://stackoverflow.com/questions/10949169/how-to-create-a-multi-partition-sd-disk-image-without-root- đặc quyền / 52850819 # 52850819