UDF peut-il et doit-il être utilisé comme format de disque dur?

32

Plusieurs fois récemment, j'ai vu UDF suggéré comme la solution à un format multiplateforme pour un lecteur utilisé sur Linux, Mac OS X et Windows XP et supérieur.

J'ai cherché ici et je n'ai pas trouvé la même suggestion (la plupart suggèrent ntfs-3g qui semble coûter de l'argent et n'est pas préinstallé sur un Mac).

Ma question est donc: comment cela se fait-il correctement, et quelqu'un a-t-il fait cela? Avez-vous ensuite rempli le lecteur et supprimé certains fichiers pour faire de la place en constatant que tout fonctionne comme un vrai format r / w, même s'il semble qu'il s'agissait principalement d'un format à écriture unique?

Appelez-moi fou, mais j'aimerais vraiment que le système UDF soit également monté automatiquement et accessible en écriture par l'utilisateur connecté. Ce que j'ai essayé jusqu'à présent (formatage udftools comme mentionné par kicsyromy) ne répond pas à ce souhait.

Dlamblin
la source
1
Une précision: ntfs-3gc'est gratuit. Son code source est gratuit (c.-à-d. Disponible gratuitement). Il est également gratuit comme en toute liberté . ntfs-3gest le pilote NTFS dans Ubuntu! Il est légèrement technique de le créer / installer manuellement sur OS X, et Tuxera (son développeur) propose une version payante propriétaire qui est essentiellement le ntfs-3gpilote gratuit construit et conditionné pour une installation et une utilisation faciles sur OS X. Sans pilote supplémentaire, OS X ne lit que les volumes NTFS (et non les écrit), vous avez donc raison d'envisager un autre système de fichiers.
Eliah Kagan
@EliahKagan Donc, si ntfs-3g est "gratuit", alors pourquoi Apple ne l'a-t-il pas inclus pour permettre la prise en charge r / w de NTFS?
user29020
@ user29020 Je ne sais pas pendant qu'Apple choisit de ne pas l'inclure, mais vous pouvez vérifier qu'il est gratuit en téléchargeant le code source (actuellement ce fichier ), en l'extrayant et en voyant que le COPYINGfichier est la GNU GPL . Peut-être qu'Apple ne voulait pas faire le travail pour l'intégrer afin qu'il soit utilisé de manière transparente à partir du Finder. Voir aussi tuxera.com/products/tuxera-ntfs-for-mac et sourceforge.net/projects/catacombae .
Eliah Kagan
1
@ user29020 Coûts d'assistance (et si c'est un peu bogué)? Restrictions légales? Gratuit sous licence GNU GPL signifie qu'il ne peut être ajouté qu'aux sources / binaires existants qui sont à leur tour également disponibles sous la GPL. (LGPL autoriserait son utilisation comme bibliothèque par un autre code non GPL). Étant donné que le code d'Apple est largement propriétaire et autrement sous l'APSL qui n'est pas une licence compatible GPL, c'est une restriction à laquelle ils doivent se conformer. gnu.org/philosophy/apsl.html
dlamblin

Réponses:

14

Non.

Nous sommes en 2015 au moment de cette réponse. J'utilise OSX Yosemite, Ubuntu 14.10 et l'aperçu technique de Windows 10 pour les entreprises sur une machine Mactel (Macmini 7,1).

J'ai essayé UDF et exFat. J'utilise Ubuntu pour le développement et j'ai besoin d'autorisations de style Unix.

Tous les anciens guides ne s'appliquent plus: les pilotes UDF ont évolué et tous les systèmes d'exploitation accepteront une partition UDF, avec plus de problèmes et d'instabilités que je ne peux en nommer.

  • Lecteur UDF formaté sur Mac OS: ne peut pas être monté sur Windows 10.
  • Lecteur UDF formaté sous Linux: ne peut pas être monté sur Windows 10.
  • Lecteur UDF formaté sous Windows 10: montage en lecture / écriture sous Linux, en lecture seule sous OSX.

Cependant, Windows ne vous permet pas de spécifier une taille de bloc lors du formatage d'un volume UDF et, par conséquent, votre taille de bloc logique peut différer de la taille de bloc physique de la partition.

Je ne sais pas si cela a à voir avec les difficultés que j'ai eues à le monter en lecture / écriture sur OSX, mais après avoir supprimé un certain nombre de fichiers sous Linux, je n'ai plus jamais pu monter le lecteur sur OSX.

Le système tombe dans la panique du noyau et se bloque honteusement.

Ceci, et une variété de réponses sur le sujet, indiquent un support incohérent pour ce format à ce stade.

Il semblerait qu'il existe des moyens d'utiliser un volume NTFS pour atteindre un équilibre entre les fonctionnalités d'un système de fichiers moderne, les autorisations de style Unix - je pourrais peut-être les définir - et le montage en lecture / écriture sur tous les systèmes d'exploitation.

Mauro Colella
la source
1
OSX est basé sur BSD. Alors oui, c'est OSX Yosemite (10.10.2) qui connaît une panique du noyau. J'ai fini par utiliser NTFS et NTFS 3d pour OSX.
Mauro Colella
1
@Argo le deuxième état de référence, "Le -b 512 est de forcer une taille de bloc de système de fichiers égale à la taille de bloc physique de la clé USB, comme requis par la spécification UDF. Adaptez-le si vous avez la chance d'avoir une clé USB avec un taille de bloc plus appropriée. " Il vous permet donc de spécifier la taille du bloc, mais il doit être spécifié comme étant la valeur requise.
JDługosz
1
Windows 10 non monté par OS X / OS X non monté est dû à la différence dans la façon dont chaque système d'exploitation gère les tables de partition. Windows 10: en a besoin d'un. Mac OS X: nécessite UDF pour être sur le lecteur nu, comme une partition de lecteur entière.
DrYak
2
Il existe un outil formating qui prend soin des incosistencies: github.com/JElchison/format-udf
velopper
15

Quelqu'un a fait des recherches sur la façon de formater un lecteur flash avec udf afin qu'il puisse être utilisé sur autant de systèmes d'exploitation que possible. Voici ses conclusions (qui étaient , maintenant hors ligne):

  • Windows 7 a une prise en charge complète jusqu'à UDF v2.6, mais la taille de bloc UDF doit correspondre à la taille de bloc du périphérique sous-jacent (qui pour les clés USB et la plupart des disques est de 512 octets; les disques de "format avancé" sont de 4096 octets). Apparemment, le disque doit être partitionné.

  • Linux 2.6.30 et supérieur prend en charge UDF entièrement au moins jusqu'à la version 2.5.

  • Mac OS X 10.5 prend entièrement en charge UDF jusqu'à UDF 2.01, mais uniquement lorsqu'il est utilisé sur un disque complet, donc non partitionné.

Comme expliqué ci-dessus, pour les disques durs USB, Windows nécessite que le disque soit partitionné. D'un autre côté, UDF ne fonctionne sous OS X que lorsqu'il est utilisé sur un disque complet (non partitionné). De manière assez surprenante, il existe une solution qui fonctionne pour les deux: avoir le disque partitionné et non partitionné en même temps.

Les tables de partition DOS sont stockées dans les octets 446 à 510 de l'enregistrement d'amorçage principal. Cet enregistrement de démarrage principal est stocké dans le premier secteur sur le disque, le secteur 0. En règle générale, la première partition spécifiée démarrera quelques kilo-octets plus loin. Cependant, il semble possible de construire une table de partition dont la première partition commence au secteur 0, donc le résultat est une partition qui contient la table de partition elle-même. Les programmes d'éditeur de partition semblent refuser de créer une telle table, mais au moins les noyaux Linux et Windows récents ne semblent pas déranger.

La bonne chose est que UDF n'utilise pas (je suppose délibérément) les premiers kilo-octets de la partition ou du disque sur lequel il est placé, donc cet endroit peut vraiment être utilisé pour stocker une table de partition héritée, se référant à une partition qui s'étend sur l'ensemble disque. Certains tests montrent que cela fonctionne vraiment sous Linux, Windows et Mac OS X:

  • Se monte automatiquement en lecture-écriture sous Linux 2.6.30+, Mac OS X 10.5+, Windows Vista +
  • Peut être utilisé en lecture seule dans Windows XP et être utilisé après un montage en ligne de commande dans Linux 2.6.0+
  • Prend en charge les fichiers volumineux, les autorisations UNIX, les noms de fichiers Unicode, les liens symboliques, les liens physiques, etc.

Script pour formater le disque correctement: script Perl ou script Bash

Dan Benamy
la source
12

Je viens de tester cela sur une machine virtuelle. Il semble que vous devez (re) créer votre partition sous Windows lui attribuer une lettre de lecteur mais ne la formater à aucun système de fichiers. Après ce démarrage dans Ubuntu et suivez simplement les instructions et cela devrait fonctionner pour la lecture / écriture.

N'oubliez pas de sauvegarder toutes vos données!

Tout d'abord, installez les outils UDF:

sudo apt-get install udftools

Remplacez le premier bloc par rien sur la partition que vous souhaitez formater en UDF ^:

sudo dd if=/dev/zero of=/dev/sdxN bs=512 count=1

Et enfin formater en UDF ^:

sudo mkudffs --media-type=hd --blocksize=512 /dev/sdxN

^ où:

  • x est un espace réservé pour la lettre actuellement attribuée à votre disque dur

  • N est un espace réservé pour le numéro de partition

Bonne chance et faites-moi savoir si cela a fonctionné pour vous.

kicsyromy
la source
Merci cela répond au comment; Je serais toujours intéressé à savoir si cela fonctionne assez bien avec le scénario ci-dessus.
dlamblin
Cela a parfaitement fonctionné pour moi. Le seul problème est que je dois monter manuellement la partition dans Windows à l'aide du Gestionnaire de disque. En dehors de cela, je peux confirmer que cela fonctionne également avec plusieurs partitions sur le disque dur (j'utilise 1udf + 2ext4)
Nemo
La clé ici semble être de créer une partition, puis de créer un système de fichiers UDF à l'intérieur. Si vous ne créez aucune partition, cela fonctionnera sous Linux, mais pas sous Windows (7). C'est mon expérience.
DanMan
@DanMan Dan semble avoir trouvé quelqu'un qui a résolu ce problème et fournit un script pour formater un disque entier avec UDF pour Linux, Mac et Windows 7, ainsi qu'en lecture seule dans Win XP.
dlamblin
@kicsyromy: le formatage d'une partition (sdxN) en UDF n'a pas fonctionné, l'exécution sudo mkudffs --media-type=hd --blocksize=512 /dev/sdd1donne le message d'erreur suivant: trying to change type of multiple extents J'ai cependant réussi à formater UDF en utilisant le disque entier (sdd) comme décrit ici: superuser.com/questions/39942/using- udf-on-a-usb-flash-drive
Tim Banchi