Il y a quelques options disponibles:
fdisk
(plus ancien, ne supporte pas GPT 4 ).
parted
(le frère CLI de GParted).
- Les différents
mkfs
programmes, si vous avez déjà des partitions et souhaitez formater.
fdisk
et parted
sont interactifs et ont des commandes d’aide afin que vous puissiez toujours chercher de l’aide dans le programme. Les deux sont également scriptables. Les mkfs
commandes ne sont pas interactives.
fdisk
fdisk
attend un périphérique (tel que /dev/sda
) comme argument. Il a les commandes suivantes:
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)
Je ne l'utilise pas fdisk
beaucoup. Je vais juste me concentrer sur:
parted
parted
n'a pas besoin d'argument (il essaie de "deviner"), mais vous devez toujours spécifier le disque. Étant donné le choix, parted
c'est le programme que vous devriez préférer. Il a les commandes suivantes:
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
Les commandes peuvent être contractées avec un préfixe unique (par exemple, h
est l'abréviation de help
).
Je vais utiliser un fichier temporaire ( /tmp/part
) que j'ai créé pour vous montrer les commandes, afin que les tailles soient un peu petites. Vous devriez le remplacer par l'appareil dont vous avez besoin ( /dev/sda
par exemple).
Premièrement, si votre disque ne possède pas de table de partition, nous devons en créer une:
parted /tmp/part mklabel gpt
ou mklabel msdos
si vous voulez la partition old-school 4-primary-partition (appelée table de partition MBR ou MSDOS ). Ensuite, nous créons, par exemple, une partition ext4 commençant à 3 Go (c’est-à-dire en laissant libre la 3G initiale) et de taille 2 Go (c’est-à-dire finissant à 5 Go). parted
attend des emplacements en Mo pour mkpartfs
, mais nous pouvons spécifier le suffixe:
parted /tmp/part mkpart primary ext4 3G 5G
Et une autre, maintenant une partition NTFS de 1 Go:
parted /tmp/part mkpart primary ntfs 5G 6G
Résultat:
# 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
Notez comment il utilise les préfixes SI, alors que GParted utilise résolument les préfixes binaires (tout en laissant tomber l'idiot i
). Je vais étiqueter les partitions:
# 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
Bien que vous parted
puissiez créer des partitions de système de fichiers ntfs
, il ne peut pas formater une partition existante (!) En 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".
En effet, Parted vous dira que vous devriez l'utiliser pour manipuler des partitions, pas des systèmes de fichiers , ce qui m'amène à:
mkfs
mkfs
, comme fsck
, est essentiellement une interface pour diverses commandes spécifiques au système de fichiers. Sur mon système , par exemple, mkfs.bfs
, mkfs.cramfs
, mkfs.ext2
, mkfs.ext3
, mkfs.ext4
, mkfs.ext4dev
, mkfs.fat
, mkfs.minix
, mkfs.msdos
, mkfs.ntfs
, mkfs.vfat
sont disponibles.
Malheureusement, alors qu’il parted
fonctionne parfaitement sur un fichier, comme celui que j’ai utilisé ci-dessus, mkfs
ne peut rechercher les partitions dans de tels fichiers. En fait, il prévoit des dispositifs de bloc, donc si je vais utiliser un nouveau fichier /tmp/file
pour mkfs
, je dois forcer le faire. Vous utiliserez le périphérique de bloc correspondant à la partition que vous souhaitez formater, tel que /dev/sda2
. La syntaxe générale pour mkfs
est:
# 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).
Comme vous pouvez le constater, cet -t
indicateur nous permet de transmettre des indicateurs spécifiques au système de fichiers. Par exemple, les drapeaux 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
Faisons donc une partition NTFS, avec une mise en forme rapide ( -Q
), la forçant à fonctionner sur un fichier de périphérique non bloquant ( -F
), et en définissant une étiquette ( -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.
De toute évidence, il n'aimait pas travailler sur un fichier. :) Ne vous inquiétez pas, la plupart des valeurs devraient automatiquement être détectées lorsque vous travaillez sur un disque. Même ce "fichier" fonctionne bien en tant que système de fichiers:
# 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
(Voir les autorisations étranges?)
Remarques:
- Je n'ai encore utilisé
sudo
nulle part dans cette réponse. Comme je travaillais sur des fichiers et que je possédais des fichiers, je n'en avais pas besoin sudo
. parted
vous avertir à ce sujet. Pour les périphériques en mode bloc, qui appartiennent généralement toujours à root
, vous aurez besoin sudo
(ou vous devrez utiliser un shell root via sudo -i
ou sudo su -
).
parted
est un programme GNU et, comme de nombreux programmes GNU, possède une documentation détaillée au info
format. Installez parted-doc
( sudo apt-get install parted-doc
) puis exécutez info parted
. Vous pouvez également consulter le manuel de l'utilisateur en ligne .
- GParted est capable de formater une partition au format NTFS car il appelle
mkfs
directement le programme approprié ( mkntfs
dans ce cas, il mkfs.ntfs
s’agit d’un lien mkntfs
). Il définit également un certain nombre de paramètres. En fait, pour la plupart des opérations, vous pouvez examiner les détails des messages GParted pour voir quelles commandes ont été exécutées.
- Je n'entrerai pas dans les mérites des tables de partition GPT vs MBR / MSDOS, mais il est probable que GPT se trouve sur de nouveaux périphériques avec UEFI, en particulier si vous possédez Windows 8. L'état des outils de partitionnement? discute des outils disponibles si vous faites face à GPT.
- LVM, ZFS et btrfs sont un tout autre jeu. Ils ont tous leurs outils d’accompagnement, et vous devriez les utiliser à la place de
parted
ou fdisk
(sauf peut-être pour une étape initiale de création de partitions pour leur utilisation).
Note sur l' parted
utilisation:
La syntaxe du parted
programme est la suivante:
parted [options] [device [command [options...]...]]
Lorsque vous exécutez parted
sans commande, comme:
parted /tmp/parted
Vous serez présenté un shell simple, où vous pouvez exécuter les commandes ci-dessus. Cependant, ces commandes peuvent également être exécutées directement à l'aide du parted
programme. Donc, ces trois sont équivalents:
# 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
Et
# 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
Et
parted /tmp/parted mklabel gpt
Notez également que, lors de la création de partitions avec parted
, un indicateur utile de fin de partition est -1s
(il s'agit de "1" entre le trait d'union et le "s"). Cela est utile si vous souhaitez que votre partition s'étende d'un début spécifié au reste du disque. Pour être plus précis, en cours d'exécution
parted /dev/sda -- mkpart primary ext4 3G -1s
créera une partition /dev/sda
qui commence en 3G et se termine au dernier secteur du /dev/sda
disque (c’est-à-dire qu’elle s'étend de la 3G au reste du disque). Notez que le --
est nécessaire pour 1s
ne pas être interprété comme une option invalide.
-m
sur l'espace réservé - c'est pertinent, parce que c'est intuitif.