Mkfs

De wiki.nexiat.fr
Aller à la navigation Aller à la recherche
Fiche express
Domaine Formatage de systèmes de fichiers
Commande mkfs, mkfs.ext4, mkfs.xfs...
Contexte Créer un système de fichiers sur une partition ou un périphérique bloc
Destructif Oui — efface toutes les données existantes sur la cible
Voir aussi Fdisk (partitionnement préalable), Tune2fs (réglages ext après coup), Fstab (montage)

mkfs ("make filesystem") crée un système de fichiers sur une partition ou un périphérique bloc. C'est une commande générique qui délègue le vrai travail à un binaire spécifique par type de système de fichiers (mkfs.ext4, mkfs.xfs, mkfs.vfat...) — mkfs -t ext4 /dev/sdb1 et mkfs.ext4 /dev/sdb1 sont strictement équivalents.

⚠️ Opération destructive et irréversible. Formater écrase l'intégralité des données du périphérique ciblé, sans confirmation par défaut sur la plupart des variantes. Avant toute exécution, vérifier systématiquement l'identité exacte de la cible avec lsblk (voir l'arborescence des disques/partitions et confirmer la taille attendue) et blkid (repérer un système de fichiers déjà présent, un UUID connu, un label — un périphérique qui répond déjà à blkid contient probablement des données utiles). Le partitionnement préalable se fait avec Fdisk (ou un outil équivalent) : mkfs formate une partition ou un volume déjà créé, il ne le crée pas.

Utilisation de base

mkfs.ext4 /dev/sdb1        # formater en ext4 (usage général, journalisé)
mkfs.xfs  /dev/sdb1        # formater en XFS (gros volumes, bonnes perfs en écriture parallèle)
mkfs.vfat /dev/sdb1        # formater en FAT32 (clé USB, interopérabilité)

mkfs -t ext4 /dev/sdb1     # forme générique équivalente à mkfs.ext4

Option -b : taille de bloc

-b fixe la taille de bloc du système de fichiers, exprimée directement en octets — ce n'est pas un calcul à faire, on donne la valeur finale voulue (1024, 2048 ou 4096 la plupart du temps sur ext) :

mkfs.ext4 -b 4096 /dev/sdb1   # bloc de 4096 octets (défaut courant sur ext4, aligné sur la page mémoire x86_64)
mkfs.xfs  -b size=4096 /dev/sdb1  # équivalent côté XFS, syntaxe clé=valeur

4096 octets est la taille par défaut sur la plupart des systèmes ext4 récents (elle correspond à la taille de page mémoire standard sur x86_64, ce qui optimise les accès), pas le résultat d'un doublement de 2048. Une taille de bloc plus petite (1024) réduit le gaspillage sur des partitions contenant beaucoup de petits fichiers mais augmente le nombre de blocs à gérer (métadonnées, fragmentation) ; une taille plus grande limite l'overhead sur de gros fichiers mais gaspille de l'espace pour les petits (chaque fichier occupe au minimum un bloc entier). ext4 limite en général le choix à 1024/2048/4096 selon l'architecture.

Option -m : réserve pour root (ext)

-m définit le pourcentage de blocs réservés à l'utilisateur root (ou plus précisément non accessibles aux utilisateurs non-root) :

mkfs.ext4 -m 5 /dev/sdb1   # 5 % réservés à root (défaut historique ext2/3/4)
mkfs.ext4 -m 0 /dev/sdb1   # aucune réserve — tout l'espace disponible pour tous

Cette réserve sert historiquement à garantir que les processus système (et root) puissent continuer à écrire (logs, sockets...) même quand une partition est pleine à 100 % du point de vue des utilisateurs normaux. Le défaut de 5 % est pertinent sur / ou /var, mais souvent excessif sur un gros volume de données dédié (backup, médiathèque...) où -m 0 ou -m 1 évite de perdre des dizaines de Go inutilement. La valeur peut aussi être ajustée après coup, sans reformater, avec tune2fs -m.

Vérifier la cible avant de formater

lsblk                      # lister disques et partitions, tailles, points de montage actuels
blkid                      # voir le type de FS existant, UUID, label éventuels
blkid /dev/sdb1            # cibler un seul périphérique

Après le formatage

Une fois le système de fichiers créé, il reste à le monter (ponctuellement avec mount, ou de façon persistante via Fstab), et éventuellement à ajuster ses paramètres a posteriori (réserve root, label, comportement au montage) avec Tune2fs pour ext2/3/4.

Voir aussi

  • Fdisk — créer/modifier les partitions avant de les formater
  • Tune2fs — ajuster les paramètres d'un système de fichiers ext existant (réserve root, label, intervalle de vérification...)
  • Fstab — monter durablement le système de fichiers créé