Warum erkennt "Disk Utility.app" meine `dd`-kopierte Festplatte nicht?

3113
Charles Stewart

Kurze Zusammenfassung Version der Frage Wenn ich versuche, ein ISO-CD-Image auf ein USB-Flash-Gerät zu kopieren, erhalte ich viele seltsame Verhaltensweisen?

Originalversion der Frage mit allen Details - Folgendes ist ein Problem: mit einem USB-Flashlaufwerk in / dev / disk1 und einer CD-ROM in / dev / disk2 wie folgt (unter Mac OS 10.4)

cas cas $ diskutil liste # Löschen irrelevanter Ausgaben / dev / disk1 #: Typbezeichner Größe 0: FDisk_partition_scheme * 3,7 GB disk1 1: Apple_HFS usr-kodp 614.4 MB disk1s1 2: Apple_UFS Glowline 1,8 GB disk1s2 3: DOS_FAT_32 VAR-KODP 1,2 GB disk1s3 / dev / disk2 #: Typbezeichner Größe 0: CD_partition_scheme * 557.1 MB Festplatte2 1: Apple_partition_scheme 485.1 MB disk2s1 2: Apple_partition_map 1024.0 B disk2s1s1 3: Apple_HFS KoDP 479,5 MB disk2s1s2 

Versuchen Sie, die Partition disk1s1 des Flash-Laufwerks mit den drei Partitionen der CD-ROM disk2s1 zu verkleben:

cas cas $ dd wenn = / dev / disk2s1 von = / dev / disk1s1 bs = 1024 Anzahl = 496742 

Die entstehende Partition kann nicht geladen werden, und das Festplatten-Dienstprogramm kann sie nicht reparieren:

Überprüfen und reparieren Sie die Diskette „disk1s1“. Überprüfen des HFS-Volumes Ungültige B-Tree-Knotengröße Datenträgerprüfung fehlgeschlagen 

Jetzt erzählt mir diskutil:

/ dev / disk1 #: Typbezeichner Größe 0: FDisk_partition_scheme * 3,7 GB disk1 1: Apple_HFS usr-kodp 614.4 MB disk1s1 2: Apple_UFS Glowline 1,8 GB disk1s2 3: DOS_FAT_32 VAR-KODP 1,2 GB disk1s3 

Was heißt das? Es ist fast sicher, weil mein Clobbering bedeutet, dass die Root-Partitionszuordnung von disk1 angibt, dass disk1s1 noch ein Apple_HFS ist, obwohl der Inhalt ein Apple_partition_scheme-Dateisystem ist. Und warum sagt er mir:

cas cas $ diskutil mount / dev / disk1s1 Volume / dev / disk1s1 eingehängt 

... wenn eigentlich kein Dateisystem gemountet wird?

2
ack! Wand-O-Text. Sie geben nie wirklich an, was Sie tatsächlich zu tun versuchen und was Ihr erwartetes Ergebnis ist. Ausgabedetails sind gut, aber dies ist zu viel Ausgabe und nicht genug Frage. quack quixote vor 14 Jahren 0
@ ~ quack: Ja ... viele Details ... Ich war etwas zögerlich beim Schreiben der Frage. Aber zu einer klareren Frage kam man nicht in den Sinn - haben Sie eine Vorstellung davon, was für eine Sache passender wäre? Charles Stewart vor 14 Jahren 0
Nun, wie ich oben erwähnte, * "geben Sie an, was Sie zu tun versuchen, wie Sie es versuchen und was Sie zu erreichen hoffen" *. Es ist in Ordnung, wenn Sie nur experimentieren und herausfinden wollen, wie Sachen funktionieren, anstatt ein bestimmtes Ziel anzustreben, aber seien Sie klar. vielleicht etwas wie das: * "Ich dachte, es wäre lustig, ein CD-Dateisystem auf eine Partition zu kopieren, aber ich bekomme einige seltsame Fehler. Ich kopierte mit` dd ', überprüfte mit `diskutil` und versuchte, es zu mounten Funktioniert nicht. Hier sind die Befehle, die ich verwendet habe: [...] ich habe erwartet, dass es anbringt, warum funktioniert es dann nicht? "* quack quixote vor 14 Jahren 0
Siehst du, wie in diesem Beispiel dargelegt wird, was du versuchst, dann die Grundlagen, wie, dann das Problem, und alles dargelegt wird, bevor die spezifischen Befehle (und Ausgaben) hinzugefügt werden, und schließlich das, was du erwartet hast? Ich kann Ihren Beitrag so bearbeiten, dass er * besser * aussieht, aber ich möchte keine Worte in den Mund nehmen. Wenn Sie eine Frage stellen, kann ich Ihnen helfen, sie in Form zu bringen, aber hier bin ich unklar, was die Frage ist. :) quack quixote vor 14 Jahren 0
@ ~ quack: Ich habe gerade deinen Text gestohlen: -> Ich hoffe es ist jetzt weniger schlimm. Charles Stewart vor 14 Jahren 0
Oy. na ja, sollte das kommen sehen. Ich werde später versuchen, es in eine bessere Form zu hacken. In der Zwischenzeit stieß ich auf eine Frage von jemandem, der etwas Ähnliches ausprobiert hatte, und dachte, Sie würden es schätzen: http://superuser.com/questions/14860/how-to-remove-iso-9660-from-usb quack quixote vor 14 Jahren 0

1 Antwort auf die Frage

3
quack quixote

Dies ist eine fundierte Vermutung. Ich kenne OSX oder diskutil nicht gut, aber ich kenne allgemeine Dateisysteme und Blockiergeräte. Ich glaube, ich weiß, was los ist. Vieles davon könnte jedoch ungenau sein; Es wurde CW gemacht, damit OSX-Dateisystemexperten dies bei Bedarf korrigieren können.


Ich glaube nicht, dass die CD tatsächlich 3 Partitionen zum Kopieren hat. Was die Diskussil-Liste anzeigt, sind Sie / dev / disk2, das einzige untergeordnete Gerät und die eigenen zwei untergeordneten Geräte des Kindes:

  • / dev / disk2 "CD_partition_scheme" - Dies ist die "physische" CD

    1. / dev / disk2s1 "Apple_partition_scheme" - erster CD-Track, wenn ich die Gerätenamen von OSX richtig verstehe. Aus dem Größenunterschied zum übergeordneten Gerät und diesem, denke ich, ist dies die CD minus Datenfehlerkorrektur.

      1. / dev / disk2s1s1 "Apple_partition_map" - von der Größe sieht dies aus wie eine Partitionstabelle oder eine Dateitabelle

      2. / dev / disk2s1s2 "Apple_HFS" - Dies ist das tatsächliche Dateisystem

Was Sie also auf Ihre USB-Partition kopiert haben, waren nicht drei Partitionen. es war der geordnete Inhalt der CD abzüglich der Fehlerkorrekturdaten. Ihre USB-Partition sollte jetzt das Äquivalent eines ISO-Images der CD enthalten.

Das ist wahrscheinlich der Grund, warum es nicht montiert wird. Ich bin nicht mit den fortgeschrittenen diskutil- Optionen vertraut, aber wenn ich auf einem Linux-System mit einer Standard-ISO9660-Daten-CD etwas Ähnliches gemacht hätte, würde ich dies zum Anhängen der USB-Partition verwenden:

mount -t iso9660 /dev/myusbdevice /mnt/path 

... und vielleicht würde das funktionieren. Aufgrund Ihrer Frage scheinen Sie jedoch versucht zu haben, auf diese USB-Partition als Dateisystem zuzugreifen. Wenn Sie den Befehl dd und die obigen Angaben verwenden, handelt es sich nicht um ein Dateisystem, sondern um ein CD-Image.


Um Ihre Frage dann zu beantworten:

Was bedeutet "Ungültige B-Baumknotengröße"? Das Festplatten-Dienstprogramm erkennt kein gültiges Dateisystem in / dev / disk1s1 . Ihr Befehl dd hat das kopiert, was Sie ihm gesagt haben zu kopieren, aber das, was Sie ihm sagen sollen, ist kein Dateisystem. Wenn Sie einen Vorgang "Verify and Repair" ausführen, schlägt die Überprüfung fehl, da ein Dateisystem erwartet wird und eine CD-Partitionszuordnung abgerufen wird.

Wenn Sie versuchen, das Dateisystem mit dd zu kopieren, möchten Sie wahrscheinlich / dev / disk2s1s2 und nicht / dev / disk2s1 kopieren .

Ja. Das ist eindeutig richtig. Ich dachte, dass die Mac-osx-Version Ihres Befehls sudo / sbin / mount_cd9660 / dev / disk1 / Volumes / KoDP ist, aber es beschwert sich über "ungültiges Argument". Aber das führt zu einer anderen Frage ... Charles Stewart vor 14 Jahren 0
Bingo! `sudo / sbin / mount_cd9660 / dev / disk1s1 / Volumes / KoDP` erledigt die Arbeit. Charles Stewart vor 14 Jahren 2