Formater un périphérique USB via le Terminal sur macOS
Introduction
Sur macOS, l'Utilitaire de disque offre une interface graphique pour gérer les périphériques de stockage. Cependant, le Terminal permet un contrôle plus précis et plus rapide grâce à la commande diskutil. Cet article présente les commandes essentielles pour identifier, formater et gérer des clés USB depuis la ligne de commande.
Identifier les disques connectés
Avant toute opération, il est crucial d'identifier correctement le disque cible. Une erreur sur le numéro de disque peut entraîner la perte de données sur un autre volume.
Lister tous les disques
La commande suivante affiche l'ensemble des disques connectés au Mac :
diskutil list
Les périphériques USB apparaissent généralement sous les identifiants /dev/disk2, /dev/disk3, etc. Ils sont reconnaissables par la mention "(external, physical)" dans la sortie.
Lister uniquement les disques externes
Pour filtrer et n'afficher que les disques externes :
diskutil list external
Obtenir des informations détaillées
Pour afficher les caractéristiques complètes d'un disque spécifique :
diskutil info /dev/disk2
(Cette commande révèle le système de fichiers actuel, la capacité totale, l'UUID et d'autres métadonnées utiles)
Démonter un disque
Avant de formater, il est souvent nécessaire de démonter le volume pour libérer les ressources système.
Démonter une partition
diskutil unmountDisk /dev/disk2s1
Démonter toutes les partitions d'un disque
En utilisant l'identifiant du disque :
diskutil unmountDisk /dev/disk2
Ou en utilisant le chemin du volume monté :
diskutil unmountDisk "/Volumes/NomDuVolume"
Formater un disque
La commande principale pour formater un disque entier est eraseDisk. Elle efface toutes les données et crée une nouvelle table de partition.
Syntaxe générale
diskutil eraseDisk FORMAT NOM [SCHÉMA] /dev/diskX
Formats de système de fichiers disponibles
Voici les formats les plus couramment utilisés :
- APFS : Apple File System, recommandé pour les Mac récents et les SSD. Offre le chiffrement natif, les snapshots et une gestion optimisée de l'espace.
- JHFS+ : Mac OS Étendu (journalisé), compatible avec les anciennes versions de macOS. Alias : HFS+.
- ExFAT : Format universel compatible Mac, Windows et Linux. Idéal pour l'échange de fichiers volumineux entre systèmes.
- MS-DOS : Format FAT32, compatibilité maximale mais limité à 4 Go par fichier. Alias : FAT32.
Schémas de partition
Le schéma de partition définit la structure de la table de partition :
- GPT : GUID Partition Table, standard moderne par défaut. Recommandé pour la plupart des usages.
- MBR : Master Boot Record, pour la compatibilité avec les anciens systèmes et certains appareils.
- APM : Apple Partition Map, format historique rarement utilisé aujourd'hui.
Exemples pratiques de formatage
Formatage en APFS
Idéal pour une clé USB utilisée exclusivement sur Mac :
diskutil eraseDisk APFS MaCleUSB /dev/disk2
Ou chiffrée :
# Définir le chemin du disque et son futur nom
DISK="/dev/disk2"
NAME="MaCleUSB"
# Commandes pour formater en APFS chiffré.
# Un mot de passe vous sera demandé interactivement.
diskutil eraseDisk APFS "$NAME" "$DISK"
CONTAINER=$(diskutil info -plist ${DISK#/dev/}s2 | plutil -extract APFSContainerReference raw -)
diskutil apfs encryptVolume "${CONTAINER}s1" -user disk/code>
Formatage en ExFAT
Pour une clé partagée entre Mac, Windows et Linux :
diskutil eraseDisk ExFAT MaCleUSB /dev/disk2
Formatage en FAT32 avec schéma MBR
Pour une compatibilité maximale avec les appareils anciens ou embarqués :
diskutil eraseDisk MS-DOS MaCleUSB MBR /dev/disk2
Formatage en Mac OS Étendu (journalisé)
Pour la compatibilité avec les Mac plus anciens :
diskutil eraseDisk JHFS+ MaCleUSB /dev/disk2
Créer plusieurs partitions
La commande partitionDisk permet de diviser un disque en plusieurs partitions avec des formats différents.
Syntaxe
diskutil partitionDisk /dev/diskX NOMBRE SCHÉMA \
FORMAT1 "NOM1" TAILLE1 \
FORMAT2 "NOM2" TAILLE2
Exemple : deux partitions égales
diskutil partitionDisk /dev/disk2 2 GPT \
ExFAT "Donnees" 50% \
APFS "Sauvegarde" 50%
(Les tailles peuvent être exprimées en pourcentage, en Go avec "10G", ou "R" pour utiliser l'espace restant)
Vérification et réparation
Ces commandes permettent de diagnostiquer et corriger les erreurs sur un volume :
Vérifier l'intégrité d'un volume
diskutil verifyVolume /dev/disk2s1
Réparer un volume
diskutil repairVolume /dev/disk2s1
Éjecter proprement un disque
Toujours éjecter un disque avant de le débrancher physiquement pour éviter la corruption des données. Plusieurs syntaxes sont possibles :
Avec l'identifiant complet
diskutil eject /dev/disk2
Avec l'identifiant court
diskutil eject disk2
Avec le chemin du volume
diskutil eject "/Volumes/NomDuVolume"
(Les guillemets sont nécessaires si le nom du volume contient des espaces)
Récapitulatif des commandes
- diskutil list : Lister tous les disques
- diskutil list external : Lister les disques externes uniquement
- diskutil info /dev/diskX : Informations détaillées sur un disque
- diskutil unmountDisk /dev/diskX : Démonter un disque (identifiant)
- diskutil unmountDisk "/Volumes/Nom" : Démonter un disque (chemin)
- diskutil eraseDisk FORMAT NOM /dev/diskX : Formater un disque
- diskutil partitionDisk : Créer plusieurs partitions
- diskutil verifyVolume : Vérifier un volume
- diskutil repairVolume : Réparer un volume
- diskutil eject /dev/diskX : Éjecter un disque (identifiant complet)
- diskutil eject diskX : Éjecter un disque (identifiant court)
- diskutil eject "/Volumes/Nom" : Éjecter un disque (chemin)
Conclusion
La commande diskutil offre un contrôle complet sur les périphériques de stockage depuis le Terminal. Elle permet d'automatiser les opérations de formatage via des scripts et offre des options plus fines que l'interface graphique.
Pour explorer toutes les possibilités, consulter le manuel intégré avec man diskutil ou afficher la liste des formats disponibles avec diskutil listFilesystems.
↑ Haut de page