Поскольку вы спрашиваете о доступе на уровне драйвера, вам следует изучить команды SCSI или, возможно, API-интерфейс, подобный ASPI. В программном обеспечении Windows VSO (разработчики слепого / слепого написания ниже) разработан гораздо лучший API, Patin-Couffin, который обеспечивает заблокированный низкоуровневый доступ:
http://en.wikipedia.org/wiki/Patin-Couffin
Это может начать тебя. Однако, в конце концов, диск взаимодействует с командами SCSI, даже если это фактически USB, SATA, ATA, IDE или другие. Вы также можете посмотреть термины, относящиеся к ATAPI, которая была одной из первых спецификаций для этого интерфейса уровня SCSI CD-ROM.
Я был бы удивлен, если бы вы не смогли найти подходящую библиотеку linux или пример работы с командами более низкого уровня, используя приведенные выше термины и понятия поиска.
Предыдущий ответ:
Blindread / blindwrite был разработан в период расцвета схем защиты CD-ROM, часто с использованием намеренно поврежденных секторов или информации об ошибках для проверки исходного CD.
Это позволит вам установить целый ряд параметров, включая повторные попытки. Имейте в виду, что сам привод CD-ROM определяет, сколько раз следует повторить попытку, и я не уверен, что это можно установить с помощью программного обеспечения для многих (большинства?) Приводов CD-ROM.
Вы можете скопировать диск в формат ISO, игнорируя ошибки, а затем использовать утилиты ISO для чтения данных.
-Adam