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 23/03/2024, 15:37] 86.202.8.12 [Opération sur une partition exFat] |
exfat [Le 19/04/2024, 13:52] (Version actuelle) 91.161.152.215 [Voir aussi] |
||
---|---|---|---|
Ligne 6: | Ligne 6: | ||
Il permet de dépasser les limites de FAT32 : 4 Gio par fichier et 2 To par partition. Avec exFat, les limites sont tellement élevées qu'on peut ne pas en tenir compte (16 exaoctets pour les fichiers, 128 pétaoctets pour les partitions).\\ | Il permet de dépasser les limites de FAT32 : 4 Gio par fichier et 2 To par partition. Avec exFat, les limites sont tellement élevées qu'on peut ne pas en tenir compte (16 exaoctets pour les fichiers, 128 pétaoctets pour les partitions).\\ | ||
- | Contrairement à des systèmes de fichiers comme Ext4, BTRFS ou NTFS, les systèmes de fichiers FAT ou exFat ne gèrent pas des droits d'accès différenciés par utilisateur. Les fichiers sont donc accessibles à toute personne ayant accès au support (disque, carte, clé). | + | Prévu pour des supports mobiles (disque, carte, clé), exFat est (comme FAT32) plus limité que des systèmes de fichiers comme Ext4, BTRFS ou NTFS : il ne gère pas des droits d'accès par utilisateur (les fichiers sont accessibles à toute personne ayant accès au support) ; il ne peut être redimensionné ; il n'accepte pas les caractères spéciaux dans les noms de fichiers ou de répertoires ; il ne distingue pas majuscules et minuscules dans les noms de fichiers ou de répertoires ; il n'a pas de journalisation ; il ne peut être chiffré au niveau //File System// ; il n'a pas de défragmentation à 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 [[https://fr.m.wikipedia.org/wiki/Open_invention_network|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. Des royalties étaient perçues. Les brevets exFat sont maintenant propriété de [[https://fr.m.wikipedia.org/wiki/Open_invention_network|Open invention network]] qui en a libéré l'utilisation. L'implémentation linux est libre. | ||
Ligne 24: | Ligne 24: | ||
===== Formater une partition en exfat ===== | ===== Formater une partition en exfat ===== | ||
+ | ==== Le principe ==== | ||
Rappel : le support de exFat doit être installé, ce qui n'est pas le cas par défaut. | 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. Concrètement, pour un support entier (clé, carte SD, disque), il n'y a rien de spécial à faire. 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]]). | ||
+ | |||
+ | Le formatage va permettre de découper l'espace physique en secteurs logiques (cluster) stockant des données de fichiers. | ||
+ | Si le fichier ne fait qu'un seul caractère, un secteur logique est utilisé. | ||
+ | En règle générale, un secteur logique d'une partition EXT4 occupe toujours 512 octets (dans certains cas il est aligné sur le secteur physique: 4096 ) quelque soit la taille de la partition. | ||
+ | |||
+ | Ce n'est pas le cas pour le formatage en EXFAT, la taille de ce secteur logique dépend de ta taille de la partition. Plus la partition est grande, plus la taille d'allocation est importante. Si les fichiers à sauvegarder sont très petits, il peut être nécessaire de fixer soit-même la taille du secteur sous peine de perdre une énorme quantité d'espace disque. La valeur minima est de 1024. Donc quoiqu'on fasse, une partition EXTFAT peut contenir deux fois moins de fichiers de très petite taille à capacité égale si choix de partition EXT4 ou NTFS. | ||
+ | Voici le tableau par défaut. <code bash> man mkfs.exfat | ||
+ | Card Capacity Range Cluster Size Boundary Unit | ||
+ | ────────────────────────────────────────────────────── | ||
+ | ≤8 MiB 8 KiB 8 KiB | ||
+ | >8 MiB ≤64 MiB 16 KiB 16 KiB | ||
+ | >64 MiB ≤256 MiB 16 KiB 32 KiB | ||
+ | >256 MiB ≤1 GiB 16 KiB 64 KiB | ||
+ | >1 GiB ≤2 GiB 32 KiB 64 KiB | ||
+ | >2 GiB ≤32 GiB 32 KiB 4 MiB | ||
+ | >32 GiB ≤128 GiB 128 KiB 16 MiB | ||
+ | >128 GiB ≤512 GiB 256 KiB 32 MiB | ||
+ | >512 GiB ≤2 TiB 512 KiB 64 MiB</code><note help>Internet indique que si la taille du disque dépasse 2To, la taille du secteur logique resterait limitée à 512 KiB</note> | ||
+ | |||
+ | |||
+ | |||
==== En mode graphique ==== | ==== En mode graphique ==== | ||
Il existe 2 logiciels principaux sous Ubuntu : [[gnome-disk-utility]] ("Disques") ou [[gparted]]. Si vous utilisez Kubuntu, [[kde_partition_manager|KDE Partition Manager]]. | Il existe 2 logiciels principaux sous Ubuntu : [[gnome-disk-utility]] ("Disques") ou [[gparted]]. Si vous utilisez Kubuntu, [[kde_partition_manager|KDE Partition Manager]]. | ||
Ligne 36: | Ligne 60: | ||
ou | ou | ||
<code>mkfs.exfat -n nom_partition /dev/sdXN</code> | <code>mkfs.exfat -n nom_partition /dev/sdXN</code> | ||
- | en remplaçant avec **certitude** X et N par les bonnes valeurs du support à formater (par exemple **sdc2**). __Sinon 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. **Évitez 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) :\\ | ||
- | **-i VOL_ID** : définit l’ID du volume à la valeur spécifiée dans VOL_ID. Il s’agit d’un nombre hexadécimal de 32 bits. S’il n’est pas défini, un ID basé sur l’heure actuelle est défini. | + | **-c Nk** Permet de forcer la taille du cluster à une autre valeur que celle prévue au tableau ci-dessus. Utile en cas de multitudes de petits fichiers. |
- | **-p SECTOR** : spécifie le premier secteur de la première partition du disque. Ce paramètre est facultatif et la valeur par défaut est zéro. | + | **--pack-bitmap** : Met la description en fin de zone allouée. C’est plus performant mais contraire à la norme. |
- | **-s SECTORS** : définit le nombre de secteurs physiques par grappe d’allocation. Il doit s’agir d’une puissance de deux, comme 1, 2, 4, 8, etc. Facultatif. | + | **-i VOL_ID** : Définit l’ID du volume à la valeur spécifiée dans VOL_ID. Il s’agit d’un nombre hexadécimal de 32 bits. S’il n’est pas défini, un ID basé sur l’heure actuelle est défini. |
+ | |||
+ | **-p SECTOR** : Spécifie le premier secteur de la première partition du disque. Ce paramètre est facultatif et la valeur par défaut est zéro. | ||
+ | |||
+ | **-s SECTORS** : Définit le nombre de secteurs physiques par grappe d’allocation. Il doit s’agir d’une puissance de deux, comme 1, 2, 4, 8, etc. Facultatif. | ||
Ligne 52: | Ligne 80: | ||
===== 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). | ||
+ | |||
Déplacer une partition : possible avec [[gparted]], mais impossible avec [[gnome-disk-utility]]. | Déplacer une partition : possible avec [[gparted]], mais impossible avec [[gnome-disk-utility]]. | ||
Redimensionner une partition exFat : impossible, que ce soit sous linux ou windows. Il faut alors supprimer et recréer la partition à la bonne taille. | Redimensionner une partition exFat : impossible, que ce soit sous linux ou windows. Il faut alors supprimer et recréer la partition à la bonne taille. | ||
+ | |||
+ | Défragmenter une partition exFat : impossible, que ce soit sous linux ou windows (en 2024). | ||
+ | |||
+ | 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. | ||
===== Contrôler la qualité ===== | ===== Contrôler la qualité ===== | ||
Ligne 76: | Ligne 110: | ||
Exfat ne prend pas en charges les liens symboliques et les fichiers cachés. | Exfat ne prend pas en charges les liens symboliques et les fichiers cachés. | ||
- | Les noms de répertoires et de fichiers ne peuvent contenir de caractères spéciaux (/ \ : * ? " < > | ou "espace" en début/fin de nom). Ces noms sont de plus 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. | + | 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 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).\\ | ||
+ | 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**. | ||
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 | ||
Ligne 111: | Ligne 148: | ||
* [[https://support.wdc.com/knowledgebase/answer.aspx?ID=5521&lang=fr|WDC]] | * [[https://support.wdc.com/knowledgebase/answer.aspx?ID=5521&lang=fr|WDC]] | ||
* [[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]] | ||