3

Я пытался скопировать содержимое старых компакт-дисков на мобильные диски, чтобы сэкономить место и сохранить содержимое, поскольку перезаписываемые компакт-диски со временем ухудшаются (по крайней мере те, которые я использую). Я придумал этот маленький скрипт, который прекрасно работает с форматированными 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

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

dvd+rw-mediainfo /dev/dvd

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

cdrwtool ... -i

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

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

0

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

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

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .