VBoxManage: Ошибка: не Может использоваться в качестве требуемого устройства

Если Вы не возражаете монтировать диски вручную, добавьте следующую строку к /etc/fstab:

/dev/cdrom  /media/cdrom  auto  noauto,user,exec

Затем можно использовать mount /media/cdrom когда Вы вставляете диск, и umount /media/cdrom прежде, чем извлечь его.

Вы должны будете или выяснить, как отключить любое автоматическое монтирование или отмену что автоматическое монтирование (с umount). Можно также переместить точку монтирования с mount --move ' /media/Warcraft III' /media/cdrom (это должно быть выполнено как корень).

2
13.04.2017, 15:36
1 ответ

Если Вы выполняете систему, сопоставимую с Ubuntu 12.10, с помощью udev, то необходимо дать udev команду присваивать верные полномочия логическому тому, который Вы хотите присвоить Virtualbox.

Проверять текущие полномочия к на логическом томе:

$ ls -lL /dev/mapper/vg_usbraid-vm_webserver
brw-rw---- 1 root disk      252,   8 Oct 26 09:26 vg-lv
id
uid=1000(username) gid=1000(groupid) groups=1000(groupid),4(adm),20(dialout),24(cdrom),46(plugdev),115(lpadmin),117(admin),122(sambashare)

И проверьте, перечислен ли идентификатор группы устройства в списке группы от id команда.

Проблема в примере выше состоит в том, что ни 'корень', ни 'диск' не находятся в списке это id выкладывает. Хотя легко расширить список группы для пользователя, это действительно не, что Вы хотите как добавляющий также root или disk к Вашей учетной записи пользователя главная угроза безопасности. Вы смогли бы как обычный пользователь записать в любой диск на очень низком уровне. Лучшее решение объяснено ниже.

С ограниченной информацией, доступной во время записи, я не могу вдаваться в большое количество подробностей, но это - то, что я сделал для выполнения Vbox VM, работающего от Логического тома под моим собственным именем пользователя:

Создайте следующий файл: /etc/udev/rules.d/65-vmdmsetup.rules с содержанием:

SUBSYSTEM!="block",                             GOTO="vm_device_mapper_end"
KERNEL!="dm-*",                                 GOTO="vm_device_mapper_end"
ACTION!="add|change",                           GOTO="vm_device_mapper_end"

# Obtain device status
IMPORT{program}="/sbin/dmsetup export -j%M -m%m"
ENV{DM_NAME}!="?*",                             GOTO="vm_device_mapper_end"

ENV{DM_NAME}=="vg_usbraid-vm_webserver",        GROUP="groupid"                                                

LABEL="vm_device_mapper_end"

Где:

  • vg_usbraid имя группы объема
  • vm_webserver название логического тома
  • groupid идентификатор группы, который идет с Вашим именем пользователя. Проверьте на 'ценуроз =' в выводе id

Конечно, необходимо перезагрузить udev, но опечатки создания в правилах udev могут разрушить систему. Так обязательно закройте как можно больше приложений и возможно просто выполните a sync сбросить как можно больше данных к диску. Рассмотрите увеличение уровня журнала поэтому в случае, если это не работает, по крайней мере, у Вас есть некоторый вывод к тому, что пошло не так, как надо.

$ udevadm control --log-priority=info
$ sudo udevadm control --reload

На Ubuntu вход перенаправляется к /var/log/syslog.

Только, после того как udev настраивается, необходимо создать логический том, иначе udev не будет видеть события. Если Ваш LV уже существует выполненный a:

$ sudo udevadm trigger --subsystem-match=block

Затем наконец сверьтесь, если полномочия были правильно установлены с помощью:

$ ls -lL vg_usbraid-vm_webserver
brw-rw---- 1 root groupid  252,   8 Oct 26 09:26 vg_usbraid-vm_webserver
                  ^^^^^^^

И возвратите регистрирующийся рычаг настройке по умолчанию:

$ sudo udevadm control --log-priority=err
1
27.01.2020, 22:23

Теги

Похожие вопросы