VERR_ACCESS_DENIED quando si tenta di aggiungere un disco non elaborato alla casella virtuale


20

Ho creato un disco raw virtualbox che punta a un'unità USB funzionante, avviando con una piccola distribuzione Linux su di essa.

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

Quando provo ad aggiungerlo a una VM virtualbox, ottengo questo errore:

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)

Ho visto che il file vmdk del disco non elaborato era di proprietà di root. L'ho regalato al mio stesso utente.

Ricevi ancora lo stesso errore. Ho il sospetto che funzionerebbe se avessi eseguito virtualbox come root, ma in realtà non voglio farlo. Esiste un modo per farlo funzionare?


VirtualBox ha bisogno dell'accesso root per un sacco di cose e usi già sudo quindi potresti anche fare un avvio root adeguato per ottenere l'ambiente e le proprietà dell'utente.
Julie Pelletier,

Questo è probabilmente correlato al "metodo" che hai usato per creare il disco. Quindi, stai tentando di accedere al disco USB, ma l'errore fa riferimento alla posizione del file di immagine precedente.
ILMostro_7,

Lo stesso problema per me. Quando provo ad eseguire sudo, non consente macchine x64, era il mio caso, e quindi non c'è soluzione per me ...: '(- usind su linux
kokbira

Risposte:


13

L'utente dovrebbe essere in un diskgruppo per accedere alle partizioni non elaborate (come indicato da Gilles come ultimo riferimento nella sua risposta).

sudo usermod -a -G disk $USER

6
questo funziona anche per me - tieni presente che devi disconnetterti dopo esserti aggiunto al gruppo, altrimenti questa modifica non verrà applicata. Questo vale per qualsiasi modifica del gruppo in realtà
Cybex,

Usare solo quel comando è stato sufficiente per me
kokbira,

Questo era esattamente ciò di cui avevo bisogno. Grazie mille!
Theodore R. Smith,

10

Controllare l'autorizzazione su tutti i file coinvolti, tra le directory: ~/VirtualBox VMs, ~/VirtualBox VMs/MyTinyLinux, ~/VirtualBox VMs/MyTinyLinux/rawdiskonusb.vmdk, /dev/disk2. Le directory devono essere leggibili e percorribili dall'utente ( chmod +rx) e il file di immagine e il disco non elaborato devono essere leggibili e scrivibili ( chmod +rw).

Dovrai consentire al tuo utente di accedere al disco; poiché /devviene popolato automaticamente ad ogni avvio, per farlo dovrai aggiungere un udev. Consulta Concedere a un dispositivo autorizzazioni specifiche per un dispositivo senza consentire l'accesso ad altri utenti


8

Il poster utilizzava Linux sul computer host. Se sei venuto qui e usi Windows come host (come me), c'è una soluzione semplice a questo errore. Windows non consente l'accesso al disco non elaborato se non si avvia VirtualBox con privilegi di amministratore .


2
Ho questo problema in questo momento anche quando eseguo VB con privilegi elevati.
Euri Pinhollow,

Hai avviato VirtualBox da un account amministratore o eseguendolo come amministratore? Altrimenti, potresti provare con i privilegi più alti e provare con meno una volta che lo fai funzionare.
Pascal

Grazie per la risposta. Ci ho provato e molto di più, si è rivelato più complicato di quanto pensassi. Volevo solo sottolineare che non esiste un'unica fonte di questo errore.
Euri Pinhollow,

@EuriPinhollow Hai risolto il problema? Ottengo lo stesso errore su Windows (anche eseguendo VBox manager come admin)
CF

3

A seconda della distribuzione, potrebbe essere necessario aggiungere il nome utente al gruppo VirtualBox.

usermod -a -G vboxusers myusername

Inoltre, in base a domande e risposte simili su askubunt , potresti avere un ISO corrotto. Nel tuo caso, immagino significhi una conversione pasticciata su disco grezzo. Prova a cercare su come eseguire correttamente quella procedura e ripeterla, nel caso in cui la conversione si sia in qualche modo compromessa durante la prima procedura.


Se questa non è ancora una soluzione, segui i consigli nel Manuale di VirtualBox e aggiungi l' -relativeopzione:

La creazione dell'immagine richiede l'accesso in lettura / scrittura per il dispositivo specificato. In seguito è anche necessario l'accesso in lettura / scrittura quando si utilizza l'immagine da una macchina virtuale. Se ciò non è possibile, esiste una variante speciale per l'accesso alla partizione non elaborata (attualmente disponibile solo su host Linux) che evita di dover fornire all'utente corrente l'accesso all'intero disco. Per impostare tale immagine, utilizzare

VBoxManage comandi interni createrawvmdk -filename /path/to/file.vmdk -rawdisk / dev / sda -partitions 1,5 -relative

Se utilizzato da una macchina virtuale, l'immagine farà riferimento non all'intero disco, ma solo alle singole partizioni (nell'esempio / dev / sda1 e / dev / sda5). Di conseguenza, l'accesso in lettura / scrittura è richiesto solo per le partizioni interessate, non per l'intero disco. Durante la creazione, tuttavia, per ottenere le informazioni sul partizionamento è necessario l'accesso in sola lettura all'intero disco.


2

Poiché non esiste una risposta accettata, la posterò come risposta per il momento. Oltre ad assicurarti di essere nei gruppi giusti, come altri hanno pubblicato sopra:

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

Se l' VERR_ACCESS_DENIEDerrore persiste , è necessario, come nel commento di @Cybex, disconnettersi e riconnettersi affinché le aggiunte del gruppo sopra riportate abbiano effetto.


"vboxusers" non era necessario per il mio caso, solo "disk" (fedora29). Su mint19, non ho potuto eseguire quella VM con rawdisk, tranne usare sudo.
Kokbira,

0

Ho avuto un problema simile, ma il problema era che stavo eseguendo il comando sudo mentre nel finder ero nel mio volume di casa, ho registrato su Volume / Users / Owner dove il mio profilo è chiamato proprietario e quindi ha funzionato perfettamente.


0

Il problema (per me) era mostrare solo il nome del file senza l'intero percorso della directory. ... È necessario solo il nome file-

VBoxManage comandi interni createrawvmdk -filename rawdiskonusb.vmdk -rawdisk \. \ PhysicalDrive #

ha funzionato bene.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.