Я пробовал dd, dd_rescue и ddrescue , все не удалось. Я думал, что эти инструменты обходят файловую систему и делают побитовую копию.
Дурак одурачен, он заканчивается, но просто создает небольшой файл и заявляет, что он закончен.
dd_rescuse и ddrescue жалуются на ошибки чтения и невыносимо медленны. Эти инструменты могут скопировать только несколько МБ за 10 минут.
Почему это происходит, почему эти инструменты не работают?
AnyDVD делает диск копируемым за секунду на хосте Win7. Это говорит о том, что файловая система UDF пропатчена, что любопытно, также говорится, что нет плохих секторов. Весь диск можно скопировать за 10 минут.
ОБНОВЛЕНИЕ: Что касается решения, см. Мой аналогичный вопрос о суперпользователе .
Люди упоминают, что открытие DVD с VLC (которое отображает меню DVD) волшебным образом делает доступными данные
dd
, но никто еще не объяснил, почему это так и как VLC выполняет этот подвиг.Мне удалось воспроизвести это поведение при попытке воспроизведения DVD на моем компьютере с устройства Kodi, подключенного к моему телевизору, с помощью SMB для совместного доступа к корневому каталогу дисковода DVD по сети. Это не сработало, если я сначала не открыл DVD с VLC, после чего Коди мог волшебным образом воспроизвести файлы.
Такая магия оскорбляет мои чувства, поэтому я начал копать. Основной причиной проблемы является то, что ваш DVD-привод работает против вас . Согласно Википедии :
Так что это не только то, что вы получите зашифрованные данные, которые невозможно воспроизвести, если вы прочитаете DVD; накопитель не отправит обратно биты, если какая-либо программа на вашем компьютере не аутентифицирует себя на накопителе, используя некоторые специфичные для DVD IOCTL, предоставляемые ядром Linux (в данном случае, DVD_AUTH ). Вот почему это проявляется как ошибка ввода-вывода.
Более подробную информацию о том, как работают эти IOCTL, можно найти в этом посте списка рассылки от человека, который их реализовал , но в основном они предоставляют программному обеспечению для пользователя возможность выполнять секретное рукопожатие с оборудованием DVD-привода.
VLC выполняет это секретное рукопожатие
libdvdcss
, которое, в свою очередь, делает этоGetBusKey()
вcss.c
. Предположительно, отдельная программа, с которой связаны,libdvdcss
может быть написана, чтобы разблокировать диск для доступа в виде файлов, а не полагаться на все VLC. После разблокировки накопитель не может определить, какая программа читает с него, поэтому он отправляет (все еще зашифрованные, но теперь читаемые) биты кому-либо, включаяdd
илиcp
.(Интересно, что DVD IOCTL также являются единственным реальным способом получить ключ дешифрования, используемый для дешифрования данных на диске, после того, как вы прочитали его. Если вы воспроизводите скопированный каталог файлов, у вас нет доступа к IOCTL, чтобы получить ключи, поэтому
libdvdcss
прибегает к статистическому криптоанализу, чтобы взломать шифрование .)источник
vlc
впоследствии (не главное, хотя - я делаю это только в качестве резервной копии для своих дисков и не теряю содержимое - вот что для меня важно здесь). Я подозреваю, что такие инструменты, какmakemkv
илиhandbrake
могут также иметь тот же эффект, что иvlc
. Кроме того, это работало для меня сvlc
запуском на Windows сdd
запуском из виртуальной машины Linux.testdvd /dev/dvd
и все тут.Я не уверен, почему это работает, но сначала открываю DVD с VLC, просто достаточно, чтобы просмотреть меню, а затем приостановить, чтобы dd работал.
источник
Я могу подтвердить, что открытие диска с помощью VLC обходит защиту. Однако при использовании
dd
мне пришлось использовать эту команду после открытия VLC (обнаружена при загрузке диска и использовании каталога, представленного в VLC).Который отличается от многих постов, которые я прочитал, что эта команда должна работать
доказательство:
источник
Я могу порекомендовать программу под названием dvdbackup
Я могу сделать резервную копию DVD-диска в виде папок. Я не думаю, что это делает ISO. Так что вам нужно сделать этот шаг вручную.
источник
Я также испытал «открытый DVD с VLC первым». Итак, при использовании dd в моем скрипте я использую эту последовательность:
источник
dd
команду в кавычках? ……………………………………………………………………………………………………. Пожалуйста, не отвечайте в комментариях; отредактируйте свой ответ, чтобы сделать его более понятным и полным.