Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
|
exfat [Le 18/03/2025, 04:38] krodelabestiole ms |
exfat [Le 31/10/2025, 19:56] (Version actuelle) krodelabestiole typos / orga / (internet n'est pas un source) et note help n'existe pas (note tip plutôt ?) / sur le web souligné = lien (voir recommandations) |
||
|---|---|---|---|
| Ligne 5: | Ligne 5: | ||
| **[[wpfr>exFAT]]** (//Extended File Allocation Table//) est un système de fichiers créé en 2006 par **Microsoft** et conçu essentiellement pour les **mémoires //flash//** (comme les clés USB ou les cartes SD). | **[[wpfr>exFAT]]** (//Extended File Allocation Table//) est un système de fichiers créé en 2006 par **Microsoft** et conçu essentiellement pour les **mémoires //flash//** (comme les clés USB ou les cartes SD). | ||
| - | Il est une évolution plus moderne de **[[:FAT32]]** dont il permet de dépasser les limites : 16 exaoctets pour la taille maximale des fichiers (contre 4 Go pour [[:FAT32]]), 128 pétaoctets pour la taille maximale des partitions (contre 2 To). Il est donc mieux adapté au stockage de gros fichiers : ISO, films...\\ | + | Il est une évolution plus moderne de **[[wpfr>FAT32]]** dont il permet de dépasser les limites : 16 exaoctets pour la taille maximale des fichiers (contre 4 Go pour FAT32), 128 pétaoctets pour la taille maximale des partitions (contre 2 To). Il est donc mieux adapté au stockage de gros fichiers : ISO, films...\\ |
| Il est particulièrement utilisé pour **partager des fichiers** entre systèmes hétérogènes, car il a l'avantage d'être compatible avec de nombreux appareils : TV connectées, //media center//, Windows, macOS, Linux, appareils photos... | Il est particulièrement utilisé pour **partager des fichiers** entre systèmes hétérogènes, car il a l'avantage d'être compatible avec de nombreux appareils : TV connectées, //media center//, Windows, macOS, Linux, appareils photos... | ||
| - | **exFAT** est toutefois plus limité, moins fiable, et moins sécurisé que les systèmes de fichiers **UNIX**, privilégiés sur Linux ([[:ext4]], [[:BTRFS]]) : | + | **exFAT** est toutefois plus limité, moins fiable, moins performant et moins sécurisé que les systèmes de fichiers **UNIX**, tels que [[:ext4]] et [[:Btrfs]], privilégiés sur Linux (lui-même étant basé sur UNIX) : |
| * il ne gère pas de droit d'accès par utilisateur (les fichiers sont accessibles à toute personne ayant accès au support) | * il ne gère pas de droit d'accès par utilisateur (les fichiers sont accessibles à toute personne ayant accès au support) | ||
| * il ne peut pas être redimensionné | * il ne peut pas être redimensionné | ||
| Ligne 17: | Ligne 17: | ||
| * il ne défragmente pas à la volée, et peut finir après de nombreux cycles écriture / effacement par être très fragmenté, ce qui réduit les vitesses d'accès. | * il ne défragmente pas à la volée, et peut finir après de nombreux cycles écriture / effacement par être très fragmenté, ce qui réduit les vitesses d'accès. | ||
| - | Jusqu'au 27 août 2019, exFAT était la propriété de **Microsoft**. Des royalties étaient perçues. Les brevets exFAT sont maintenant propriété de //[[wpfr>Open invention network]]// qui en a libéré l'utilisation. L'implémentation Linux est libre. | + | Jusqu'au 27 août 2019, exFAT était la propriété de Microsoft qui percevait des royalties lors de son implémentation. Microsoft a ensuite transféré la propriété de ses brevets à //[[wpfr>Open invention network]]// qui en a libéré l'utilisation. L'implémentation Linux est donc désormais libre. |
| - | + | ||
| - | <note> | + | |
| - | Jusqu'en 2022, Linux savait lire ou créer une partition exFAT, mais pas la réparer. Depuis 2022 et la version 1.2 de **exfatprogs**, une partition exFAT peut être lue, créée et réparée.((voir //[[https://www.techzine.eu/news/devops/92986/you-can-now-repair-exfat-drives-with-linux/|you can now repair exfat]]//)) | + | |
| - | </note> | + | |
| ===== Installer le support d'exFAT ===== | ===== Installer le support d'exFAT ===== | ||
| - | Par défaut, le support du format exFAT n'est pas installé sur Ubuntu. | + | Le support du format exFAT est installé par défaut sur Ubuntu à partir de la version [[:plucky|Plucky 25.04]]. |
| - | Pour que vos clefs USB, disques USB, cartes mémoire et autres périphériques utilisant exFAT soient lus et montés automatiquement dès leur branchement, mais aussi pour pouvoir les (re)formater, il faut [[:tutoriel:comment_installer_un_paquet|installer]] le support de ce format : | + | Vos clefs USB, disques USB, cartes mémoire et autres périphériques utilisant exFAT sont donc lus et montés automatiquement dès leur branchement, et il est possible de les (re)formater. |
| - | * À partir de Ubuntu 22.04 : cliquez ici pour installer **[[apt>exfatprogs]]** (ou au terminal : **sudo apt install exfatprogs**) | + | |
| - | * Avant Ubuntu 22.04 : cliquez ici pour installer **[[apt>exfat-utils,exfat-fuse|exfat-utils exfat-fuse]]** | + | |
| - | (Rappel : Pour utiliser les liens d'installation ci-dessus, l'utilitaire **apturl** doit être installé. Si ce n'est pas encore le cas : **sudo apt install apturl**) | + | Pour les versions précédentes d'Ubuntu il faut installer le support de ce format : |
| + | * Sur [[:jammy|Jammy 22.04]] et [[:noble|Noble 24.04]], [[:tutoriel:comment_installer_un_paquet|installez le paquet]] ''[[apt>exfatprogs]]''. | ||
| + | * Sur [[:focal|Focal 20.04]] et précédents, [[:tutoriel:comment_installer_un_paquet|installez les paquets]] ''[[apt>exfat-utils exfat-fuse]]''. | ||
| ===== Formater une partition en exFAT ===== | ===== Formater une partition en exFAT ===== | ||
| + | |||
| + | Rappel : le support de exFAT doit être installé, ce qui n'est pas le cas par défaut avant la 25.04. | ||
| + | |||
| + | Pour une clé ou un disque dur USB dans [[gnome|Gnome]], le plus simple est d'utiliser l'explorateur de fichier (nautilus). Clic droit sur la clé/DD > "formater". Restera à choisir exFAT dans les options proposées. | ||
| + | |||
| + | Cette option devrait vous suffire, mais à défaut, vous avez plus d'informations ci-dessous. | ||
| ==== Le principe ==== | ==== Le principe ==== | ||
| - | |||
| - | Rappel : le support de exFAT doit être installé, ce qui n'est pas le cas par défaut. | ||
| Pour pouvoir être formatée, la partition doit exister. | Pour pouvoir être formatée, la partition doit exister. | ||
| * Concrètement, pour un support **entier** (clé, carte SD, disque), il n'y a rien de spécial à faire. | * Concrètement, pour un support **entier** (clé, carte SD, disque), il n'y a rien de spécial à faire. | ||
| - | * Par contre, pour formater un volume ne prenant **pas la totalité** du support physique, il faut d'abord créer ce volume (via [[gparted|gparted]] ou [[gnome-disk-utility|gnome-disque]]). Ce second type d'utilisation (formatage d'une partie du support) est moins fréquent. | + | * Par contre, pour formater un volume ne prenant **pas la totalité** du support physique, il faut d'abord créer ce volume (via [[:GParted]] ou [[:gnome-disk-utility|GNOME Disques]]). Ce second type d'utilisation (formatage d'une partie du support) est moins fréquent. |
| - | Le formatage découpe l'espace physique du support (clé USB, disque USB, carte SD) en secteurs logiques (cluster) stockant des données de fichiers. | + | Le formatage découpe l'espace physique du support (clé USB, disque USB, carte SD) en secteurs logiques (//clusters//) stockant des données de fichiers. |
| - | Même si le fichier ne fait qu'un seul caractère, un secteur logique **entier** est utilisé. Par exemple, le secteur logique d'une partition EXT4 occupe par défaut 512 octets (quelle que soit la taille de la partition). | + | Même si le fichier ne fait qu'un seul caractère, un secteur logique entier est utilisé. Par exemple, le secteur logique d'une partition [[:ext4]] occupe par défaut 512 octets (quelle que soit la taille de la partition). |
| - | Ce n'est pas le cas pour le formatage en exFAT, la taille des secteurs logiques dépend de la taille de la partition. **Plus la partition est grande, plus la taille des secteurs __par défaut__ est importante** (mais c'est modifiable au formatage). Si les fichiers à sauvegarder sont majoritairement très petits, on perd de la place. Il peut donc être utile de baisser la taille des secteurs (clusters) sous peine de perdre une énorme quantité d'espace disque. La valeur minima est de 1024 octets (1Ko). | + | Ce n'est pas le cas pour le formatage en exFAT, la taille des secteurs logiques dépend de la taille de la partition. Plus la partition est grande, plus la taille des secteurs //par défaut// est importante (mais c'est modifiable au formatage). Si les fichiers à sauvegarder sont majoritairement très petits, on perd de la place. Il peut donc être utile de baisser la taille des secteurs (//clusters//) sous peine de perdre une grande quantité d'espace disque. La valeur minimale est de 1024 octets (1 ko). |
| - | Voici le tableau __par défaut__ (donc modifiable) des clusters (secteurs) en fonction des tailles de partition / support (source : **man mkfs.exfat**). | + | Voici le tableau //par défaut// (donc modifiable) des //clusters// (secteurs) en fonction des tailles de partition / support (selon ''[[man>mkfs.exfat|man mkfs.exfat]]''). |
| <code bash> | <code bash> | ||
| - | Taille mini/maxi taille du cluster Taille max | + | Taille mini/maxi taille du cluster Taille max |
| - | de la clé / disque / secteur des fichiers | + | de la clé / disque / secteur des fichiers |
| - | ────────────────────────────────────────────────────── | + | ────────────────────────────────────────────────────── |
| - | ≤8 MiB 8 KiB 8 KiB | + | ≤8 MiB 8 KiB 8 KiB |
| - | >8 MiB ≤64 MiB 16 KiB 16 KiB | + | >8 MiB ≤64 MiB 16 KiB 16 KiB |
| - | >64 MiB ≤256 MiB 16 KiB 32 KiB | + | >64 MiB ≤256 MiB 16 KiB 32 KiB |
| - | >256 MiB ≤1 GiB 16 KiB 64 KiB | + | >256 MiB ≤1 GiB 16 KiB 64 KiB |
| - | >1 GiB ≤2 GiB 32 KiB 64 KiB | + | >1 GiB ≤2 GiB 32 KiB 64 KiB |
| - | >2 GiB ≤32 GiB 32 KiB 4 MiB | + | >2 GiB ≤32 GiB 32 KiB 4 MiB |
| - | >32 GiB ≤128 GiB 128 KiB 16 MiB | + | >32 GiB ≤128 GiB 128 KiB 16 MiB |
| - | >128 GiB ≤512 GiB 256 KiB 32 MiB | + | >128 GiB ≤512 GiB 256 KiB 32 MiB |
| - | >512 GiB ≤2 TiB 512 KiB 64 MiB | + | >512 GiB ≤2 TiB 512 KiB 64 MiB |
| </code> | </code> | ||
| - | <note help>Internet indique que si la taille du disque dépasse 2To, la taille du secteur logique (cluster) ne peut être abaissée en dessous de 512 KiB</note> | + | <note> |
| + | Si la taille du disque dépasse 2 To, la taille du secteur logique (//cluster//) ne peut être abaissée en dessous de 512 KiB. | ||
| + | </note> | ||
| ==== En mode graphique ==== | ==== En mode graphique ==== | ||
| - | Pour une **clé USB** dans Gnome, vous pouvez juste utiliser l'explorateur de fichier (nautilus) et y faire un **clic droit sur la clé > "formater"**. Restera à choisir exFat dans les options proposées. | + | Pour une **clé USB** dans Gnome, vous pouvez juste utiliser l'explorateur de fichier **[[:nautilus|GNOME Fichiers]]** et y faire un **clic droit sur la clé > "formater"**. Restera à choisir exFAT dans les options proposées. |
| - | Pour plus d'options, vous pouvez passer par un logiciel dédié. Il en existe 2 principaux dans Ubuntu : [[gnome-disk-utility]] ("Disques") ou [[gparted]]. Si vous utilisez Kubuntu, ce sera [[kde_partition_manager|KDE Partition Manager]]. | + | Pour plus d'options, vous pouvez passer par un logiciel dédié. Il en existe 2 principaux dans Ubuntu : **[[:gnome-disk-utility|GNOME Disques]]** et **[[:GParted]]**. Si vous utilisez [[:Kubuntu]], ce sera plutôt **[[:KDE Partition Manager]]**. |
| - | Avec ces logiciels, procédez de manière habituelle pour formater votre clé, disque externe ou carte mémoire au format exFat. | + | Avec ces logiciels, procédez de manière habituelle pour formater votre clé, disque externe ou carte mémoire au format exFAT. |
| - | Par exemple, avec **[[gnome-disk-utility]]** ("Disques"), au moment du formatage, prenez l'option "autre" qui vous permettra alors d'utiliser l'exFat. | + | Par exemple, avec **[[:gnome-disk-utility|GNOME Disques]]**, au moment du formatage, choisissez l'option "//Autre//" qui vous permettra alors d'utiliser l'exFAT. |
| ==== En ligne de commande ==== | ==== En ligne de commande ==== | ||
| Ligne 81: | Ligne 83: | ||
| ou | ou | ||
| <code>mkfs.exfat -n nom_partition /dev/sdXN</code> | <code>mkfs.exfat -n nom_partition /dev/sdXN</code> | ||
| - | en remplaçant **sans vous tromper** X et N par les bonnes valeurs du support à formater (par exemple **sdc2**). En cas d'erreur __vous formaterez le mauvais support et perdrez les données qui y sont stockées__. | + | en remplaçant **sans vous tromper** X et N par les bonnes valeurs du support à formater (par exemple **sdc2**). En cas d'erreur //vous formaterez le mauvais support et perdrez les données qui y sont stockées//. |
| - | **-n nom_partition** est optionnel et sert à donner un nom ("étiquette") à votre volume (partition) exFat. Le nom est limité à 15 caractères et il faut **éviter les espaces, les caractères accentués, cédilles et autres signes diacritiques**. | + | **-n nom_partition** est optionnel et sert à donner un nom ("étiquette") à votre volume (partition) exFAT. Le nom est limité à 15 caractères et il faut **éviter les espaces, les caractères accentués, cédilles et autres signes diacritiques**. |
| Autres options (à n'utiliser que si vous comprenez ce que vous faite) :\\ | Autres options (à n'utiliser que si vous comprenez ce que vous faite) :\\ | ||
| Ligne 100: | Ligne 102: | ||
| Pour une carte-mémoire que vous destinez à votre caméscope ou à votre appareil photo, le mieux (si la fonctionnalité existe), et de loin, est de procéder depuis l'option intégrée dans ces appareils. Le format est alors contrôlé par le fabricant de l'appareil utilisateur, ce qui garantit une compatibilité maximale. | Pour une carte-mémoire que vous destinez à votre caméscope ou à votre appareil photo, le mieux (si la fonctionnalité existe), et de loin, est de procéder depuis l'option intégrée dans ces appareils. Le format est alors contrôlé par le fabricant de l'appareil utilisateur, ce qui garantit une compatibilité maximale. | ||
| - | ===== Opération sur une partition exFat ===== | + | ===== Opération sur une partition exFAT ===== |
| - | Formater en exFat la partition d'un disque dur classique : c'est possible, même si exFat est surtout conçu pour des supports mobiles à mémoire flash (carte, clé,disque externe). | + | ==== Formatage ==== |
| - | Réparer une partition : c'est possible sous linux depuis 2022. | + | Formater en exFAT la partition d'un disque dur classique est possible, même si exFAT est surtout conçu pour des supports mobiles à mémoire flash (carte, clé,disque externe). |
| - | Déplacer une partition : possible avec [[gparted]], mais impossible avec [[gnome-disk-utility]]. | + | ==== Réparation ==== |
| - | Redimensionner une partition exFat : impossible, que ce soit sous linux ou windows. Il faut alors supprimer et recréer la partition à la bonne taille. | + | Jusqu'en 2022, Linux savait lire ou créer une partition exFAT, mais pas la réparer. Depuis 2022 et la version 1.2 de **exfatprogs**, une partition exFAT peut être lue, créée et réparée.((voir //[[https://www.techzine.eu/news/devops/92986/you-can-now-repair-exfat-drives-with-linux/|you can now repair exfat]]//)) |
| - | Défragmenter une partition exFat : impossible, que ce soit sous linux ou windows (en 2024). | + | ==== Déplacement ==== |
| - | Installer un système d'exploitation (windows ou linux) directement sur une partition exFat : impossible ou formellement déconseillé. C'est un format réservé aux échanges de fichiers. | + | Déplacer une partition est possible avec **[[:GParted]]**, mais impossible avec **[[:gnome-disk-utility|GNOME Disques]]**. |
| + | |||
| + | ==== Redimensionnement ==== | ||
| + | |||
| + | Redimensionner une partition exFAT est //impossible//, que ce soit sous Linux ou Windows. Il faut alors supprimer et recréer la partition à la bonne taille. | ||
| + | |||
| + | ==== Défragmentation ==== | ||
| + | |||
| + | Défragmenter une partition exFAT est impossible, que ce soit sous Linux ou Windows (en 2024). | ||
| + | |||
| + | Les supports prévus pour ce système de fichiers ne sont pas sensibles aux effets de la fragmentation. | ||
| + | |||
| + | ==== Installation système ==== | ||
| + | |||
| + | Installer un système d'exploitation (Windows ou Linux) directement sur une partition exFAT est impossible ou formellement déconseillé. Ce format est réservé aux échanges de fichiers. | ||
| + | |||
| + | ===== Monter une partition exFAT ===== | ||
| + | |||
| + | Monter un système de fichier signifie le rendre accessible à n'importe quelle application sur votre ordinateur. | ||
| + | |||
| + | Normalement, les supports externes se montent automatiquement lors de leurs connexions à votre PC, il n'y a alors rien à faire. Cependant des cas particuliers peuvent se poser et on peut avoir besoin de procéder manuellement : | ||
| + | * Si vous avez besoin de monter automatiquement une partition **exFAT** lors du démarrage de votre PC voici un exemple de ligne à ajouter au fichier ''/etc/fstab'' :<code>/dev/disk/by-uuid/77FE-F707 /media/fred/film/ exfat defaults,rw,uid=1000,gid=1000,umask=0002 0 1</code>Le point important est ''defaults,rw,uid=1000,gid=1000,umask=0002'' qui permets un accès en lecture / écriture. Un simple ''defaults'' passerait le support en lecture seule. | ||
| + | * Si vous avez besoin de monter ponctuellement en ligne de commande :<code>sudo mount UUID=77FE-F707 /media/chris/film_music/ -o defaults,rw,uid=1000,gid=1000,umask=0002</code>Sans l'option ''-o'' (et la valeur qui suit), le support sera en lecture seule. | ||
| ===== Contrôler la qualité ===== | ===== Contrôler la qualité ===== | ||
| - | La commande **sudo fsck /dev/xxx** vous permet d'avoirs des informations sur le support xxx utilisé : taille, utilisation, ... | + | La commande ''sudo fsck /dev/xxx'' vous permet d'avoirs des informations sur le support ''xxx'' utilisé : taille, utilisation, etc. |
| <code bash>sudo fsck /dev/sdb17 | <code bash>sudo fsck /dev/sdb17 | ||
| fsck de util-linux 2.34 | fsck de util-linux 2.34 | ||
| Ligne 131: | Ligne 155: | ||
| fsck de util-linux 2.37.2 | fsck de util-linux 2.37.2 | ||
| exfatprogs version : 1.1.3 | exfatprogs version : 1.1.3 | ||
| - | /dev/sdc1: clean. directories 86, files 1683 </code> | + | /dev/sdc1: clean. directories 86, files 1683</code> |
| ===== Contrainte et limites ===== | ===== Contrainte et limites ===== | ||
| + | |||
| ExFAT ne prend pas en charge les liens symboliques et les fichiers cachés. | ExFAT ne prend pas en charge les liens symboliques et les fichiers cachés. | ||
| - | Les noms de répertoires et de fichiers ne peuvent contenir ces caractères spéciaux **/ \ | : * ? " < >**\\ | + | Les noms de répertoires et de fichiers ne peuvent contenir ces caractères spéciaux ''/ \ | : * ? " < >''.\\ |
| Les copies vers un disque / partition exFAT échoueront donc pour les fichiers contenant ces caractères, sauf correction.\\ | Les copies vers un disque / partition exFAT échoueront donc pour les fichiers contenant ces caractères, sauf correction.\\ | ||
| - | Les noms de fichiers et répertoires ne peuvent pas non plus avoir de caractère "**espace**" ou "**.**" en __début/fin__ de nom (mais ils peuvent en avoir à l'intérieur).\\ | + | Les noms de fichiers et répertoires ne peuvent pas non plus avoir de caractère //espace// '' '' ou //point// ''.'' en //début// ou //fin// de nom (mais ils peuvent en avoir à l'intérieur).\\ |
| - | Enfin, ces noms sont **insensibles à la casse** : les caractères « minuscules » et « majuscules » sont équivalents. Linux peut avoir dans le même répertoire 2 fichiers avec le même nom __si__ la casse est différente : **pas exFAT**. | + | Enfin, ces noms sont **insensibles à la casse** : les caractères minuscules et majuscules sont considérés comme équivalents. Hors Linux peut avoir dans le même répertoire 2 fichiers différents ayant les mêmes caractères et une casse différente dans leurs noms : **pas exFAT**. |
| - | Exemples <code bash> touch '/' ; touch '\' ; touch ':' ; touch '?' ; touch '*' ; touch '<' ; touch '>' ; touch '"' ; touch ' b C ' ; touch ' B c ' ; ls -ls | + | Exemples :<code bash> touch '/' ; touch '\' ; touch ':' ; touch '?' ; touch '*' ; touch '<' ; touch '>' ; touch '"' ; touch ' b C ' ; touch ' B c ' ; ls -ls |
| touch: initialisation des dates de '/': Permission non accordée | touch: initialisation des dates de '/': Permission non accordée | ||
| touch: initialisation des dates de '\': Aucun fichier ou dossier de ce type | touch: initialisation des dates de '\': Aucun fichier ou dossier de ce type | ||
| Ligne 168: | Ligne 193: | ||
| echo Liste des fichiers à contrôler; cat /tmp/ProblèmesEXFAT.txt</code> | echo Liste des fichiers à contrôler; cat /tmp/ProblèmesEXFAT.txt</code> | ||
| + | ===== Voir aussi ===== | ||
| - | ===== Voir aussi ===== | ||
| * [[https://www.pcastuces.com/pratique/materiel/fat32_exfat_ntfs/page4.htm|PC astuce]] | * [[https://www.pcastuces.com/pratique/materiel/fat32_exfat_ntfs/page4.htm|PC astuce]] | ||
| * [[https://www.touslesdrivers.com/index.php?v_page=3&v_code=7351|Freebox]] | * [[https://www.touslesdrivers.com/index.php?v_page=3&v_code=7351|Freebox]] | ||
| Ligne 175: | Ligne 200: | ||
| * [[https://forum.ubuntu-fr.org/viewtopic.php?pid=22726424#p22726424|Un témoignage.]] | * [[https://forum.ubuntu-fr.org/viewtopic.php?pid=22726424#p22726424|Un témoignage.]] | ||
| * [[https://forum.ubuntu-fr.org/viewtopic.php?id=2084413|Un comparatif]] | * [[https://forum.ubuntu-fr.org/viewtopic.php?id=2084413|Un comparatif]] | ||
| - | |||
| - | |||
| - | |||