Avec quel outil dois-je formater un disque dur en UDF?

32

(Il s'agit d'un suivi de " Quel est l'ID de partition / type de système de fichiers pour UDF? ")

Je connais deux façons de formater un disque dur en UDF:

  • Windows Vista ou version ultérieure: " format x: /fs:UDF" (ne pas utiliser /q!)
  • Linux: " mkudffs --media-type=hd --blocksize=512 /dev/sdx"

Le problème est que «l'autre» OS ne reconnaît pas du tout le disque comme formaté: il refuse simplement de le monter, quelles que soient les commandes que j'essaye.

Comment puis-je formater un disque dur en UDF pour que Windows et Linux puissent l'utiliser?

EDIT: mise à jour des commandes, maintenant le résultat devrait fonctionner dans l'un ou l'autre OS.

skolima
la source
UDF a été conçu pour les supports optiques, c'est peut-être le problème?
Chopper3
1
La commande que vous donnez fonctionne très bien sur Linux. J'ai formaté sur Karmic et je peux lire et écrire sous Windows 7 et Karmic.
Matt Joiner
4
N'oubliez pas de mettre à zéro le MBR en premier (dd if = / dev / zero of = / dev / sdx bs = 512 count = 1), pour éviter toute confusion avec une table de partition restante (car UDF n'utilise pas le premier secteur).
CesarB
1
Merci Skolima, c'est super. Au revoir FAT32. Je dois seulement faire attention à m'en tenir à la version UDF 2.01 et à la taille de bloc 512 et j'ai la partition de disque dur parfaite partagée entre Linux et Windows.
MarcH

Réponses:

17

Il s'avère que l'utilisation du /qcommutateur sur Windows était le coupable: il permet un «formatage rapide», c'est-à-dire que le processus de formatage se poursuit en arrière-plan à chaque écriture effectuée sur le disque. Une fois terminé, le lecteur est très bien géré par Linux.

skolima
la source
D'un autre côté, le formatage avec les mkudffs de Linux semble se terminer avec succès en quelques secondes.
MarcH
En fait, j'ai dû faire un formatage rapide sous Win7 après avoir créé le système de fichiers avec mkudffs sous Linux. Sans cela, Windows n'a cessé de vouloir formater le disque. Il a fini par créer un espace vide de 5 Mo à la fin du lecteur, pour une raison quelconque. Mais au moins, cela fonctionne maintenant dans les deux systèmes d'exploitation.
DanMan
En réponse à moi-même: ces 5 Mo pourraient être le bloc de métadonnées dans les versions UDF récentes.
DanMan
1
Totalement faux! Le formatage rapide N'EST PAS un "formatage continu en arrière-plan". Il s'agit simplement d'une initialisation du système de fichiers sans formatage des pistes.
Anixx
6

Lors du formatage UDF, une chose qui ne peut pas être suffisamment soulignée est l'importance de l'utilisation de la taille de bloc appropriée lors du formatage UDF. Comme expliqué ici , l'utilisation d'une taille de bloc configurée qui ne correspond pas à la taille du secteur physique signifie probablement que certains systèmes d'exploitation ne pourront pas détecter le lecteur comme UDF valide.

Inspiré par la réponse ci-dessus (et mes autres recherches / tests), j'ai écrit un script pour automatiser le processus de formatage en UDF - en utilisant la taille de secteur correctement détectée. Voir format-udf sur GitHub . Caractéristiques notables:

  • Formate un lecteur de bloc (disque dur ou lecteur Flash) au format de disque universel (UDF)
    • UDF révision 2.01 utilisée pour une compatibilité maximale
    • Les premiers 4096 secteurs sont mis à zéro pour effacer tout MBR existant (nécessaire pour une détection UDF appropriée)
  • Le système de fichiers résultant peut être lu / écrit sur plusieurs familles de systèmes d'exploitation (Windows, OS X et Linux)
  • Fonctionne sur tout système d'exploitation ayant un environnement Bash

En raison du dernier point, ce script que j'ai écrit ne peut pas être utilisé sous Windows. Cependant, le script s'exécutera sur OS X et Linux. Après cela, Windows devrait être en mesure de détecter comme par magie le lecteur UDF nouvellement formaté.

Pour répondre directement aux questions posées, format-udf:

  • choisir l'outil approprié pour le formatage basé sur le système d'exploitation et l'environnement ( mkudffssous Linux)
  • détecter et remplir automatiquement tous les paramètres nécessaires au formatage (y compris blocksize)
  • maximiser la compatibilité du système d'exploitation (voir la page GitHub pour le tableau de compatibilité)
  • produire l'ensemble maximal de fonctionnalités (et les limitations minimales) que le demandeur recherche
j0nam1el
la source
5

Comment avez-vous concilié votre découverte dans la question précédente (que le système de fichiers UDF devrait être créé sur tout le disque, pas une partition) avec cette commande Windows ("format x: / fs: UDF")? Dans mes tentatives, Windows ne donne des lettres de lecteur qu'aux partitions.

En ce qui concerne le formatage pour la compatibilité, je pense que la clé est dans la taille du bloc. Étant donné que la plupart des disques durs et des clés USB ont une taille de bloc de 512 octets, j'ai eu le plus de compatibilité lorsque je crée le FS de cette taille de bloc. Je pense que format.com utilise cette taille de bloc, et mkudffs a un commutateur de commande pour changer la taille du bloc. Je n'ai pu obtenir OS X et Windows pour monter le système de fichiers que lorsque j'ai utilisé des blocs de 512 octets. Les anciennes versions de Linux supposaient une taille de bloc de 2048, mais vous pouvez toujours monter avec "-o bs = 512".

L'ensemble du problème disque vs partition provoque toujours des problèmes de compatibilité. Windows ne se monte pas lorsque je formate le disque entier, et OS X ne regarde pas au-delà du numéro de type de la partition lors de la détermination de son système de fichiers, ce qui m'oblige à le monter manuellement. Linux s'en fichait, tant que je lui donnais le nom de périphérique approprié (sda vs sda1).

En résumé, la configuration la plus compatible que j'ai trouvée est une partition unique de type 06 (FAT16), formatée avec UDF à la taille de bloc 512. Fonctionne automatiquement sous Windows, et un peu d'intervention manuelle sous Linux et OS X.

Simon
la source
3
J'ai essayé une autre expérience. Cette fois, j'ai utilisé une clé USB au lieu d'un disque dur. Formaté avec "mkudffs --media-type = hd --blocksize = 512 / dev / sda", fonctionne sans tracas sous Linux, OS X et Vista. Dommage que Windows semble autoriser les formats sans partition sur les clés USB mais pas sur les disques durs.
Simon
Vous voulez certainement garder la même taille de bloc pour éviter de porter prématurément la mémoire flash, voir: lwn.net/Articles/428584
MarcH