Có một vài lựa chọn có sẵn:
fdisk
(cũ hơn, không hỗ trợ GPT 4 ).
parted
(anh em CLI của GParted).
- Các
mkfs
chương trình khác nhau , nếu bạn đã có phân vùng và muốn định dạng.
fdisk
và parted
có tính tương tác và có các lệnh trợ giúp, vì vậy bạn luôn có thể tìm kiếm trợ giúp trong chương trình. Cả hai cũng có kịch bản. Các mkfs
lệnh không tương tác.
fdisk
fdisk
mong đợi một thiết bị (như /dev/sda
) làm đối số. Nó có các lệnh sau:
Command action
a toggle a bootable flag
b edit bsd disklabel
c toggle the DOS compatibility flag
d delete a partition
l list known partition types
m print this menu
n add a new partition
o create a new empty DOS partition table
p print the partition table
q quit without saving changes
s create a new empty Sun disklabel
t change a partition's system id
u change display/entry units
v verify the partition table
w write table to disk and exit
x extra functionality (experts only)
Tôi không sử dụng fdisk
nhiều như vậy. Tôi sẽ chỉ tập trung vào:
parted
parted
không cần một đối số (nó cố gắng "đoán"), nhưng bạn phải luôn chỉ định đĩa. Đưa ra lựa chọn, parted
là chương trình bạn nên thích. Nó có các lệnh sau:
align-check TYPE N check partition N for TYPE(min|opt) alignment
check NUMBER do a simple check on the file system
cp [FROM-DEVICE] FROM-NUMBER TO-NUMBER copy file system to another partition
help [COMMAND] print general help, or help on COMMAND
mklabel,mktable LABEL-TYPE create a new disklabel (partition table)
mkfs NUMBER FS-TYPE make a FS-TYPE file system on partition NUMBER
mkpart PART-TYPE [FS-TYPE] START END make a partition
mkpartfs PART-TYPE FS-TYPE START END make a partition with a file system
resizepart NUMBER END resize partition NUMBER
move NUMBER START END move partition NUMBER
name NUMBER NAME name partition NUMBER as NAME
print [devices|free|list,all|NUMBER] display the partition table, available devices, free space, all found partitions, or a particular partition
quit exit program
rescue START END rescue a lost partition near START and END
resize NUMBER START END resize partition NUMBER and its file system
rm NUMBER delete partition NUMBER
select DEVICE choose the device to edit
set NUMBER FLAG STATE change the FLAG on partition NUMBER
toggle [NUMBER [FLAG]] toggle the state of FLAG on partition NUMBER
unit UNIT set the default unit to UNIT
version display the version number and copyright information of GNU Parted
Các lệnh có thể được ký hợp đồng với một tiền tố duy nhất (ví dụ: h
viết tắt của help
).
Tôi sẽ sử dụng một tệp tạm thời ( /tmp/part
) tôi đã tạo để hiển thị cho bạn các lệnh, vì vậy kích thước sẽ hơi nhỏ. Bạn nên thay thế bằng thiết bị bạn cần ( /dev/sda
ví dụ).
Đầu tiên, nếu đĩa của bạn không có bảng phân vùng, chúng ta phải tạo một bảng:
parted /tmp/part mklabel gpt
hoặc mklabel msdos
, nếu bạn muốn điều phân vùng 4 trường tiểu học cũ (được gọi là bảng phân vùng MBR hoặc MSDOS ). Sau đó, chúng tôi tạo một phân vùng ext4 bắt đầu từ 3 GB (nghĩa là để 3G ban đầu miễn phí) và có kích thước 2 GB (nghĩa là kết thúc ở mức 5 GB). parted
mong đợi các vị trí trong MB cho mkpartfs
, nhưng chúng tôi có thể chỉ định hậu tố:
parted /tmp/part mkpart primary ext4 3G 5G
Và một cái khác, bây giờ là phân vùng NTFS 1GB:
parted /tmp/part mkpart primary ntfs 5G 6G
Kết quả:
# parted /tmp/part print
Model: (file)
Disk /tmp/blah: 10.4GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name Flags
1 3000MB 5000MB 2000MB primary
2 5000MB 6000MB 1000MB primary msftdata
Lưu ý cách nó sử dụng tiền tố SI, trong khi GParted kiên định sử dụng tiền tố nhị phân (trong khi bỏ đi sự ngớ ngẩn i
). Tôi sẽ gắn nhãn các phân vùng:
# parted /tmp/part name 1 hello
# parted /tmp/part name 2 world
# parted /tmp/part print
Model: (file)
Disk /tmp/blah: 10.4GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name Flags
1 3000MB 5000MB 2000MB hello
2 5000MB 6000MB 1000MB world msftdata
Mặc dù parted
có thể tạo phân vùng của hệ thống tệp ntfs
tốt nhưng nó không thể định dạng phân vùng hiện có (!) Thành NTFS:
mkfs partition fs-type
Make a filesystem fs-type on partition. fs-type can be one
of "fat16", "fat32", "ext2", "linux-swap", or "reiserfs".
Thật vậy, parted sẽ cho bạn biết rằng bạn nên sử dụng nó để thao tác phân vùng, không phải hệ thống tập tin , điều này đưa tôi đến:
mkfs
mkfs
, giống như fsck
, về cơ bản là một lối vào cho các lệnh cụ thể của hệ thống tập tin. Trên hệ thống của tôi ví dụ mkfs.bfs
, mkfs.cramfs
, mkfs.ext2
, mkfs.ext3
, mkfs.ext4
, mkfs.ext4dev
, mkfs.fat
, mkfs.minix
, mkfs.msdos
, mkfs.ntfs
, mkfs.vfat
có sẵn.
Thật không may, trong khi parted
hoạt động tốt trên một tệp, như tệp tôi đã sử dụng ở trên, mkfs
không thể tìm kiếm các phân vùng trong các tệp đó. Trong thực tế, nó hy vọng ngăn chặn các thiết bị, vì vậy nếu tôi sẽ sử dụng một tập tin mới /tmp/file
cho mkfs
, tôi phải buộc nó làm như vậy. Bạn sẽ sử dụng thiết bị khối tương ứng với phân vùng bạn muốn định dạng, chẳng hạn như /dev/sda2
. Cú pháp chung cho mkfs
là:
# mkfs --help
Usage: mkfs [options] [-t type fs-options] device [size]
Options:
-t, --type=TYPE file system type, when undefined ext2 is used
fs-options parameters to real file system builder
device path to a device
size number of blocks on the device
-V, --verbose explain what is done
defining -V more than once will cause a dry-run
-V, --version output version information and exit
-V as version must be only option
-h, --help display this help and exit
For more information, see mkfs(8).
Như bạn có thể thấy, -t
cờ cho phép chúng ta vượt qua các cờ cụ thể của hệ thống tệp. Ví dụ: cờ NTFS:
# mkfs.ntfs --help
Usage: mkntfs [options] device [number-of-sectors]
Basic options:
-f, --fast Perform a quick format
-Q, --quick Perform a quick format
-L, --label STRING Set the volume label
-C, --enable-compression Enable compression on the volume
-I, --no-indexing Disable indexing on the volume
-n, --no-action Do not write to disk
Advanced options:
-c, --cluster-size BYTES Specify the cluster size for the volume
-s, --sector-size BYTES Specify the sector size for the device
-p, --partition-start SECTOR Specify the partition start sector
-H, --heads NUM Specify the number of heads
-S, --sectors-per-track NUM Specify the number of sectors per track
-z, --mft-zone-multiplier NUM Set the MFT zone multiplier
-T, --zero-time Fake the time to be 00:00 UTC, Jan 1, 1970
-F, --force Force execution despite errors
Output options:
-q, --quiet Quiet execution
-v, --verbose Verbose execution
--debug Very verbose execution
Help options:
-V, --version Display version
-l, --license Display licensing information
-h, --help Display this help
Developers' email address: ntfs-3g-devel@lists.sf.net
News, support and information: http://tuxera.com
Vì vậy, hãy tạo một phân vùng NTFS, với định dạng nhanh ( -Q
), buộc nó phải hoạt động trên tệp không phải thiết bị chặn ( -F
) và đặt nhãn ( -L "hello world"
).
# mkfs -t ntfs -F -Q -L "hello world" /tmp/file
/tmp/file is not a block device.
mkntfs forced anyway.
The sector size was not specified for /tmp/file and it could not be obtained automatically. It has been set to 512 bytes.
The partition start sector was not specified for /tmp/file and it could not be obtained automatically. It has been set to 0.
The number of sectors per track was not specified for /tmp/file and it could not be obtained automatically. It has been set to 0.
The number of heads was not specified for /tmp/file and it could not be obtained automatically. It has been set to 0.
Cluster size has been automatically set to 4096 bytes.
To boot from a device, Windows needs the 'partition start sector', the 'sectors per track' and the 'number of heads' to be set.
Windows will not be able to boot from this device.
Creating NTFS volume structures.
mkntfs completed successfully. Have a nice day.
Rõ ràng nó không thích làm việc trên một tập tin. :) Đừng lo lắng, nó sẽ tự động phát hiện hầu hết các giá trị khi làm việc trên đĩa thực. Ngay cả "tập tin" này hoạt động tốt như một hệ thống tập tin:
# mount -t ntfs-3g /tmp/file /mnt
# touch "/mnt/a file in mnt"
# ls -l /mnt
total 0
-rwxrwxrwx 1 root root 0 Aug 29 06:43 a file in mnt
# umount /mnt
# ls -l /mnt
total 0
(Xem các quyền lạ?)
Ghi chú:
- Tôi chưa sử dụng
sudo
bất cứ nơi nào trong câu trả lời này. Vì tôi đang vận hành trên các tệp và các tệp thuộc sở hữu của tôi, tôi không cần sudo
. parted
sẽ cảnh báo bạn về điều này. Đối với các thiết bị khối, thường được sở hữu bởi root
, bạn sẽ cần sudo
(hoặc bạn sẽ phải sử dụng trình bao gốc thông qua sudo -i
hoặc sudo su -
).
parted
là một chương trình GNU, và giống như nhiều chương trình GNU, có tài liệu mở rộng theo info
định dạng. Cài đặt parted-doc
( sudo apt-get install parted-doc
) và sau đó chạy info parted
. Bạn cũng có thể kiểm tra hướng dẫn sử dụng trực tuyến .
- GParted có thể định dạng phân vùng thành NTFS vì nó gọi
mkfs
chương trình thích hợp trực tiếp ( mkntfs
, trong trường hợp này - mkfs.ntfs
chỉ là một liên kết đến mkntfs
). Nó cũng đặt một số tham số. Trong thực tế, đối với hầu hết các hoạt động, bạn có thể kiểm tra chi tiết của các thông báo GParted để xem lệnh nào đã được chạy.
- Tôi sẽ không đi sâu vào ưu điểm của các bảng phân vùng GPT so với MBR / MSDOS, nhưng GPT có thể được tìm thấy trên các thiết bị mới có UEFI, đặc biệt là nếu bạn có Windows 8 trên chúng. Tình trạng của các công cụ phân vùng? thảo luận về những công cụ có sẵn nếu bạn đang đối mặt với GPT.
- LVM, ZFS và btrfs là một trò chơi hoàn toàn khác. Tất cả đều có các công cụ đi kèm và bạn nên sử dụng chúng thay vì
parted
hoặc fdisk
(ngoại trừ bước đầu tiên tạo phân vùng để sử dụng).
Lưu ý khi parted
sử dụng:
Cú pháp của parted
chương trình là:
parted [options] [device [command [options...]...]]
Khi bạn chạy parted
mà không có lệnh, như:
parted /tmp/parted
Bạn sẽ được trình bày một shell đơn giản, nơi bạn có thể chạy các lệnh trên. Tuy nhiên, các lệnh này cũng có thể được chạy trực tiếp bằng parted
chương trình. Vì vậy, ba điều này là tương đương:
# parted /tmp/parted
GNU Parted 2.3
Using /tmp/parted
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) mklabel gpt
Và
# parted
GNU Parted 2.3
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) select /tmp/parted
Using /tmp/parted
(parted) mklabel gpt
Và
parted /tmp/parted mklabel gpt
Cũng lưu ý rằng, khi tạo phân vùng bằng parted
, một chỉ báo hữu ích về kết thúc phân vùng là -1s
(đây là "1" giữa dấu gạch nối và "s"). Điều này rất hữu ích nếu bạn muốn phân vùng của mình trải dài từ một điểm bắt đầu được chỉ định đến phần còn lại của đĩa. Để cụ thể hơn, chạy
parted /dev/sda -- mkpart primary ext4 3G -1s
sẽ tạo một phân vùng /dev/sda
bắt đầu từ 3G và kết thúc ở khu vực cuối cùng của /dev/sda
đĩa (tức là nó trải dài từ 3G đến toàn bộ phần còn lại của đĩa). Lưu ý rằng điều --
này là cần thiết, để 1s
không được hiểu là một tùy chọn không hợp lệ.
-m
trên không gian dành riêng - nó có liên quan, bởi vì nó mang tính trực quan.