понедельник, Март 10, 2008

Ошибки при записи DVD и как с ними бороться

Случается, что при записи DVD-дисков возникают ошибки. Обычно при этом болванка выбрасывается, однако есть способы некоторые ошибки исправить и записать-таки диск. Почти всегда такой диск нормально читается и проходит проверку на MD5-суммы. Ниже приведены несколько типичных ошибок и способы их устранения.

Сбой в процессе записи в начале или середине диска
Редко, но бывает так: в начале или середине диски запись обрывается и growisofs выдаёт сообщение

Executing 'builtin_dd if=1.iso of=/dev/cdrom obs=32k seek=0'
/dev/cdrom: "Current Write Speed" is 16.4x1352KBps.
0/4393730048 ( 0.0%) @0x, remaining ??:?? RBU 100.0% UBU 0.0%
0/4393730048 ( 0.0%) @0x, remaining ??:?? RBU 100.0% UBU 0.0%
0/4393730048 ( 0.0%) @0x, remaining ??:?? RBU 100.0% UBU 0.0%
0/4393730048 ( 0.0%) @0x, remaining ??:?? RBU 100.0% UBU 0.0%
0/4393730048 ( 0.0%) @0x, remaining ??:?? RBU 100.0% UBU 0.0%
1671168/4393730048 ( 0.0%) @0.4x, remaining 1007:27 RBU 100.0% UBU 1.9%
:-[ WRITE@LBA=330h failed with SK=3h/ASC=0Ch/ACQ=00h]: Input/output error
:-( write failed: Input/output error
/dev/cdrom: flushing cache
/dev/cdrom: closing track
:-[ CLOSE TRACK failed with SK=3h/ASC=0Ch/ACQ=00h]: Input/output error
/dev/cdrom: closing session
/dev/cdrom: reloading tray


Болванку выбрасывать не надо, а только запустить процесс ещё раз - диск будет продолжен с того места, где запись прервалась. После этого диск нормально читается и проходит проверку на MD5-суммы.


Ошибка закрытия сессии
Диск полностью записался, и начинается закрытие сессии - иногда здесь происходит ошибка:

2144544*2KB out @ average 9.9x1352KBps
/dev/cdrom: flushing cache
/dev/cdrom: closing track
/dev/cdrom: closing session
:-[ CLOSE SESSION failed with SK=5h/ASC=72h/ACQ=03h]: Input/output error


Обидно: диск-то записался, но читаться он не будет, так как не закрыта сессия.
Для этого есть фирменная "затычка" от авторов dvd+rw-tools: небольшая программа close, и нужен её исходник. Его нужно скачать отсюда, установить/скачать исходные коды dvd+rw-tools и скопировать close.cpp в каталог с исходниками dvd+rw-tools. После этого в каталоге с исходниками компилируем close.cpp командой:

g++ -o close close.cpp
Всё, даём ей права на исполнение, вставляем в привод диск с неудачно закрытой сессией и пишем:
close /dev/hda
Если /dev/hda ваш пишущий DVD-привод, конечно. После этого диск будет закрыт, его можно прочесть и он проходит проверку MD5-сумм.

Как сообщают комментаторы, так же для закрытия сессии можно использовать команду
dvd+rw-format -lead-out /dev/scdN
Должно работать и для обычных DVD-R дисков.


Ошибка при проверке и чтении только что записанного диска
Диск полностью записался, сессия закрылась, и бывает так, что сразу же считать его не удаётся:

dd if=/dev/cdrom bs=2048 count=2261481 | md5sum

c99a74c555371a433d121f551d6c6398 -
1+0 записей считано
1+0 записей написано
скопировано 2048 байт (2,0 kB), 1,51564 секунд, 1,4 kB/s

Для того, чтобы это обойти, нужно всего лишь вынуть и вставить диск. :-)

9 комментариев:

san-sanych-r комментирует...

Если не против скопирую себе на память :) http://sanych.nnov.ru/?q=node/16

Olly Cat комментирует...

Информация сама по себе интересна, но при нынешней цене на болванки не лучше ли все же от греха подальше переписать заново? ;) Вот лет N-цать назад это было бы очень актуально. :)

virens комментирует...

2 san-sanych-r пишет...
Если не против скопирую себе на память :)

Пожалуйста.

2 Olly Cat пишет...
Информация сама по себе интересна, но при нынешней цене на болванки не лучше ли все же от греха подальше переписать заново?
Не лучше. Даже при нынешних ценах на болванки. Тем более, что записанные диски таким образом неотличимы от других.

resurtm комментирует...

Спасибо за статью! Часто бывают подобные вещи.

Анонимный комментирует...

для закрытия ссесии на dvd можно использовать dvd+rw-format -lead-out /dev/scdN

IgorQ.WRD комментирует...

У меня на Brasero выплевывает DVD-RW очищенный самостоятельно. Те же файлы К3В пишет без проблем, правда на этапе проверки выкатывает болванку и дальше ничего не происходит, типа процес завершен на 50%

Анонимный комментирует...

Ошибка при записи диска это конечно плохо... Иногда они случаются из-за того, что образы скачиваются криво. Был у меня случай: скачивал Debian, первый диск. Скачался, начал проверять, а md5 не совпадает (((. Сначала жутко жалел, все же скачал почти 4.5 гигабайта... Вопрос решил кардинально. Скачал торрент для этого образа, подсунул торрент в торрентовую качалку и подкинул криво скачанный образ. Торренто-качалка докачала не достающую инфу.

Людмила комментирует...

У меня часто была проблема с ошибкой закрытия сессии, теперь буду знать что делать с этим, спасибо вам большущее!

virens комментирует...

2 resurtm пишет...
Спасибо за статью! Часто бывают подобные вещи.
Кстати, есть соображения, что если такое бывает часто, может скоро выйти из строя пишущий привод.

2 Анонимный Анонимный пишет...
для закрытия ссесии на dvd можно использовать dvd+rw-format -lead-out /dev/scdN
Интересно, а для обычных DVD-R это срабатывает? Но вообще должно.

Добавил в пост.


2 IgorQ.WRD пишет...
Те же файлы К3В пишет без проблем, правда на этапе проверки выкатывает болванку и дальше ничего не происходит, типа процес завершен на 50%
А такие диски проверку на MD5-суммы проходят?

2 Анонимный пишет...
Ошибка при записи диска это конечно плохо... Иногда они случаются из-за того, что образы скачиваются криво.
Здесь немного не об этом: ошибка происходит на этапе непосредственной записи.

Но трюк с торрентом это здорово.


2 Людмила пишет...
У меня часто была проблема с ошибкой закрытия сессии, теперь буду знать что делать с этим, спасибо вам большущее!
Пожалуйста. Трюк с close.cpp раскопал в архивах списков рассылки, и решил попробовать перед тем, как выбросить болванку :-)