Forum: PC Hard- und Software ISO brennen und Padding


von Torsten (Gast)


Lesenswert?

Hi,

ich bekomme wechselnde ISO Images, die ich auf DVD brenne. Nach dem 
Brennen lese ich die DVD wieder aus und stelle fest, dass bei manchen 
DVDs am Ende eine gewisse Anzahl 0-Bytes (Padding) hinzugefügt wurde. 
Die Größe der ausgelesenen DVDs ist im Gegensatz zu den ISOs stets ein 
vielfaches von 16 Sektoren. Wenn ich zum Testen ISO Images brenne, die 
von Anfang an einem vielfachen von 16 Sektoren entsprechen, ist die 
ausgelesene DVD hinterher identisch mit dem ISO Image.

Auf die ISOs habe ich leider keinen Einfluss. Ich suche nun einen Weg, 
wie ich eine gebrannte DVD trotz Padding mit der ISO vergleichen kann. 
Der Inhalt müsste also irgendwie verglichen und dabei berücksichtigt 
werden, dass die DVD zwar größer ist, am Ende aber nur um eine Anzahl 
von 0-Bytes hinzugefügt wurde. Als Betriebssystem nutze ich Mac OS 
Mojave.

Ich vermute mal, dass die Größe der DVD nach dem Brennen grundsätzlich 
immer einem vielfachen von 16 Sektoren entspricht?

Hat jemand eine Idee, wie man die gebrannte DVD am einfachsten 
verifizieren kann?

Vielen Dank...
Torsten

von Oliver S. (oliverso)


Lesenswert?

Üblicherweise können die Brennprogramme das, und die machen das schon 
richtig.

Oliver

von DPA (Gast)


Lesenswert?

Einfach mit dd auf die richtige länge trimmen?

Ungetestet und eventuell etwas ineffizient:
1
mediacmp(){
2
  ch1="$(sha256sum <"$1")"
3
  ch2="$(dd if="$2" bs=1 count="$(stat -c %s "$1")" | sha256sum)"
4
  [ "$ch1" = "$ch2" ]
5
  return $?
6
}

Und dann:
1
mediacmp test.iso /dev/sr0 && echo "DVD identisch mit image" || "Nope, DVD nicht identisch"
2
mediacmp test.img /dev/sda && echo "HDD identisch mit image" || "Nope, HDD nicht identisch"

Etwas was ich mich hier noch frage:
Gibt es einen Grund, warum sich brenn software und brenner zu weigern 
scheinen, nicht iso was weis ich was formatierte Images zu brennen, oder 
ist das wieder einer dieser DRM versuche der Medienindustrie?

von Sklavenvermittler (Gast)


Lesenswert?

Torsten schrieb:
> Hat jemand eine Idee, wie man die gebrannte DVD am einfachsten
> verifizieren kann?
xorriso verwenden, das checkt wahlweise  die md5 per sessions oder 
dateien innerhalb der session.
Siehe manpage.

von Thomas S. (scdbackup)


Lesenswert?

Hi,

das mit den 16 Blocks liegt am Medientyp. Unter den DVD-Typen kann man
nur auf DVD-R[W] mit Write Type DAO (Disk-At-Once) auf einzelne Blocks 
genau schreiben. Bei allen anderen haengt der Brenner u.U. Blocks an 
(zB. DVD+R), oder aber sie koennen mehr Blocks hergeben als beim letzten 
Brennlauf geschrieben wurden (DVD-RAM, DVD+RW, formatierte DVD-RW).

Ausserdem haengen Unix-Brennprogramme gerne noch ein paar hundert KB an,
um dem CD TAO Read-Ahead-Bug ein wertloses Opfer darzubringen. (Die
meisten Laufwerke geben die beiden CD TAO Run-out Blocks als Datenblocks
an. Dann kriegt der Kernel einen I/O Error, wenn er sie lesen will.)

ISO 9660 ist eigentlich immer mit Blockgroesse 2048 Bytes formatiert. Es
geht auch anders, aber zB. der Linux Kernel wuerde es nicht lesen 
koennen.

Der Vorschlag von DPA ist bis auf das "bs=1" durchaus brauchbar, wenn 
man das Original-Image noch hat. Bessere Geschwindigkeit gibt es mit:
1
bytes=$(stat -c %s "$1")
2
blocks=$(expr $bytes / 2048)
3
ch2="$(dd if="$2" bs=2048 count=$blocks | sha256sum)"

Wenn man das Original-Image nicht mehr hat, aber zB. eine Pruefsumme, 
dann kann man die Blockzahl vom ISO 9660 Filesystem Superblock ablesen.
Auf einem GNU/Linux System gibt es vermutlich das Programm 
/sbin/isosize.
1
$ /sbin/isosize -x /dev/sr0
2
sector count: 1477638, sector size: 2048
3
$ blocks=$(/sbin/isosize -x /dev/sr0 | awk '{ print $3 }' | sed -e 's/,//')
4
$ echo $blocks
5
1477638
Das setzt allerdings voraus, dass das ISO 9660 Filesystem das ganze 
Image abdeckt. Bei Debian arm64 ISOs ist das zB. nicht der Fall.

Der Vorschlag, xorriso einzusetzen, ist loeblich. Aber die MD5 Summen, 
die xorriso prueft, muessen schon beim Erzeugen des Image-Files von 
xorriso darin eingetragen worden sein. Von den Distros bestellt das 
eigentlich keine.
Die haben alle ihre eigenen externen Pruefsummen zum Runterladen.


> Gibt es einen Grund, warum sich brenn software und brenner zu weigern
> scheinen, nicht iso was weis ich was formatierte Images zu brennen,

Also xorriso brennt jede Art von Image:
1
image_file=...Pfad.zum.Image...
2
xorriso -as cdrecord -v dev=/dev/sr0 padsize=0 -eject $image_file
Das Ende wird auf volle 2048 Bytes aufgefuellt, und dann kommt noch das
eventuelle Auffuellen durch den Brenner dazu.

Have a nice day :)

Thomas

: Bearbeitet durch User
von pumuggl (Gast)


Lesenswert?

Das passiert auch, wenn man per dd eine (Linux-)DVD in ein Image
verwandelt. Danach stimmt mindestens die MD5 Summe des Imagefiles
nicht mit den Angaben der Distribution ueberein.

Einfach das Padding am Ende entfernen, dann passt alles wieder.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.