Frage Mit welchem ​​Werkzeug soll ich eine Festplatte als UDF formatieren?


(Dies ist ein Follow-up zu "Wie lautet die Partitions-ID / der Dateisystemtyp für UDF?")

Ich kenne zwei Möglichkeiten, eine Festplatte als UDF zu formatieren:

  • Windows Vista oder höher: "format x: /fs:UDF"(nicht benutzen /q ! )
  • Linux: "mkudffs --media-type=hd --blocksize=512 /dev/sdx"

Das Problem ist, dass das "andere" Betriebssystem den Datenträger überhaupt nicht als formatiert erkennt: Er weigert sich einfach, ihn zu mounten, egal, welche Befehle ich versuche.

Wie kann ich eine Festplatte als UDF formatieren, so dass sie sowohl von Windows als auch von Linux verwendet werden kann?

EDIT: aktualisiert die Befehle, jetzt sollte das Ergebnis in beiden Betriebssystemen funktionieren.


31
2017-08-17 16:23


Ursprung


UDF wurde für optische Medien entwickelt, vielleicht ist das das Problem? - Chopper3
Der Befehl, den Sie geben, funktioniert unter Linux großartig. Ich formatierte auf Karmic, und kann unter Windows 7 und Karmic lesen und schreiben. - Matt Joiner
Vergessen Sie nicht, zuerst den MBR auf Null zu setzen (dd if = / dev / zero = / dev / sdx bs = 512 count = 1), um eine Verwechslung mit einer übrig gebliebenen Partitionstabelle zu vermeiden (da UDF den ersten Sektor nicht verwendet). - CesarB
Verwandte Frage: superuser.com/questions/39942/using-udf-on-a-usb-flash-drive - CesarB
Danke Skolima, das ist großartig. Tschüss FAT32. Ich muss nur auf die UDF-Version 2.01 und die Blockgröße von 512 achten und habe die perfekte Festplattenpartition für Linux und Windows. - MarcH


Antworten:


Es stellt sich heraus, dass die Verwendung der /q Schalten Sie Windows war der Übeltäter: Es ermöglicht "Schnellformat", d.h. der Formatierungsprozess wird im Hintergrund mit jedem Schreiben auf dem Datenträger fortgesetzt. Sobald es fertig ist, wird das Laufwerk von Linux behandelt.


16
2017-08-18 09:35



Auf der anderen Seite scheint die Formatierung mit Linux-Mkudffs in Sekunden erfolgreich abgeschlossen zu sein. - MarcH
Ich musste eigentlich ein schnelles Format in Win7 erstellen, nachdem ich das Dateisystem mit mkudffs in Linux erstellt hatte. Ohne das wollte Windows das Laufwerk nur formatieren. Am Ende des Laufwerks wurde aus irgendeinem Grund ein freier Speicherplatz von 5 MB erstellt. Aber zumindest funktioniert es jetzt in beiden OS. - DanMan
Als Antwort auf mich selbst: Diese 5MB könnten der Metadatenblock in den letzten UDF-Versionen sein. - DanMan
@MarcH Ich schätze, es ist langsamer, weil Windows erwartet, dass seine Benutzer nichts wissen und wischt das Gerät für dich ab, falls es dort schon ein Dateisystem gibt. Das hat mich nur eine Stunde Schlaf gekostet, obwohl meine bereits abgewischt wurde. - osvein
Total falsch! Schnellformatierung ist NICHT "Fortsetzung Format im Hintergrund". Es ist nur die Initialisierung des Dateisystems, ohne Spuren zu formatieren. - Anixx


Bei der Formatierung von UDF ist eine Sache, die nicht genug unterstrichen werden kann, die Bedeutung der richtigen Blockgröße beim Formatieren von UDF. Wie erklärt HierWenn eine konfigurierte Blockgröße verwendet wird, die nicht mit der physischen Sektorgröße übereinstimmt, bedeutet dies wahrscheinlich, dass einige Betriebssysteme das Laufwerk nicht als gültige UDF erkennen können.

Inspiriert von der oben verlinkten Antwort (und meinen anderen Recherchen / Tests), schrieb ich ein Skript, um den Formatierungsprozess in UDF zu automatisieren - unter Verwendung der korrekt erkannten Sektorgröße. Sehen format-udf auf GitHub. Bemerkenswerte Eigenschaften:

  • Formatiert ein Blocklaufwerk (Festplatte oder Flash-Laufwerk) im Universal Disk Format (UDF)
    • UDF Revision 2.01 für maximale Kompatibilität verwendet
    • Die ersten 4096 Sektoren werden auf Null gesetzt, um einen vorhandenen MBR zu löschen (notwendig für eine korrekte UDF-Erkennung)
  • Das resultierende Dateisystem kann über mehrere Betriebssystemfamilien (Windows, OS X und Linux) gelesen / geschrieben werden
  • Wird auf jedem Betriebssystem mit einer Bash-Umgebung ausgeführt

Wegen des letzten Punktes kann dieses Skript, das ich geschrieben habe, nicht auf Windows verwendet werden. Das Skript wird jedoch unter OS X und Linux ausgeführt. Danach sollte Windows in der Lage sein, das neu formatierte UDF-Laufwerk magisch zu erkennen.

Um die gestellten Fragen direkt zu beantworten, wird format-udf:

  • Wählen Sie das geeignete Werkzeug für die Formatierung basierend auf Betriebssystem und Umgebung (mkudffs unter Linux)
  • Alle für die Formatierung erforderlichen Parameter (einschließlich blocksize)
  • Maximiere die OS-Kompatibilität (siehe GitHub-Seite für Kompatibilitätstabelle)
  • ergibt den maximalen Feature-Set (und minimale Einschränkungen), nach dem der Asker sucht

6
2017-08-29 14:36





Wie haben Sie Ihre Entdeckung in der vorherigen Frage (dass das UDF-Dateisystem auf der gesamten Festplatte erstellt werden soll, keine Partition) mit diesem Windows-Befehl ("format x: / fs: UDF") in Einklang gebracht? Bei meinen Versuchen gibt Windows nur Laufwerksbuchstaben an Partitionen.

Soweit die Formatierung für die Kompatibilität, denke ich, dass der Schlüssel in der Blockgröße ist. Da die meisten Festplatten und USB-Sticks eine Blockgröße von 512 Byte haben, hatte ich die meiste Kompatibilität, wenn ich die FS-Blockgröße erstellte. Ich denke, dass format.com diese Blockgröße verwendet, und mkudffs hat einen Befehlsschalter zum Ändern der Blockgröße. Ich konnte nur OS X und Windows bekommen, um das Dateisystem zu mounten, wenn ich 512-Byte-Blöcke verwendete. Ältere Versionen von Linux haben eine Blockgröße von 2048 angenommen, aber Sie können immer mit "-o bs = 512" mounten.

Das Problem mit dem gesamten Datenträger und der Partition verursacht immer noch Kompatibilitätsprobleme. Windows wird nicht bereitgestellt, wenn ich die gesamte Festplatte formatiere, und OS X schaut beim Bestimmen des Dateisystems nicht über die Typnummer der Partition hinaus und zwingt mich, sie manuell zu mounten. Linux war es egal, solange ich ihm den passenden Gerätenamen (sda vs sda1) gab.

Zusammenfassend ist das am besten kompatible Setup, das ich gefunden habe, eine einzelne Partition vom Typ 06 (FAT16), formatiert mit UDF in Blockgröße 512. Funktioniert automatisch unter Windows und ein kleines bisschen manuellen Eingriff unter Linux und OS X.


5
2017-10-08 22:28



Ich habe ein anderes Experiment versucht. Diesmal habe ich statt einer Festplatte einen USB-Stick benutzt. Formatiert mit "mkudffs --media-type = hd --blocksize = 512 / dev / sda", funktioniert ohne Probleme unter Linux, OS X und Vista. Schade, dass Windows Partitionslose Formate auf USB-Sticks zulässt, aber keine Festplatten. - Simon
Sie möchten auf jeden Fall die gleiche Blockgröße beibehalten, um ein vorzeitiges Tragen des Flash-Speichers zu vermeiden. lwn.net/Articles/428584 - MarcH