ISO Image von CD oder DVD unter Linux erstellen

Aus Thomas-Krenn-Wiki
Zur Navigation springen Zur Suche springen

Dieser Kurzartikel beschreibt das Erstellen eines korrekten ISO Images von einer CD oder DVD.

Wenn man ein ISO Image mit Hilfe des dd (diskdump) Kommandos von einer CD/DVD erstellt, so kann die damit erstellte .iso-Datei eine andere md5-Checksumme haben als die ursprüngliche ISO-Datei, die für das Brennen der Quell-CD oder DVD verwendet wurde. Ursache sind ein paar Zero-Daten-Blöcke am Ende der CD/DVD. Eine solches ISO Image kann zwar problemlos verwendet werden, man kann aber keine Überprüfung der md5-Checksumme mit einer Quelle vornehmen (typischerweise stehen auf den Download-Servern, auf denen z.B. ISO Images für Linux bereitstehen auch md5-Checksummen zur Überprüfung).

Mit der folgenden Vorgehensweise kann von einer CD oder DVD wieder exakt das ISO Image auslesen, das ursprünglich für das Brennen der CD/DVD verwendet wurde:

1. Auslesen der Block Size und der Volume Size:

[root@testserver ~]# isoinfo -d -i /dev/cdrom | grep -i -E 'block size|volume size' 
Logical block size is: 2048
Volume size is: 327867

2. Aufrufen von dd mit den Parametern für Block Size und Volume Size:

[root@testserver ~]# dd if=/dev/cdrom of=test.iso bs=<block size von oben> count=<volume size von oben>

Fortschrittsanzeige:

Seit der Version 8.24 der GNU Coreutils, zu der auch dd gehört, gibt es den Parameter "status=progress", um eine Fortschrittanzeige zu erhalten:[1]

[root@testserver ~]# dd if=/dev/cdrom of=test.iso bs=<block size von oben> count=<volume size von oben> status=progress

Alternativ: Falls Sie eine ältere Version der GNU Coreutils einsetzen, kann während des Auslesens des ISO Images auch in einer zweiten Konsole folgendes Kommando verwendet werden, um den aktuellen Fortschritt zu sehen (erfordert root-Rechte):

killall -USR1 dd

Mit Hilfe von watch kann dieser Aufruf auch jede Sekunde ausgeführt werden:

watch -n 1 killall -USR1 dd

Dadurch zeigt dd den Fortschritt so an:

admin@adminpc:~/Downloads/isos$ dd if=/dev/sr0 of=cdimage.iso bs=10M
1+0 records in
0+0 records out
0 bytes (0 B) copied, 10.2447 s, 0.0 kB/s
2+0 records in
1+0 records out
10485760 bytes (10 MB) copied, 16.3769 s, 640 kB/s
3+0 records in
2+0 records out
20971520 bytes (21 MB) copied, 22.3123 s, 940 kB/s
5+0 records in
4+0 records out
41943040 bytes (42 MB) copied, 33.6603 s, 1.2 MB/s

Eine Alternative zu dieser Fortschrittsanzeige ist der Einsatz des Tools pv (Pipe Viewer): Linux Pipe Viewer (pv)#ISO_Image_mit_Fortschrittsanzeige_erzeugen

Weitere Informationen


Foto Werner Fischer.jpg

Autor: Werner Fischer

Werner Fischer arbeitet im Product Management Team von Thomas-Krenn. Er evaluiert dabei neueste Technologien und teilt sein Wissen in Fachartikeln, bei Konferenzen und im Thomas-Krenn Wiki. Bereits 2005 - ein Jahr nach seinem Abschluss des Studiums zu Computer- und Mediensicherheit an der FH Hagenberg - heuerte er beim bayerischen Server-Hersteller an. Als Öffi-Fan nutzt er gerne Bus & Bahn und genießt seinen morgendlichen Spaziergang ins Büro.


  1. GNU Core Utilities - News: coreutils-8.24 released [stable] (savannah.gnu.org): [...] dd accepts a new status=progress level to print data transfer statistics on stderr approximately every second. [...]

Das könnte Sie auch interessieren

Linux Kernel Oops oder Kernel Panic analysieren
PC vor Meltdown und Spectre schützen
Rdiff-backup Monitoring Plugin