USB-Sticks und Mac-Laufwerke mit mehreren Partitionen kopieren

Für Freunde möchte ich gelegentlich meinen für Mac-Notfälle gedachten USB-Stick duplizieren, der mehrere Partitionen mit unterschiedlichen macOS-Versionen und Rettungs-Tools enthält. Wie kopiert man mehrere Partitionen auf einmal?

In Pocket speichern vorlesen Druckansicht 1 Kommentar lesen
Lesezeit: 3 Min.

Apples Festplattendienstprogramm sieht dergleichen leider nicht vor, Sie können aber das Terminal-Kommando dd (duplicate data) verwenden, mit dem sich blockweise Kopien von Laufwerken anfertigen lassen. Wir haben zum Ausprobieren einen 16-GByte-USB-Stick mit vier Partitionen erfolgreich damit dupliziert.

Wichtig ist, das Quelllaufwerk (if) und das Ziellaufwerk (of) in Unix-Nomenklatur richtig zu benennen. Wie die Partitionen heißen, erfahren Sie ebenfalls im Terminal von macOS (zu finden im Ordner Programme unter "Dienstprogramme"), und zwar mit dem Befehl diskutil list. Sie können sie in der Liste am besten korrekt identifizieren, wenn alle eindeutige Namen haben – die sollten Sie nötigenfalls vorher mit dem Festplattendienstprogramm vergeben.

Mit dem Terminal-Kommando dd (Duplicate Data) kann man Laufwerke wie USB-Sticks selbst dann 1:1 kopieren, wenn sie mehrere Partitionen enthalten. Das geht mit Apples Festplattendienstprogramm nicht.

Außerdem müssen Sie vor dem Start von dd das Ziellaufwerk abmelden, das gelingt ebenfalls im Festplattendienstprogramm oder im Terminal.

Angenommen, der Quell-Stick heißt in der Liste disk6 und der Ziel-Stick disk7, lauten die Terminal-Kommandos:

diskutil unmountDisk disk7

zum Abmelden und

sudo dd if=/dev/rdisk6 of=/dev/rdisk7 bs=128m conv=noerror,sync

zum Kopieren der Inhalte vom einen Stick auf den anderen.

Achtung: Passen Sie gut auf, die richtigen Namen zu verwenden, sonst verlieren Sie Daten! dd macht keine Sicherheitsabfrage, sondern legt sofort los und überschreibt rigoros das angegebene Ziel-Volume – selbst wenn es sich um Ihre Boot-Partition mit allen wichtigen Daten handelt!

Mac-Terminal-Kennern mag das „r“ vor den Laufwerksnamen auffallen. Es steht für „Raw Data“ und beschleunigt das dd-Kommando um ein Vielfaches. In der obenstehenden Form dauerte das Kopieren eines recht langsamen Sticks mit 16 GByte und USB 2.0 auf einen anderen 42 Minuten. (Verwendeten wir statt „rdisk“ nur „disk“ und ansonsten die gleichen Parameter, mussten wir beinahe 6 Stunden warten.)

Zwischendurch können Sie sich durch Drücken von Strg+T den aktuellen Stand anzeigen lassen.

Auch der Parameter bs (für Blocksize) wirkt sich auf die Geschwindigkeit des dd-Befehls aus. Mit „8m“ dauerte die Kopie desselben Sticks am selben Mac 72 Minuten. Serienmäßig arbeitet dd mit 512 Byte kleinen Blöcken, muss also wesentlich öfter Datenblöcke lesen und schreiben, was Zeit kostet. Durch den Parameter noerror hinter conv führen etwaige Lesefehler nicht zum Abbruch des Ganzen, sondern werden ausgegeben. Das sudo am Beginn der Zeile erteilt dem dd-Befehl vorübergehend Superuser-Rechte.

Die Bildschirmausgabe nach Beenden der Kopieraktion sieht dann in etwa so aus wie im Screenshot. Beachten Sie, dass das Ziellaufwerk mindestens so viel Kapazität besitzen muss wie das Quelllaufwerk – das versteht sich aber ja eigentlich von selbst. (se)