web-dev-qa-db-fra.com

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

Plusieurs fois récemment, j'ai vu UDF suggérée comme solution à un format multiplateforme pour un lecteur utilisé sous Linux, Mac OS X et Windows XP et versions ultérieures.

J'ai cherché ici et 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 la suivante: comment cela est-il bien fait et est-ce que quelqu'un l'a fait? Avez-vous ensuite rempli le lecteur et supprimé des fichiers pour faire de l’espace en constatant que tout fonctionne comme un vrai format r/w, même s’il semble qu’il s’agisse essentiellement 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 à l'utilisateur connecté. Ce que j’ai essayé jusqu’à présent (le formatage udftools mentionné par kicsyromy) ne répond pas à ce souhait.

31
dlamblin

Non.

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

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

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

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

Toutefois, Windows ne vous autorise pas à spécifier une taille de bloc lors du formatage d'un volume UDF. Par conséquent, la taille de votre bloc logique peut être différente de celle du bloc physique de la partition.

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

Le système entre en panique dans le noyau et se bloque de façon honteuse.

Ceci, ainsi que diverses réponses sur le sujet, indiquent un support incohérent pour ce format à ce stade.

Il semblerait que je puisse utiliser un volume NTFS pour équilibrer les fonctionnalités d’un système de fichiers moderne, avec des autorisations de type Unix - je pourrais peut-être les définir - et lire/écrire monter sur tous les systèmes d'exploitation.

13
Mauro Colella

Quelqu'un a fait des recherches sur la manière 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 (anciennement , maintenant hors ligne):

  • Windows 7 prend en charge entièrement la version 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 ont une taille de 512 octets; les disques "au format avancé" ont une taille de 4096 octets). Apparemment, le disque doit être partitionné.

  • Linux 2.6.30 et les versions ultérieures prennent entièrement en charge UDF au moins jusqu'à la version 2.5.

  • Mac OS X 10.5 prend en charge complètement UDF jusqu'à UDF 2.01, mais uniquement lorsqu'il est utilisé sur un disque complet et 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 que sous OS X 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 partitions DOS sont stockées dans les octets 446 à 510 de l'enregistrement de démarrage principal. Cet enregistrement de démarrage principal est stocké dans le premier secteur du 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, le résultat est donc une partition contenant la table de partition elle-même. Les programmes d’éditeur de partitions 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 quelques premiers kilo-octets de la partition ou du disque sur lequel il est placé; disque. Certains tests montrent que cela fonctionne vraiment sur Linux, Windows et Mac OS X:

  • Monte automatiquement en lecture-écriture sous Linux 2.6.30+, Mac OS X 10.5+, Windows Vista +
  • Peut être utilisé en lecture seule sous Windows XP et après un montage en ligne de commande sous 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

15
Dan Benamy

Je viens de tester cela sur une machine virtuelle. Il semble que vous deviez (re) créer votre partition dans Windows et lui attribuer une lettre de lecteur, mais ne la formatez pas dans un système de fichiers. Après cela, démarrez Ubuntu et suivez les instructions. Cela devrait fonctionner en lecture/écriture.

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

Commencez par installer les outils UDF:

Sudo apt-get install udftools

Remplacez le premier bloc par rien sur la partition que vous souhaitez formater au format 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ù par:

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

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

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

12
kicsyromy