Wie kann ich den Inhalt von UDF-formatierten CDs und DVDs zuverlässig archivieren?

3

Ich habe versucht, den Inhalt alter CDs auf mobile Datenträger zu kopieren, um Platz zu sparen und den Inhalt zu erhalten, da wiederbeschreibbare CDs mit der Zeit anscheinend schlechter werden (zumindest die, die ich verwende). Ich habe mir dieses kleine Skript ausgedacht, das gut mit ISO9660-formatierten CDs funktioniert

#!/bin/bash
echo "Reading Volume Information"
SOURCECD=/dev/cdrw
OUTPUTCDDIR=/workarea/tmp
isoinfo dev=$SOURCECD || { printf "%b" "FAILED.\n" ; exit 1 ; }
VOLUMEID=`isoinfo -d dev=$SOURCECD | grep "Volume id" --color=never | awk -F": " '{ print $2}'` || { printf "%b" "FAILED.\n" ; exit 1 ; }
VOLUMESIZE=`isoinfo -d dev=$SOURCECD | grep "Volume size is" --color=never | awk -F": " '{ print $2}'` || { printf "%b" "FAILED.\n" ; exit 1 ; }
LABEL=$VOLUMEID-$VOLUMESIZE
OUTPUTDIR=$OUTPUTCDDIR/$LABEL
if [ -d "$OUTPUTDIR" ]; then # Dir exists, mention that...
echo "$OUTPUTDIR exists...exiting"
exit 1;
fi
mkdir -p "$OUTPUTDIR" || { printf "%b" "FAILED.\n" ; exit 1 ; }
OUTPUTISO=$OUTPUTDIR/image.iso
echo "Copying ISO for $LABEL"
dd if=$SOURCECD of="$OUTPUTISO" bs=2048 conv=sync || { printf "%b" "FAILED.\n" ; exit 1 ; }
echo "Verify Structures for $LABEL"
isovfy -i "$OUTPUTISO" > "$OUTPUTDIR"/verify-report.txt || { printf "%b" "FAILED.\n" ; exit 1 ; }
file "$OUTPUTISO" > "$OUTPUTDIR"/file-report.txt || { printf "%b" "FAILED.\n" ; exit 1 ; }
echo "Generating Metadata for $LABEL"
md5sum -b "$OUTPUTISO" > "$OUTPUTDIR"/md5.sum || { printf "%b" "FAILED.\n" ; exit 1 ; }
isoinfo -d -i "$OUTPUTISO" > "$OUTPUTDIR"/metadata.txt || { printf "%b" "FAILED.\n" ; exit 1 ; }
isoinfo -l -i "$OUTPUTISO" > "$OUTPUTDIR"/ls-lrt.txt || { printf "%b" "FAILED.\n" ; exit 1 ; }
eject $SOURCECD || { printf "%b" "FAILED.\n" ; exit 1 ; }

Dies funktioniert gut mit ISO9660-formatierten CDs, schlägt jedoch (nicht überraschend) mit UDF-formatierten CDs und DVDs fehl. Hat jemand Ideen für Tools wie dieses, die ich für die Verwendung eines ähnlichen Skripts für DVDs erstellen kann?

Nwaltham
quelle

Antworten:

0

Das Standardwerkzeug ist

dvd+rw-mediainfo /dev/dvd

Ich würde nicht erwarten, dass es mit CDs funktioniert. In diesem Fall muss man herumschreiben:

cdrwtool ... -i

Um das Dateisystem zu überprüfen, würde ich udffsck (aka fsck.udf) oder udf_test (von udfct) versuchen, obwohl ich keine Erfahrung mit diesen beiden habe.

An dem Punkt, an dem du es tust isoinfo -l, müsstest du es tatsächlich tunmount -t udf -o ro ... && ls -lrt && umount ...

kubanczyk
quelle
0

ddDies ist nicht der beste Weg, um das Bild zu kopieren, und schlägt fehl, wenn ein Lesefehler auftritt.
Das mit Abstand beste Programm, das ich gefunden habe, ist dvdisaster .

Es wird nicht nur erneut gelesen, wenn Fehler auftreten,
sondern es kann auch eine Fehlerkorrekturdatei erstellt werden.
Außerdem wird ein Oberflächenscan-Diagramm erstellt
.

Selbst wenn Lesefehler auftreten, .ecckönnen Sie das Image wiederherstellen (und eine neue Kopie brennen) , wenn Sie die Datei zuvor erstellt haben .

Ich behalte immer noch die Ausgabe von dvd+rw-mediainfo /dev/dvdoder cdrecord -atip dev=/dev/cd(je nach Medium, um den Hersteller zu ermitteln). Außerdem enthält .dvdisaster.logdiese eine Fehlerliste (zum späteren Nachverfolgen und um festzustellen, ob eine Korrelation mit den Herstellern besteht).

Es gibt eine Reihe von CDs, die ich vor Jahren als "unlesbar" markiert hatte und die dvdisasterwiederhergestellt werden konnten. Funktioniert auch auf Video-DVDs (zumindest die, die ich gebrannt habe).

Die Fähigkeit, einen Oberflächenscan durchzuführen, hängt von Ihren Hardware-Fähigkeiten ab (neuere Laufwerke sollten damit umgehen?). Funktioniert hervorragend mit Ubuntu mit einem billigen (<20 US-Dollar, Optiarc 'DVD RW AD-7260S') internen Dual-Layer-Brenner. Kein Erfolg unter OS X, aber das scheint eher eine Systemsoftware zu sein, die versucht, die Kontrolle über das Laufwerk zu erlangen.

toddkaufmann
quelle
0

readcd from wodim / cdrecord kann alle Medienblöcke verarbeiten und die unlesbare Lücke überspringen. Möglicherweise benötigen Sie IOUSB-Treiber von developer.apple.com, damit es funktioniert.

Haben Sie eine Stromquelle für das DVD-Laufwerk außerhalb des USB-Kabels? DVD-Laser verbraucht mehr Strom als CD.

Auch ISO-Tools zum Lesen von Etiketten unterstützen UDF offensichtlich nicht ...

ZaB
quelle