Es stehen einige Optionen zur Verfügung:
fdisk
(älter, unterstützt GPT 4 nicht ).
parted
(der CLI-Bruder von GParted).
- Die verschiedenen
mkfs
Programme, wenn Sie bereits Partitionen haben und formatieren möchten.
fdisk
und parted
sind interaktiv und verfügen über Hilfebefehle, sodass Sie im Programm immer nach Hilfe suchen können. Beide sind auch skriptfähig. Die mkfs
Befehle sind nicht interaktiv.
fdisk
fdisk
erwartet ein Gerät (wie /dev/sda
) als Argument. Es hat die folgenden Befehle:
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)
Ich benutze nicht fdisk
so viel. Ich werde mich nur konzentrieren auf:
parted
parted
nicht braucht ein Argument (es versucht , zu „erraten“), aber Sie sollten immer die Festplatte angeben. Wenn Sie die Wahl haben, parted
ist das Programm, das Sie bevorzugen sollten. Es hat die folgenden Befehle:
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
Die Befehle können mit einem eindeutigen Präfix (z. B. h
Abkürzung für help
) verknüpft werden.
Ich verwende eine temporäre Datei ( /tmp/part
), die ich erstellt habe, um Ihnen die Befehle anzuzeigen, damit die Größen etwas kleiner werden. Sie sollten dies durch das Gerät ersetzen, das Sie benötigen ( /dev/sda
zum Beispiel).
Wenn Ihre Festplatte keine Partitionstabelle hat, müssen wir zunächst eine erstellen:
parted /tmp/part mklabel gpt
oder mklabel msdos
, wenn Sie die alte 4-Primär-Partition wollen ( MBR oder MSDOS Partitionstabelle genannt ). Dann erstellen wir beispielsweise eine ext4-Partition, die mit 3 GB beginnt (dh das anfängliche 3G bleibt frei) und eine Größe von 2 GB hat (dh mit 5 GB endet). parted
Erwartet Speicherorte in MB für mkpartfs
, aber wir können das Suffix angeben:
parted /tmp/part mkpart primary ext4 3G 5G
Und eine andere, jetzt eine NTFS-Partition von 1 GB:
parted /tmp/part mkpart primary ntfs 5G 6G
Ergebnis:
# 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
Beachten Sie, wie SI-Präfixe verwendet werden, während GParted fest Binärpräfixe verwendet (während das Dumme gelöscht wird i
). Ich werde die Partitionen beschriften:
# 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
Während parted
Partitionen Dateisystem erstellen kann ntfs
nur gut, es kann nicht formatiert wird eine vorhandene Partition zu 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".
In der Tat wird parted Ihnen sagen, dass Sie es zum Manipulieren von Partitionen und nicht von Dateisystemen verwenden sollten.
mkfs
mkfs
, Wie fsck
, ist im Wesentlichen ein Frontend für verschiedene Dateisystem-spezifische Befehle. Auf meinem System zum Beispiel mkfs.bfs
, mkfs.cramfs
, mkfs.ext2
, mkfs.ext3
, mkfs.ext4
, mkfs.ext4dev
, mkfs.fat
, mkfs.minix
, mkfs.msdos
, mkfs.ntfs
, mkfs.vfat
stehen zur Verfügung.
Jetzt kann parted
ich leider, während eine Datei, wie die oben beschriebene, mkfs
einwandfrei bearbeitet wird, nicht nach Partitionen in solchen Dateien suchen. In der Tat, es erwartet Geräte blockieren, so dass , wenn ich eine neue Datei verwenden , werde /tmp/file
für mkfs
, ich es so tun zwingen müssen. Sie verwenden das Blockiergerät, das der Partition entspricht, die Sie formatieren möchten, z /dev/sda2
. Die allgemeine Syntax für mkfs
lautet:
# 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).
Wie Sie sehen, -t
können wir mit dem Flag dateisystemspezifische Flags übergeben. Beispielsweise NTFS-Flags:
# 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
Erstellen wir also eine NTFS-Partition mit Schnellformatierung ( -Q
), die gezwungen wird, eine Nicht-Block-Gerätedatei ( -F
) zu bearbeiten, und setzen wir eine Bezeichnung ( -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.
Offensichtlich hat es keinen Spaß gemacht, an einer Datei zu arbeiten. :) Keine Sorge, es sollte automatisch die meisten Werte erkennen, wenn auf einer tatsächlichen Festplatte gearbeitet wird. Auch diese "Datei" funktioniert gut als Dateisystem:
# 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
(Siehe die seltsamen Berechtigungen?)
Anmerkungen:
- Ich habe noch
sudo
nirgendwo in dieser Antwort verwendet. Da ich mit Dateien und Dateien im Besitz von mir arbeitete, brauchte ich das nicht sudo
. parted
werde dich davor warnen. Für Block-Geräte, die normalerweise immer im Besitz von sind root
, benötigen Sie sudo
(oder Sie müssen über sudo -i
oder eine Root-Shell verwenden sudo su -
).
parted
ist ein GNU-Programm und hat wie viele GNU-Programme eine umfangreiche Dokumentation im info
Format. Installieren Sie parted-doc
( sudo apt-get install parted-doc
) und führen Sie dann aus info parted
. Sie können auch das Online-Benutzerhandbuch lesen .
- GParted kann eine Partition in NTFS formatieren, indem es das entsprechende
mkfs
Programm direkt aufruft ( mkntfs
in diesem Fall mkfs.ntfs
ist dies nur eine Verknüpfung zu mkntfs
). Es werden auch eine Reihe von Parametern eingestellt. Tatsächlich können Sie für die meisten Vorgänge die Details der GParted-Nachrichten überprüfen, um festzustellen, welche Befehle ausgeführt wurden.
- Ich werde nicht auf die Vorteile von GPT gegenüber MBR / MSDOS-Partitionstabellen eingehen, aber GPT wird wahrscheinlich auf neuen Geräten mit UEFI zu finden sein, insbesondere wenn Sie Windows 8 verwenden. Der Stand der Partitionierungswerkzeuge? Erläutert, welche Tools verfügbar sind, wenn Sie mit GPT konfrontiert sind.
- LVM, ZFS und BTRFS sind ein ganz anderes Spiel. Sie haben alle ihre zugehörigen Tools, und Sie sollten sie anstelle von
parted
oder verwenden fdisk
(mit Ausnahme von möglicherweise einem ersten Schritt zum Erstellen von Partitionen für ihre Verwendung).
Hinweis zur parted
Verwendung:
Die Syntax des parted
Programms lautet:
parted [options] [device [command [options...]...]]
Wenn Sie parted
ohne einen Befehl ausführen , wie:
parted /tmp/parted
Es wird eine einfache Shell angezeigt, in der Sie die oben genannten Befehle ausführen können. Diese Befehle können jedoch auch direkt mit dem parted
Programm ausgeführt werden. Diese drei sind also gleichwertig:
# 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
Und
# 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
Und
parted /tmp/parted mklabel gpt
Beachten Sie auch, dass beim Erstellen von Partitionen mit parted
ein nützlicher Indikator für das Ende von Partitionen ist -1s
(dies ist "1" zwischen dem Bindestrich und dem "s"). Dies ist nützlich, wenn Sie möchten, dass sich Ihre Partition von einem bestimmten Anfang bis zum Rest der Festplatte erstreckt. Um genauer zu sein, läuft
parted /dev/sda -- mkpart primary ext4 3G -1s
erstellt eine Partition /dev/sda
, die mit 3G beginnt und am letzten Sektor der /dev/sda
Festplatte endet (dh von 3G bis zum gesamten Rest der Festplatte). Beachten Sie, dass das --
notwendig ist, um 1s
nicht als ungültige Option interpretiert zu werden.
-m
Stellen Sie sicher, dass Sie die Option auf reservierten Speicherplatz erklären - es ist relevant, weil es intuitiv ist.