Debian 10 создает узел устройства /dev/srn для SCSI магнитно-оптического накопителя вместо /dev/sdn

Вопрос или проблема

Я пытаюсь выполнить сырой доступ к старому магнитно-оптическому диску в Debian 10 (в Windows проблем нет)

Я ожидал, что Linux добавит диск как /dev/hdn или /dev/sdn, но, похоже, он распознает его как cdrom (/dev/srn). Вот соответствующие строки из dmesg:

[   22.112062] scsi host33: Adaptec AIC7XXX EISA/VLB/PCI SCSI HBA DRIVER, Rev 7.0
              <Adaptec 29160N Ultra160 SCSI adapter>
              aic7892: Ultra160 Wide Channel A, SCSI Id=7, 32/253 SCBs

[   37.472036] scsi host36: Adaptec AIC7XXX EISA/VLB/PCI SCSI HBA DRIVER, Rev 7.0
              <Adaptec 29160N Ultra160 SCSI adapter>
              aic7892: Ultra160 Wide Channel A, SCSI Id=7, 32/253 SCBs

[   38.764112] scsi 36:0:5:0: WORM              LMS      LD 1200E SCSI    0183 PQ: 0 ANSI: 1
[   38.780029] scsi target36:0:5: Beginning Domain Validation
[   38.801822] scsi target36:0:5: Ending Domain Validation
[   41.134286] sr 36:0:5:0: [sr1] scsi-1 drive
[   41.134456] sr 36:0:5:0: Attached scsi CD-ROM sr1
[   41.134516] sr 36:0:5:0: Attached scsi generic sg2 type 4
[   41.178402] sr 36:0:5:0: [sr1] unsupported sector size 1024.
[   41.312627] PM: Image not found (code -22)

Когда я пытаюсь прочитать с /dev/sr1, используя dd bs=1024 if=/dev/sr1, я получаю 0 записей; вероятно, потому что /dev/sr1 не принимает размер блока в 1024 байта, хотя я знаю, что именно это использует магнитно-оптический диск.

К слову, команда cat /proc/scsi/scsi дает следующие результаты:

Attached devices:
Host: scsi0 Channel: 00 Id: 00 Lun: 00
  Vendor: VMware   Model: Virtual disk     Rev: 2.0 
  Type:   Direct-Access                    ANSI  SCSI revision: 06
Host: scsi2 Channel: 00 Id: 00 Lun: 00
  Vendor: NECVMWar Model: VMware SATA CD00 Rev: 1.00
  Type:   CD-ROM                           ANSI  SCSI revision: 05
Host: scsi36 Channel: 00 Id: 05 Lun: 00
  Vendor: LMS      Model: LD 1200E SCSI    Rev: 0183
  Type:   WORM                             ANSI  SCSI revision: 01

Есть ли способ заставить Linux создать файл устройства /dev/sdn для него, а не /dev/srn?

Ответ или решение

Создание устройства /dev/srn для SCSI-магнитооптического накопителя в Debian 10 вместо /dev/sdn может вызвать некоторые трудности, особенно если вы рассчитываете выполнять операции низкоуровневого чтения с использованием утилиты dd. В данной статье мы рассмотрим причины такого поведения и возможные способы решения проблемы.

Причины возникновения проблемы

Девайс /dev/srn идентифицируется как CD-ROM, поскольку система Linux видит ваш SCSI-накопитель как вариант записи (WORM – Write Once Read Many). Это связано со спецификацией SCSI, которая классифицирует устройства, подписанные как WORM, как оптические накопители. В данном случае, модель вашего магнитооптического диска LMS LD 1200E признается системой как устройство типа CD-ROM.

При этом в системе Linux накопители с типом "CD-ROM" представлены через /dev/sr<номер>, что означает, что операции, подобные чтению, будут ограничены характеристиками, присущими CD-ROM-дискам. Это, возможно, и является причиной, по которой вы не можете выполнить операцию dd с размером блока 1024 байта, так как устройства типа CD-ROM, как правило, рассчитаны на чтение фиксированного размера блоков, таких как 2048 байт.

Подходы к решению проблемы

1. Проверка параметров устройства

Для начала стоит убедиться, что на уровне драйвера SCSI и в параметрах устройства присутствуют нужные вам настройки. Попробуйте запустить команду:

hdparm -I /dev/sr1

Это может дать полезную информацию о характеристиках устройства читать и записи.

2. Использование параметра blocksize в dd

Попробуйте использовать другой размер блока. Если устройство действительно возвращает 2048 байт на блок, то команда должна выглядеть так:

dd if=/dev/sr1 of=output_file.img bs=2048

Попробуйте запустить одну из предыдущих команд, прежде чем делать выводы о несовместимости устройства.

3. Изменение конфигурации загрузчика или ядра

В некоторых ситуациях можно попытаться указать ядру Linux, как обрабатывать это устройство. Для этого необходимо узнать параметры SCSI и возможно использовать опции командной строки для загрузчика. Это может быть сделано через GRUB, добавив в параметрах загрузки:

libata.force = [options]

4. Виртуализация или альтернативные решения

Если проблема не решается через стандартное управление устройствами, попробуйте использовать виртуальные машины или инструменты, такие как qemu, чтобы работать с магнитооптическим диском в качестве образа. Это может позволить вам записать его содержимое и работать с данными без ограничений, присущих физическому интерфейсу.

5. Обратитесь к сообществу

Если указанные методы не дают результата, полезно обратиться за помощью к сообществу Linux. Есть множество форумов и почтовых рассылок, где как новички, так и эксперты могут обменяться знаниями и опытом. Например, такие ресурсы, как LinuxQuestions.org, могут оказаться полезными.

Заключение

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

Оцените материал
Добавить комментарий

Капча загружается...