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, но я действительно не хочу этого делать. Есть ли способ заставить это работать?


VirtualBox требует root-доступа для множества вещей, и вы уже используете sudo, поэтому вы могли бы также сделать правильный запуск root-доступа, чтобы получить надлежащую среду и пользовательские свойства.
— Джули Пеллетье

Вероятно, это связано с «методом», который вы использовали для создания диска. Итак, вы пытаетесь получить доступ к USB-диску, но ошибка ссылается на предыдущее расположение файла изображения.
— ILMostro_7

Та же проблема для меня. Когда я пытаюсь выполнить его как sudo, он не разрешает машины x64, как было в моем случае, и тогда для меня нет решения ...: '(- usind на linux
— kokbira

Ответы:


13

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

sudo usermod -a -G disk $USER

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). Как следствие, доступ для чтения / записи требуется только для затронутых разделов, а не для всего диска. Однако во время создания доступ только для чтения ко всему диску необходим для получения информации о разделах.


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 #

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.