Après avoir échoué à copier un fichier plus gros que 4G sur mon lecteur flash USB 8G , je l’ai formaté en ext3. Bien que cela fonctionne bien pour moi jusqu'à présent, cela posera des problèmes si je veux l'utiliser pour copier des fichiers sur une personne qui n'utilise pas Linux.
Je songe plutôt à le formater au format UDF , ce qui, je l’espère, lui permettrait d’être lu (et éventuellement écrit) sur les trois systèmes d’exploitation les plus répandus (Windows, MacOS et Linux), sans avoir à installer de pilotes supplémentaires . Cependant, d'après ce que j'ai trouvé sur le Web, il semble y avoir plusieurs petits pièges liés aux paramètres utilisés pour créer le système de fichiers, ce qui peut réduire la compatibilité (mais la plupart des pages que j'ai trouvées traitent de supports optiques, et non de clés USB). disques).
J'aimerais savoir:
- Quel utilitaire dois-je utiliser pour créer le système de fichiers? (Jusqu'à présent, j'ai trouvé
mkudffs
etgenisoimage
, etmkudffs
semble être la meilleure option.) - Quels paramètres dois-je utiliser avec l'utilitaire choisi pour une compatibilité maximale?
- Quel est le degré de compatibilité avec les versions les plus courantes de ces trois systèmes d’exploitation UDF?
- Utiliser UDF est-il réellement la meilleure idée? Existe-t-il un autre système de fichiers qui aurait une meilleure compatibilité, sans aucune restriction problématique, telle que la limite de taille de fichier FAT32 4G, et sans avoir à installer de pilotes spéciaux sur chaque ordinateur le touchant?
Réponses:
Tout d’abord, j’ai mis le disque à zéro avant de créer le système de fichiers UDF avec:
Cela évitera tout reste de superblocs ou d’autres métadonnées qui pourrait perturber la détection du type de système de fichiers du système d’exploitation (il faudrait au moins mettre à zéro le premier secteur pour effacer la table de partition; table de partition pourrait vraiment confondre les choses). Vous pouvez également utiliser le
count=1
commutateur sur la commande dd, afin de mettre à zéro plus rapidement que les 512 premiers octets du lecteur (où se trouve généralement le MBR), bien que cela n'ait pas été testé.Pour créer le système de fichiers, la commande que j'ai utilisée était la suivante:
mkudffs
Cette commande sera disponible sur les distributions Linux basées sur Debian (telles que Ubuntu) après l’installation d’unudftools
paquet:La taille de bloc par défaut pour
mkudffs
est 2048, ce qui est faux pour un lecteur flash USB (qui utilise des secteurs de 512 octets). Étant donné que la taille de bloc est utilisée pour rechercher les métadonnées du système de fichiers, l'utilisation d'une taille de bloc incorrecte peut empêcher son identification comme système de fichiers UDF (car l'ancre ne sera pas à l'emplacement attendu par le pilote du système de fichiers). Notez que lamkudffs
page de manuel est incorrecte. 512 est une valeur valide pour la taille du bloc (et le code l'accepte explicitement).J'ai également utilisé l'ensemble du disque au lieu d'une partition; cela devrait être plus compatible.
Le résultat de mes tests jusqu'à présent:
bs=512
option tomount
, car il a utilisé incorrectement 2048 à la place de la taille du secteur du périphérique (corrigée dans la validation 1197e4d ).Bien que je n’aie pas essayé jusqu’à présent de créer un fichier plus volumineux que 4G, je ne vois aucune raison pour laquelle cela ne fonctionnerait pas.
Etant donné que cela fonctionnait parfaitement sur tous les systèmes d'exploitation récents (ne nécessitant que le montage manuel sur Linux, qui ne sera plus nécessaire dès la sortie d'Ubuntu 9.10 et Fedora 12), et fonctionnait en lecture seule sous Windows XP (ce qui était une surprise pour moi; je m'attendais à ce qu'il ne reconnaisse pas du tout le système de fichiers), utiliser UDF au lieu de FAT32 ou NTFS dans de grandes clés USB semble une bonne idée.
la source
dd if=/dev/zero of=/dev/sdb bs=1M
, ce qui le laisse sans aucune table de partition.CesarB a fait un excellent travail pour arriver au coeur du problème. Une chose que l’on ne saurait trop souligner, c’est combien il est important d’utiliser la taille de bloc appropriée lors du formatage UDF.
Inspiré par le message de CesarB (et mes autres recherches / tests), j'ai écrit un script pour automatiser le processus de formatage dans UDF - en utilisant la taille de secteur correctement détectée. Voir format-udf sur GitHub . Caractéristiques notables:
A cause du dernier point, ce script que j'ai écrit ne peut pas être utilisé sous Windows. Cependant, le script fonctionnera sous OS X et Linux. Après cela, Windows devrait pouvoir détecter par magie le lecteur UDF nouvellement formaté.
Pour répondre directement aux questions posées, format-udf va:
la source
hdparm
s'appelle "taille de secteur logique" est l'unité d'adressage utilisée par le protocole SATA, alors que "taille de secteur physique" est une chose interne au lecteur. Pour moi, il est plus logique que les "blocs physiques" de la spécification UDF désignent réellement les "blocs logiques" de Linux.mkudffs
directement; Je veux dire en ajoutant une nouvelle--best-block-size
option àmkudffs
.Je crois me souvenir que, après avoir fait cela, le problème que j’ai rencontré est que la version Linux que je l’avais montée en lecture seule, car le pilote n’avait pas été construite pour r / w. Cela a fonctionné dans Windows, et je pense que mac.
Oui, il est difficile de trouver une bonne solution. Pendant un certain temps, j'ai eu un lecteur externe avec une partition fat32 qui contenait des pilotes pour win et mac, une partition mac et une grande partition ext3. Cela a fonctionné, mais cela impliquait l'installation de pilotes. L'astuce était qu'il était également amorçable sur un mac (fw & usb), vous devez laisser de l'espace et prendre des notes, puis vous pouvez ajouter des partitions via la ligne de commande et une table de partitions mac.
Le monde a besoin d’un système de fichiers gratuit et utilisable par tous. ZFS serait un bon choix. :-)
la source
Pieter Wuille a écrit un outil pour partitionner et formater un disque afin de créer une structure UDF compatible avec Windows (> = Vista, en lecture seule pour XP), MacOS X 10.5, Linux 2.6.30+:
Alternativement:
la source
Pour atteindre une compatibilité maximale, vous devez utiliser mkudffs du projet udftools au moins dans la version 2.0. Aucun paramètre spécial n'est nécessaire, tout est détecté automatiquement.
Il y a 3 grandes restrictions:
Les systèmes Microsoft Windows ne reconnaissent pas un disque dur non amovible s'il ne possède pas de table de partition MBR ou GPT.
Les systèmes Apple Mac OS X ne reconnaissent pas le système de fichiers UDF sur un disque partitionné.
Tous les systèmes (à l'exception des noyaux Linux récents) ne reconnaissent probablement pas le système de fichiers UDF si la taille du bloc UDF ne correspond pas à la taille du secteur logique du disque.
Depuis la version 2.0, l’outil mkudffs gère les 3 restrictions. Lors du formatage de disques durs non amovibles, il crée un "faux" tableau MBR qui commence au secteur 0 et couvre tout le disque. Ainsi, le système de fichiers UDF peut être lu à partir de la première partition (nécessaire pour Microsoft Windows) ou du disque entier (nécessaire pour Apple Mac OS X). Voir la page de manuel mkudffs 2.0 pour plus de détails.
la source
NTFS, avec NTFS-3G, vous pouvez y écrire en utilisant Linux et consulter http://macntfs-3g.blogspot.com/ pour votre Mac.
la source
Certains pilotes pour Windows (et Mac) peuvent accéder aux partitions EXT3. Vous pouvez donc le formater en EXT3 et l'utiliser (avec les pilotes) partout. Une autre solution consisterait à utiliser un archiveur pour stocker le fichier volumineux dans au moins deux fichiers de 4 Go maximum. De cette façon, vous pouvez utiliser le système de fichiers FAT32 qui est universel. Sur l'ordinateur hôte, vous devez extraire l'archive pour pouvoir l'utiliser, mais c'est un moyen de le faire sans pilotes. Utilisez un archiveur au format RAR car il fonctionne sous Windows, Linux, Mac, même si je pense qu'un format ZIP pourrait également fonctionner. Mais j'irais avec les chauffeurs. Une fois installé, vous pouvez faire n'importe quoi sans restrictions. Sur le PC, j'ai utilisé Ext2Fsd pour un accès complet à EXT2, EXT3 et EXT4 et Macdrive pour un accès complet au format MacOS. Il existe sûrement des outils similaires pour Linux et MacOS afin d’accéder pleinement aux partitions NTFS, etc. Si vous n'avez besoin que d'un accès en lecture, vous n'avez besoin d'aucun pilote. Linux et MacOS prennent en charge la lecture des partitions NTFS. Formatez donc la clé USB en tant que NTFS! Si tous ces ordinateurs sont sur le même réseau, les choses sont plus simples! Créez le format USB et partagez-le sur le réseau. Les autres ordinateurs ne devraient pas avoir de problème pour y accéder!
la source