Как я могу надежно архивировать содержимое CD и DVD в формате UDF

885
nwaltham

Я пытался скопировать содержимое старых компакт-дисков на мобильные диски, чтобы сэкономить место и сохранить содержимое, поскольку перезаписываемые компакт-диски со временем ухудшаются (по крайней мере те, которые я использую). Я придумал этот маленький скрипт, который прекрасно работает с форматированными ISO9660 CD

#!/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 ; } 

Это прекрасно работает с компакт-дисками в формате ISO9660, однако (неудивительно) с компакт-дисками и DVD в формате UDF. У кого-нибудь есть идеи таких инструментов, которые я могу создать, чтобы использовать подобный сценарий для DVD?

3

3 ответа на вопрос

0
kubanczyk

Стандартный инструмент

dvd+rw-mediainfo /dev/dvd 

Я не ожидал бы, что он будет работать с компакт-дисками, в этом случае нужно разбираться в сценариях:

cdrwtool ... -i 

Чтобы проверить файловую систему, я бы попробовал udffsck (он же fsck.udf) или udf_test (из udfct), хотя у меня нет опыта ни с одним из них.

В тот момент, когда вы делаете, isoinfo -lвам нужно будет на самом делеmount -t udf -o ro ... && ls -lrt && umount ...

0
toddkaufmann

ddэто не лучший способ скопировать изображение, и он потерпит неудачу, когда он столкнется с ошибкой чтения.
На данный момент лучшая программа, которую я нашел, это dvdisaster .

Он не только перечитывает при обнаружении ошибок,
но и может генерировать файл для исправления ошибок,
а также создает график сканирования поверхности
(если вы видите, что некоторые области требуют больше времени для чтения, возможно, происходит сбой носителя).

Даже если есть ошибки чтения, если вы создали .eccфайл ранее, вы можете восстановить образ (и записать новую копию).

Я все еще сохраняю вывод dvd+rw-mediainfo /dev/dvdили cdrecord -atip dev=/dev/cd(в зависимости от носителя, чтобы получить производителя), плюс, .dvdisaster.logкоторый имеет список ошибок (для отслеживания позже, и посмотреть, есть ли какая-либо корреляция с производителями).

Есть несколько компакт-дисков, которые я пометил как «нечитаемые» несколько лет назад и которые dvdisasterудалось восстановить. Работает на видео DVD тоже (по крайней мере те, которые я записал).

Возможность сканирования поверхности будет зависеть от ваших аппаратных возможностей (новые диски должны справиться с этим?). У меня отлично работает на Ubuntu с дешевой (<$ 20, Optiarc 'DVD RW AD-7260S') внутренней двухслойной горелкой. Хотя в OS X нет успеха, но это больше похоже на системное программное обеспечение, пытающееся захватить контроль над накопителем.

0
ZaB

readcd из wodim / cdrecord может обработать любой размер блока мультимедиа и пропустить нечитаемую слабину. вам могут понадобиться драйверы IOUSB от developer.apple.com, чтобы он заработал.

Есть ли у вас источник питания для DVD-привода вне USB-кабеля? DVD-лазер потребляет больше энергии, чем CD.

Также инструменты чтения меток ISO, очевидно, не будут обрабатывать UDF ...