mkfs (Makes File Systems) est la commande à utiliser en ligne de commandes depuis un terminal pour créer et formater un système de fichiers.
Elle vous permet donc de créer la structure de fichiers pour pouvoir ensuite stocker des fichiers sur votre partition de disque.
mkfs est capable de formater avec beaucoup de type de système de fichiers différents : ext4, ext3, BFS, MINIX, NTFS, vFAT, CRAMFS.
Par exemple formater une partition en ext4, ou en NTFS si vous êtes en Dual-boot Linux/Windows.
Enfin il est aussi possible de formater en FAT par exemple pour une clé USB.
Cet article vous donne la syntaxe et des extensions d’utilisation de mkfs pour formater et créer un système de fichiers (ext4, NTFS, FAT) sur Linux.

Table des matières
Introduction aux systèmes de fichiers
Le système de fichiers est la structure qui permet de stocker des fichiers.
Le formatage est l’opération qui créé le système de fichiers sur une partition de disque.
Linux supporte beaucoup de système de fichiers comme ext4, JFS, ReiserFS, NTFS et FAT.
Ext4 est le système de fichiers par défaut de Linux.
NTFS et FAT sont des systèmes de fichiers de Microsoft et donc à destination de Windows.
la commande mkfs se décline en plusieurs sous-commandes que l’on peut utiliser pour formater le type de système de fichiers souhaités.
Plus d’explications sur les opérations de formatage de disque :
mkfs : formater et créer un système de fichiers (ext4, NTFS, FAT) sur Linux
Syntaxe et paramètres
La syntaxe est la suivante :
mkfs [ -V ] [ -t fstype ] [ fs-options ] filesys [ blocks ]
Il existe de nombreux types de systèmes de fichiers et chacun présente ses propres avantages et inconvénients. Voici le type de système de fichiers le plus courant:
- FAT*
- NTFS
- ext*
- APFS
- HFS*
Soit donc les paramètres suivants :
Paramètres | Description |
-V (verbose) | Produisez une sortie détaillée, y compris toutes les commandes spécifiques au système de fichiers qui sont exécutées. La spécification de cette option plusieurs fois empêche l’exécution de toute commande spécifique au système de fichiers. Ceci n’est vraiment utile que pour les tests |
-t (type) | Permet de choisir le type de système de fichiers |
-V (version) | Affiche la version de la commande mkfs |
-h (help) | Affiche de l’aide de la commande mkfs |
Ainsi, on utilise le paramètre -t pour spécifier le type de système de fichiers.
Mais mkfs se décline en sous-commandes qui ont leurs propres paramètres.
On trouve notamment :
mkfs mkfs.bfs mkfs.cramfs mkfs.ext2 mkfs.ext3 mkfs.ext4 mkfs.ext4dev mkfs.minix mkfs.msdos mkfs.ntfs mkfs.vfat
Par exemple, mkfs.ext3 permet de formater en ext3, mkfs.ntfs en NTFS, mkfs.vfat en FAT et ainsi de suite.
Les commandes pour formater en ext2, ext3 ou ext4 pointent vers la commande mke2fs que l’on peut aussi utiliser directement.
Voici la liste des paramètres de mkfs.ntfs.
Cela peut aller du formatage rapide, à la spécification des tailles de (clusters) blocs et secteurs.
Ci-dessous les paramètres de mkfs.ext4 avec notamment la taille des inodes et de bloc et clusters, etc.
Formater et créer un système de fichiers ext4
Pour formater une partition en ext4 en ligne de commandes avec mkfs, on utilise le paramètre -t.
Ainsi pour formater la partition sdb2 en ext4 :
mkfs -t ext4 /dev/sdb2
ou plus directement :
mkfs.ext4 /dev/sdb2
Voici la liste des principaux paramètres de la commande mkfs.ext4 :
Paramètres | Description |
-b | Spécifiez la taille des blocs en octets. Les valeurs de taille de bloc valides sont 1024, 2048 et 4096 octets par bloc |
-C | Spécifiez la taille du cluster en octets pour les systèmes de fichiers à l’aide de la fonctionnalité bigalloc. Les valeurs de taille de cluster valides vont de 2 048 à 256 Mo octets par cluster |
-d | Copiez le contenu du répertoire donné dans le répertoire racine du système de fichiers |
-e | Modifiez le comportement du code du noyau lorsque des erreurs sont détectées |
-E | Définissez des options étendues pour le système de fichiers |
-g | Spécifie le nombre de blocs dans un groupe de blocs |
-G | Spécifiez le nombre de groupes de blocs qui seront regroupés pour créer un plus grand groupe de blocs virtuels (ou «groupe flex_bg») dans un système de fichiers ext4 |
-i | Spécifiez le rapport octets / inode. mke2fs crée un inode pour chaque octet par octet d’espace sur le disque. Plus le rapport octets par inode est élevé, moins les inodes seront créés. |
-l | Spécifiez la taille de chaque inode en octets. La valeur de la taille de l’inode doit être une puissance de 2 supérieure ou égale à 128. Plus la taille de l’inode est grande, plus la table d’inode consommera d’espace, ce qui réduit l’espace utilisable dans le système de fichiers et peut également avoir un impact négatif sur les performances |
-J | Créez le journal ext3 à l’aide des options spécifiées sur la ligne de commande |
-l | Lisez la liste des blocs défectueux à partir du nom de fichier |
-L | Définissez le nom de volume du système de fichiers sur new-volume-labe |
-m | Spécifiez le pourcentage de blocs du système de fichiers réservés au super-utilisateur |
-M | Définissez le dernier répertoire monté pour le système de fichiers |
-N | Remplace le calcul par défaut du nombre d’inœuds qui doivent être réservés pour le système de fichiers (qui est basé sur le nombre de blocs et le rapport octets par inode) |
-o | Remplace la valeur par défaut du champ “système d’exploitation créateur” du système de fichiers |
-O | Créez un système de fichiers avec les fonctionnalités données (options du système de fichiers), en remplaçant les options par défaut du système de fichiers |
-r | Définissez la révision du système de fichiers pour le nouveau système de fichiers |
-t | Spécifiez le type de système de fichiers (c’est-à-dire ext2, ext3, ext4, etc.) à créer |
-t | Spécifiez comment le système de fichiers va être utilisé, afin que mke2fs puisse choisir les paramètres de système de fichiers optimaux pour cette utilisation |
-U | Définissez l’identificateur unique universel (UUID) du système de fichiers sur UUID |
Formater et créer un système de fichiers NTFS
mkfs est compatible NTFS (New Technology File System) afin de pouvoir créer un système de fichiers compatible Linux et Windows.
Utile pour les clés USB, les partages SMB ou lorsque vous êtes en dual-boot.
On peut utiliser directement la commande mkfs avec l’option -t :
mkfs -t ntfs /dev/sdb2
Mais aussi la commande mkfs.ntfs, par exemple ici pour formater /dev/sdb2 en NTFS :
mkfs.ntfs /dev/sdb2
Pour un formatage rapide en NTFS, ce sera donc :
mkfs.ntfs -f /dev/sdc1
Celle-ci peut alors prendre les paramètres suivants.
Paramètres | Description |
-f | Effectuer un formatage rapide (rapide). Cela sautera à la fois la remise à zéro du volume et la vérification du secteur défectueux. |
-l | Définissez le nom de volume du système de fichiers. Le nom de volume du système de fichiers est défini sur string. |
-C | Activez la compression. Sur le volume la compression est activée sur le volume. |
-n | Fait en sorte que mkntfs ne crée pas réellement un système de fichiers, mais affiche ce qu’il ferait s’il créait un système de fichiers. Toutes les étapes du formatage sont effectuées à l’exception de l’écriture proprement dite sur l’appareil. Donc, mkntfs ne crée pas réellement le système de fichiers, mais affiche qu’il crée le travail sera effectué lorsqu’un système de fichiers. Exécutera toutes les étapes de formatage, mais ne sera pas réellement écrit sur le disque. |
-U | Générer un UUID de volume aléatoire |
Formater et créer un système de fichiers FAT
Enfin mkfs peut aussi formater en FAT (File Allocation Table), notamment pour les médias amovibles.
Voici la commande à utiliser :
mkfs -t vfat /dev/sdb2
Enfin comme les autres commandes, on peut aussi directement utiliser mkfs.vfat comme ceci :
mkfs.vfat /dev/sdb2
Voici la liste des paramètres possibles.
Paramètres | Description |
-b | Sélectionne l’emplacement du secteur de démarrage de sauvegarde pour FAT32 |
-c | Vérifiez le périphérique pour les blocs défectueux avant de créer le système de fichiers |
-D | Spécifiez le numéro de lecteur BIOS à stocker dans le secteur de démarrage FAT |
-f | Spécifiez le nombre de tables d’allocation de fichiers dans le système de fichiers |
-F | Spécifie le type de tables d’allocation de fichiers utilisées (12, 16 ou 32 bits) |
-h | Sélectionnez le nombre de secteurs cachés dans le volume |
-i | Définit l’ID de volume du système de fichiers nouvellement créé; VOLUME-ID |
-l | Lisez la liste des blocs défectueux sur FILENAME |
-M | Définit le message que l’utilisateur reçoit lors des tentatives de démarrage de ce système de fichiers sans avoir correctement installé un système d’exploitation |
-n | Spécifiez le type de média à stocker dans le secteur de démarrage FAT |
-r | Sélectionnez le nombre d’entrées disponibles dans le répertoire racine |
-R | Sélectionnez le nombre de secteurs réservés. Avec le format FAT32, au moins 2 secteurs réservés sont nécessaires, la valeur par défaut est 32 |
-s | Spécifiez le nombre de secteurs de disque par cluster. Doit être une puissance de 2 |
-S | Spécifiez le nombre d’octets par secteur logique. Doit être une puissance de 2 et supérieure ou égale à 512, c’est-à-dire 512, 1024, 2048, 4096, 8192, 16384 ou 32768. Les valeurs supérieures à 4096 ne sont pas conformes à la spécification du système de fichiers FAT et peuvent ne pas fonctionner partout |
Donner un nom de volume et monter la partition formatée
Une fois la partition de disque formatée, vous pouvez attribuer un nom au volume avec la commande e4lbabel comme ceci :
e4label /dev/sdb2 disk2
Puis on monte la partition de disque, par exemple pour monter /dev/sdb2 sur /mnt/disk2.
Cela rend alors les données accessibles.
mkdir /mnt/disk2
mount /dev/sdb2 //mnt/disk2
Enfin pour que le montage de disque se fasse au démarrage du PC et de Linux afin de le rendre permanent, il faut ajouter une ligne dans le fichier /etc/fstab.
Par exemple pour monter une partition ext4 :
/dev/sdb2 /mnt/disk2 ext4 defaults 0 0
Liens
- NTFS, EXT4 : les systèmes de fichiers Windows et Linux
- Inode dans Linux : qu’est-ce que c’est et comment les afficher
- fstab Linux : fonctionnement, structure et exemples
- mount et fstab : monter des partitions de disques ou NFS, CIFS sur Linux
- Comment vérifier l’espace disque avec la commande DF et DU sur Linux
- mkfs : formater et créer un système de fichiers (ext4, NTFS, FAT) sur Linux
- La commande lsblk : utilisations et exemples
- fdisk/gfdisk : Créer, supprimer, redimensionner des partitions de disque en ligne de commandes sur Linux
- cfdisk : Créer, supprimer, redimensionner des partitions de disque en ligne de commandes sur Linux
- Formater une partition de disque ou clé USB sur Linux Ubuntu
- GParted : redimensionner (agrandir/réduire) une partition de disque
- Comment créer un disque RAM tmpfs ou ramfs sur Linux
- Monter un partage Windows sous Linux avec Samba
- Dr.Parted Live : Live USB récupération de données et utilitaires de disque