Attention: Amateur de GUI, les manip ci-dessous sont un peu hot, donc commencez par sauvegarder les données risquées et agissez après avoir bien réfléchi à ce que vous allez faire. C'est de l'expérimental qui marche "sauf si ça ne marche pas", et les commandes utilisées sont du genre définitives...
Les systèmes testés sont
win7, OSX-10.5, ubuntu 10.04.
Contexte
J'ai récemment été confronté au problème suivant:
Je bosse dans une boite avec des gens qui travaillent sous OSX, sous linux et sous Win7. Chacun bien accroché à son OS préféré...
Tous utilisent des clés usb. Et parfois, certains ont besoin de transférer des fichiers de plus de 4Go.
Problème: les clés USB sont formatés en fat32. Donc pas plus de 4Go (ex: impossible de copier une image de dvd, par ex...)
?Utiliser un autre format de formatage? Oui mais, si linux accepte tous les formats possibles :cool:😛,
-les fanatiques du pommier savent lire le NTFS mais ne savent pas l'écrire.:lol:
-les fanatiques de la fenêtre savent parfois lire le HFS+ mais ne savent pas l'écrire. re-:lol:
Or il existe un format lisible et inscriptible par tous, vu qu'il s'agit du format utilisé pour lire/écrire les CD-RW et autres DVD-RW: l'UDF.
Et quand on lit ses caractéristiques, il y a de quoi faire rougir de honte le bon (?) vieux fat32:
*Max file size: 16 EB
*Max filename length: 255 bytes
*Max volume size: ?
*Allowed characters in filenames Any Unicode except NUL
Évidemment, il n'y a pas de journalisation. Mais sur une clé USB, où le nombre d'écritures limite la vie du support, c'est plutôt un avantage.
Inconvénient: formater en UDF est rarement proposé, à fortiori en interface graphique, même sous linux.
Avant de foncer, lisez la suite! ::o
votrecléusb désigne la totalité de la clé et non une partition de la clé (par ex: /dev/sdd). Il semblerait qu'il soit impossible de ne formater qu'une seule partition et que celle ci soit reconnue correctement par la suite. En tout cas, j'ai souvent rencontré que des échecs en cas de transferts vers win7 ou OSX ou linux.
L'usage de dd n'est pas obligatoire mais semble donner de meilleur résultats. En effet, s'il reste la moindre trace d'un fat32 ou autre, certains systèmes s'y accrochent à tout prix et font des catastrophes... Attention: comme tout bon man vous le rappelera, dd est à manier avec précaution.
J'ai été tenté d'utiliser la
fonction VAT de l'UDF (qui permet de diminuer fortement le nombre d'écriture et d'allonger ainsi la durée de vie du support), mais outre le fait que j'ai craint qu'elle perturbe des utilisateurs non spécialistes, je n'ai pas trouvé le moyen de l'activer avec mkudffs et il semblerait que certains systèmes la supporte mal.
Enfin ce qui précède est
fortement expérimental et ne bénéficie pas des années "d’expérience" du fat32 sur clé USB. Moi même, je n'ai qu'une clé de 32go formatée en UDF qui me sert pour le transfert de fichiers de grosse taille, le reste est stocké sur une clé formatée en fat32. J'attends vos retours d’expérience.
S'il se trouve parmi vous un spécialiste es code capable de me transformer ça en un joli GUI multiplateforme, je suis preneur!
Ma première difficulté rencontrée dans cette tentative est que je ne connais pas sous windows de logiciel capable de remplir un disque de zéro comme le fait DD. A contrario, win7 permet de formater en UDF une clé usb . Sous OSX, je n'ai malheureusement pas assez d’expérience
(NB: wikipédia mentionne un "newfs_udf").
----------------------------------------------
Bref, le mode d'emploi:
Le code
1) si ce n'est pas déjà fait, on installe qui permet de faire le travail. Il suffit d'installer le paquet udftools, par exemple avec la commande suivante:
sudo apt-get install udftools
2) on nettoie à fond le disque:
sudo dd if=/dev/zero of=/dev/votrecléusb bs=2M
/dev/votrecléusb : votre clé usb. Surtout ne vous trompez pas!
3)On crée le volume UDF de type 2.01 (valeur par défaut)
sudo mkudffs --media-type=hd --blocksize=512 /dev/votrecléusb
--media-type=hd : média utilisé de type disque dur
--blocksize=512 : indispensable pour la compatibilité windows
--vid="NomDuDisque" : nomme le disque "NomDuDisque"
/dev/votrecléusb : votre clé usb. Surtout ne vous trompez pas!
edit: corrections ajoutées le 3/12/2014 après discussion ci-dessous avec sam412.