Natürlich gibt es Etcher oder Ventoy und so manche ähnliche Software, um das ISO-Image einer Linux-Distribution, von Windows oder einem anderen System auf einen USB-Stick, eine SD-Karte oder ein anderes externes Medium zu kopieren. Ich selbst sage zu mir jedoch: Warum soll ich mir Software installieren, wo doch Linux sowieso schon alles installiert hat?

Der Befehl dd

Der Befehldd“ kann alles (bis auf mehrere ISO-Images auf ein Medium kopieren) und funktioniert selbst dort, wo andere grafische Software versagt (etwa das System nicht vom erstellten Medium startet, weil dieses fehlerhaft kopiert wurde). Wichtig mit dem Befehldd“ ist: Sie müssen absolut sicher wissen, welches Medium Sie beschreiben wollen. Die Software fragt nicht nach, sondern tut, was Sie ihr vorgeben. Schnell ist das eigentlich installierte System überschrieben – und nicht der USB-Stick.

Starten Sie am Terminal als Administrator den Befehl:

fdisk -l

einmal, wenn der Stick nicht angeschlossen ist, und einmal, wenn er angeschlossen ist – der Unterschied ist dann der USB-Stick oder eben ein anderes externes Medium – hier etwa:

/dev/sda

Zur Sicherheit können Sie zusätzlich den Befehl:

lsblk

starten:

sda

In beiden Fällen lautet die Ausgabe „sda“ – dies ist die Bezeichnung des Mediums. Wichtig ist, nicht zu vergessen, den Einhängepunkt (Mountpoint) anzugeben – also „/dev/sda„. Ein Verzeichnis oder eine Partition anzugeben, ist nicht nötig, bringt auch nichts, nur Fehlermeldungen – es gilt, das komplette Medium anzugeben.

Nun, sehen wir uns die Syntax des Befehls an:

dd if=Quelle of=Ziel Optionen

Mit der Option „if=Quelle“ geben wir die Datei an, die kopiert werden soll – in diesem Beispiel also die ISO-Datei. Mit „of=Ziel“ geben wird das externe Medium an. Mit diesem Wissen funktioniert das Kopieren unserer ISO-Datei auf den Stick schon – hier ist die Quelle „Dateiname.iso“ und das Ziel „/dev/sda„:

dd if=Dateiname.iso of=/dev/sda

Es gilt nur abzuwarten, bis der Eingabe-Prompt wieder erscheint – dann hat der Befehl seine Arbeit abgeschlossen. Immer wieder sieht man die Option „bs=1“ – absolut unnötig – hiermit gibt man die Blockgröße an. Unter 10 GB Transfervolumen bringt dies an Geschwindigkeit überhaupt nichts. Und außerdem ist die Option „bs=1“ sowieso Standard – der Befehl nutzt diese auch, ohne dass Sie dies angeben. Eine sehr nützliche Option ist hingegen „status=progress“ – Sie erhalten hiermit eine halbwegs verständliche Fortschrittsanzeige:

dd if=Dateiname.iso of=/dev/sda status=progress

Dies war es auch schon, grafische Software ist absolut unnötig ;)

Ergänzungen aus dem Forum

Ich darf etwas richtigstellen:
Die Option bs= gibt die Anzahl von Bytes an. Also bs=1 gibt einen Byte-weise-Schreibbefehl vor. Das sollte man nur tun, wenn man viel, viel Zeit hat.

:D

Der default-Wert – also ohne Angabe – ist 512 Bytes, was einem Plattenblock entspricht. Neuere Platten schreiben mit 1024 bzw 4096 Bytes pro Block.

Eine Erhöhung auf 4M kommt ca. bis zu einen 10fach schnelleren dd gleich. Abhängig natürlich davon, dass das Zielgerät mitspielt. Größer als 4MB bringt meines Wissen keine Vorteile. Ein bs=1, also das Byte-weise-Kopieren, produziert nur eine io-Last, aber keinen Fortschritt.

Mein Tipp: Roberts dd ergänzen mit bs=4M
und have fun …

sudo dd if=Dateiname.iso |pv| sudo dd of=/dev/sda status=progress

pv – monitor the progress of data through a pipe

falls dd progress nicht kennt


Erstveröffentlichung: Mo 16. Aug 2021, 08:32

Categories:

Tags:

Schreibe einen Kommentar

Noch keine Reaktion

Neue Themen im Forum
Frage zu GrubDanke @juhu, das war für mich eine reine Verständnisfrage allge … Weiterlesen
Brother Drucker unter LinuxMit der Suche nach „Linux Brother HL-2030“ fand ich zur Seite htt … Weiterlesen
DebianJetzt klappt's! Das Problem war das Erstellen einer EFI-Sy … Weiterlesen
Kategorien im Wiki
WIKI-Beiträge des Monates

Die Beiträge des Monates finden Sie im Kalender unter den blau markierten Tageszahlen.

September 2023
M D M D F S S
 123
45678910
11121314151617
18192021222324
252627282930  
Archive