Если компакт-диск неисправен, обычные инструменты UNIX не помогут.
Пока вы получаете сообщение о том, что носитель не найден, вы ничего не можете сделать.
Сначала необходимо проверить, является ли это пустым носителем CD -R и является ли ваш дисковод только приводом CD -ROM, который не понимает незаписанный носитель CD -R.
Если это устройство записи компакт-дисков, то оно должно быть в состоянии обнаружить носитель и в таком случае cdrecord -v -minfo
распечатать информацию о фактическом состоянии носителя. Если компакт-диск был записан, то вот дополнительная помощь:
Если на диске нет ни пылинки, ни царапин, единственный выход — найти более подходящий дисковод, который принимает носитель, или, по крайней мере, повторно загружать носитель до тех пор, пока дисководу не понравится носитель.
Обратите внимание, что для распознавания компакт-диска приводу необходимо прочитать TOC
.
TOC
он находится во внутреннем круге среды и оснащен несколькими данными для восстановления после ошибок, но повторяется несколько раз. Если из-за большего пространства на диске образовался больший зазор, из которого ничего нельзя прочитать, то мало надежды прочитать TOC
.
Как только вам удалось заставить дисковод распознавать носитель, вы должны использовать readcd
для решения остальных проблем.
readcd
находится в cdrtools
для финальных выпусков и в schilytools
для частых моментальных снимков. Он включает в себя функции восстановления из sdd
и вдобавок еще больше (кода восстановления Рида-Соломона, который может быть лучше того, что есть у вас в прошивке накопителя ).
Рекомендую начать с того, чтобы носитель распознавался дисководом...
Вот справочная страница readcd
:http://schilytools.sourceforge.net/man/man1/readcd.1.html
Массив bash PIPESTATUS
содержит коды состояния всех команд в конвейере.
Для кода выхода 1-й программы:
echo "${PIPESTATUS[0]}"
коды выхода всех программ, собранных вместе:
echo "${PIPESTATUS[@]}"