VERR_ACCESS_DENIED при попытке добавить сырой диск в виртуальный ящик

20

Я создал виртуальный сырой диск, указывающий на работающую загрузочную флешку с небольшим дистрибутивом Linux.

sudo ./VBoxManage internalcommands createrawvmdk -filename ~/VirtualBox\ VMs/MyTinyLinux/rawdiskonusb.vmdk -rawdisk /dev/disk2 -partitions 2

Когда я пытаюсь добавить его в виртуальную машину Virtualbox, я получаю эту ошибку:

Failed to open the disk image file ~/VirtualBox VMs/MyTinyLinux/rawdiskonusb.vmdk.

Permission problem accessing the file for the medium '~/VirtualBox VMs/MyTinyLinux/rawdiskonusb.vmdk' (VERR_ACCESS_DENIED).

Result Code: VBOX_E_FILE_ERROR (0x80BB0004)
Component: MediumWrap
Interface: IMedium {4afe423b-43e0-e9d0-82e8-ceb307940dda}
Callee: IVirtualBox {0169423f-46b4-cde9-91af-1e9d5b6cd945}
Callee RC: VBOX_E_OBJECT_NOT_FOUND (0x80BB0001)

Я увидел, что файл vmdk для необработанного диска принадлежал пользователю root. Я сделал это своему собственному пользователю.

Тем не менее получить ту же ошибку. Я подозреваю, что это будет работать, если я запустил virtualbox от имени пользователя root, но я действительно не хочу этого делать. Есть ли способ заставить это работать?

адаптируются-DEV
источник
VirtualBox требует root-доступа для множества вещей, и вы уже используете sudo, поэтому вы могли бы также сделать правильный запуск root-доступа, чтобы получить надлежащую среду и пользовательские свойства.
Джули Пеллетье
Вероятно, это связано с «методом», который вы использовали для создания диска. Итак, вы пытаетесь получить доступ к USB-диску, но ошибка ссылается на предыдущее расположение файла изображения.
ILMostro_7
Та же проблема для меня. Когда я пытаюсь выполнить его как sudo, он не разрешает машины x64, как было в моем случае, и тогда для меня нет решения ...: '(- usind на linux
kokbira

Ответы:

13

Пользователь должен быть в diskгруппе, чтобы получить доступ к необработанным разделам (как Gilles упомянул последнюю ссылку в своем ответе).

sudo usermod -a -G disk $USER
ASTEN
источник
6
это работает и для меня - обратите внимание, что вы должны выйти из системы после добавления себя в группу, иначе это изменение не будет применено. Это касается любых групповых изменений на самом деле
Cybex
Мне достаточно было использовать только эту команду
Кокбира
Это было именно то, что мне было нужно. Спасибо огромное!
Теодор Р. Смит
10

Проверьте разрешение на все файлы , связанные, в том числе каталогов: ~/VirtualBox VMs, ~/VirtualBox VMs/MyTinyLinux, ~/VirtualBox VMs/MyTinyLinux/rawdiskonusb.vmdk, /dev/disk2. Каталоги должны быть доступны для чтения и отслеживания вашим пользователем ( chmod +rx), а файл образа и необработанный диск должны быть доступны для чтения и записи ( chmod +rw).

Вам нужно разрешить вашему пользователю доступ к диску; так /devкак заполняется автоматически при каждой загрузке, вам нужно добавить udev для этого. См. Раздел « Предоставление определенного разрешения пользователю для устройства без предоставления доступа другим пользователям».

Жиль "ТАК - прекрати быть злым"
источник
8

Постер использовал Linux на хост-машине. Если вы пришли сюда и используете Windows в качестве хоста (как я), есть простое решение этой ошибки. Windows не разрешает доступ к сырому диску, если вы не запускаете VirtualBox с правами администратора .

паскаль
источник
2
У меня есть эта проблема прямо сейчас, даже когда работает VB с повышенными привилегиями.
Euri Pinhollow
Вы запустили VirtualBox из учетной записи администратора или от имени администратора? Если нет, вы можете попробовать с самыми высокими привилегиями и попробовать с меньшими, как только вы заработаете.
Паскаль
Спасибо за ответ. Я попробовал это и намного больше того, что оказалось сложнее, чем я думал. Я просто хотел указать, что нет ни одного источника этой ошибки.
Euri Pinhollow
@EuriPinhollow Решили проблему? Я получаю ту же ошибку в Windows (даже при запуске администратора VBox от имени администратора)
CF
3

В зависимости от дистрибутива вам может потребоваться добавить свое имя пользователя в группу VirtualBox.

usermod -a -G vboxusers myusername

Кроме того, согласно аналогичным вопросам и ответам на askubunt , у вас может быть поврежденный ISO. В вашем случае, я думаю, это означает неудачное преобразование в сырой диск. Попробуйте поискать, как правильно выполнить эту процедуру, и повторите ее, если преобразование каким-то образом провалилось во время первой процедуры.


Если это все еще не решение, следуйте советам в руководстве VirtualBox и добавьте -relativeпараметр:

Создание изображения требует доступа для чтения / записи для данного устройства. Доступ на чтение / запись также позже необходим при использовании образа с виртуальной машины. Если это невозможно, существует специальный вариант для доступа к необработанным разделам (в настоящее время доступен только на хостах Linux), в котором не нужно предоставлять текущему пользователю доступ ко всему диску. Чтобы настроить такое изображение, используйте

Внутренние команды VBoxManage createrawvmdk -filename /path/to/file.vmdk -rawdisk / dev / sda -partitions 1,5 -относительно

При использовании с виртуальной машины образ будет ссылаться не на весь диск, а только на отдельные разделы (в примере / dev / sda1 и / dev / sda5). Как следствие, доступ для чтения / записи требуется только для затронутых разделов, а не для всего диска. Однако во время создания доступ только для чтения ко всему диску необходим для получения информации о разделах.

ILMostro_7
источник
2

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

sudo usermod -a -G disk $USER
sudo usermod -a -G vboxusers $USER

Если вы по-прежнему получаете сообщение об VERR_ACCESS_DENIEDошибке, вам необходимо, в соответствии с комментарием @Cybex, выйти и снова войти в систему, чтобы вышеупомянутые добавления в группу вступили в силу.

ушел
источник
«vboxusers» не был нужен для моего случая, только «диск» (fedora29). На mint19 я не мог запустить эту ВМ с rawdisk, кроме как с помощью sudo.
Кокбира
0

У меня была похожая проблема, но проблема заключалась в том, что я выполнял команду sudo, пока в поисковике я был на своем домашнем томе, я перешел на том / пользователей / владельца, где мой профиль называется владельцем, и затем он работал отлично.

Иисус Джонс
источник
0

Проблема (для меня) заключалась в том, чтобы показать только имя файла без полного пути к каталогу. ... требуется только имя файла

Внутренние команды VBoxManage createrawvmdk -filename rawdiskonusb.vmdk -rawdisk \. \ PhysicalDrive #

работал хорошо.

Хариянто Хариянто
источник