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


20

Я створив віртуальний диск «virtualbox», який вказує на функціонування, завантажуючи USB-накопичувач з невеликим дистрибутивом на ньому.

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

Коли я намагаюся додати його до VM 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 потребує кореневого доступу для ряду речей, і ви вже використовуєте sudo, щоб ви могли також зробити належний запуск root, щоб отримати належне середовище та користувальницькі властивості.
Джулі Пелтьє

Це, мабуть, пов’язано з "методом", який ви використовували для створення диска. Отже, ви намагаєтеся отримати доступ до USB-диску, але помилка посилається на попереднє розташування файлу зображення.
ILMostro_7

Те саме питання для мене. Коли я намагаюся виконати як sudo, це не дозволяє машинам x64, це був мій випадок, і тоді для мене немає рішення ...: '(- usind на linux
kokbira

Відповіді:


13

Користувач повинен бути в diskгрупі, щоб отримати доступ до необроблених розділів (про що Жилль згадував в останній посилання у своїй відповіді).

sudo usermod -a -G disk $USER

6
це також працює для мене - зауважте, що вам потрібно вийти із системи після додавання себе до групи, інакше ця зміна не застосовуватиметься. Це стосується будь-яких модифікацій групи
Cybex

Використання лише цієї команди було мені достатньо
kokbira

Це саме те, що мені було потрібно. Дуже дякую!
Теодор Р. Сміт

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
У мене зараз ця проблема, навіть коли я працюю з ВБ з підвищеними частними можливостями.
Euri Pinhollow

Ви запустили VirtualBox з облікового запису адміністратора чи запустили адміністратора? Якщо ні, ви можете спробувати з найвищими привілеями і спробувати менше, як тільки ви працюєте.
Паскаль

Дякуємо за відповідь Я спробував це і набагато більше, ніж це, виявилося складніше, ніж я думав. Я просто хотів зазначити, що немає жодного джерела цієї помилки.
Euri Pinhollow

@EuriPinhollow Вирішили проблему? Я отримую таку ж помилку щодо Windows (навіть запуск VBox-менеджера як адміністратор)
CF

3

Залежно від розподілу, можливо, доведеться додати своє ім’я користувача до групи VirtualBox.

usermod -a -G vboxusers myusername

Крім того, згідно з аналогічними запитаннями на Askubunt , у вас може бути пошкоджений ISO. У вашому випадку я б здогадувався, що це означає перехідне перетворення на необроблений диск. Спробуйте пошукати, як правильно виконати цю процедуру, і повторіть її, на випадок, якщо конверсія якось збіглася під час першої процедури.


Якщо це все ще не є рішенням, дотримуйтесь порад у посібнику щодо VirtualBox та додайте -relativeпараметр:

Для створення зображення потрібен доступ для читання / запису для даного пристрою. Доступ для читання / запису також потрібен пізніше при використанні зображення з віртуальної машини. Якщо це неможливо, існує спеціальний варіант доступу до необмежених розділів (наразі доступний лише на хостах Linux), який дозволяє уникати доступу поточного користувача до всього диска. Щоб налаштувати таке зображення, використовуйте

VBoxManage внутрішні команди createrawvmdk -файл /path/to/file.vmdk -rawdisk / dev / sda -розділи 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 я не міг запустити цей VM з rawdisk, за винятком використання sudo.
кокбіра

0

У мене була подібна проблема, але проблема полягала в тому, що я запускав команду sudo, коли в Finder я знаходився в домашньому томі, я cd'd до Volume / Users / Owner, де мій профіль називається власником, і тоді він прекрасно працював.


0

Проблема (для мене) полягала в тому, щоб показати лише ім'я файлу без усього шляху до каталогу. ... Потрібно лише ім'я файлу-

VBoxManage внутрішні команди createrawvmdk -файл rawdiskonusb.vmdk -rawdisk \. \ PhysicalDrive #

добре працювали.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.