2

У меня есть мультисессионный компакт-диск, содержимое которого я хочу скопировать на жесткий диск. Этому диску около 20 лет, и он состоит из нескольких частей, в которых рассказывается о проблемах чтения, поэтому он является потенциальным кандидатом на ddrescue .

Проблема в том, что ddrescue , похоже, не распознает никаких сессий, кроме первой на CD, как это делает dd . В его документации даже не упоминаются мультисессионные компакт-диски, и в Интернете, похоже, не так много информации о том, как это сделать.

Итак, вопрос в том, как спасти многосессионный компакт-диск, используя ddrescue или любой другой подобный инструмент?

1 ответ1

2

Боюсь, вы упомянули неудачный ответ в своем комментарии: ddrescue не знает, как обращаться с отдельным сеансом. Я подозреваю, что это преднамеренный выбор интерфейса CD-ROM ядра Linux: он показывает только тот сеанс, который он считает уместным. Чтобы обойти это, я полагаю, что cdrdao делает что-то особенное, что позволяет инструменту получать доступ к отдельным сеансам (например, с флагом --session).

В моих тестах следующее выдает один большой двоичный файл (.bin) и файл оглавления (.toc), описывающий диск:

cdrdao read-cd --read-raw --datafile data.bin data.toc

Он ничего не повторяет и не проверяет, так что это не совсем спасение. Но он может быть в состоянии спасти компакт-диски смешанного режима и обратиться к отдельным сессиям. Если вышеупомянутое не находит все сеансы (вы можете проверить, сколько сеансов присутствует с помощью cdrdao disk-info), вы можете извлечь отдельные сеансы с помощью:

for session in 1 2 3 [...] ; do
    cdrdao read-cd --read-raw --session $session --datafile data-$session.bin data-$session.toc
done

Файлы .bin необходимо преобразовать, чтобы они отображались как файлы ISO , используя bchunk:

bchunk data.bin data.toc data

Если все идет хорошо, это должно создать data.iso для соответствующего раздела диска. Он также может создать файл data.ugh если он не преобразуется, и я, к сожалению, не знаю, как справиться с этим делом.

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