VERR_ACCESS_DENIED lors de la tentative d'ajout d'un disque brut à la boîte virtuelle

20

J'ai créé un disque brut de virtualbox pointant vers un lecteur USB qui fonctionne, avec une petite distribution Linux dessus.

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

Quand j'essaye de l'ajouter à une VM de virtualbox, j'obtiens cette erreur:

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)

J'ai vu que le fichier vmdk du disque brut appartenait à root. Je l'ai montré à mon propre utilisateur.

Toujours la même erreur. Je soupçonne que cela fonctionnerait si j'exécutais virtualbox en tant que root, mais je ne veux vraiment pas le faire. Y a-t-il un moyen de faire fonctionner cela?

adapt-dev
la source
VirtualBox a besoin d'un accès root pour un tas de choses, et vous utilisez déjà sudo donc vous pouvez aussi bien faire un démarrage root approprié pour obtenir un environnement et des propriétés utilisateur appropriés.
Julie Pelletier
Cela est probablement lié à la "méthode" que vous avez utilisée pour créer le disque. Donc, vous essayez d'accéder au disque USB, mais l'erreur fait référence à l'emplacement du fichier image précédent.
ILMostro_7
Même problème pour moi. Quand j'essaye d'exécuter en tant que sudo, cela n'autorise pas les machines x64, c'était mon cas, et puis il n'y a pas de solution pour moi ...: '(- - usind on linux
kokbira

Réponses:

13

L'utilisateur doit être dans un diskgroupe pour accéder aux partitions brutes (comme Gilles l'a mentionné par dernière référence dans sa réponse).

sudo usermod -a -G disk $USER
ASten
la source
6
cela fonctionne aussi pour moi - notez que vous devez vous déconnecter après vous être ajouté au groupe, sinon cette modification ne sera pas appliquée. Cela vaut pour toutes les modifications de groupe
Cybex
Utiliser seulement cette commande me
suffisait
C'était exactement ce dont j'avais besoin. Merci beaucoup!
Theodore R. Smith
10

Vérifiez l'autorisation sur tous les fichiers concernés, y compris les répertoires: ~/VirtualBox VMs, ~/VirtualBox VMs/MyTinyLinux, ~/VirtualBox VMs/MyTinyLinux/rawdiskonusb.vmdk, /dev/disk2. Les répertoires doivent être lisibles et traversables par votre utilisateur ( chmod +rx) et le fichier image et le disque brut doivent être lisibles et inscriptibles ( chmod +rw).

Vous devrez autoriser votre utilisateur à accéder au disque; comme il /devest rempli automatiquement à chaque démarrage, vous devrez ajouter un udev pour ce faire. Voir Accorder des autorisations spécifiques à un utilisateur à un appareil sans donner accès à d'autres utilisateurs

Gilles 'SO- arrête d'être méchant'
la source
8

L'affiche utilisait Linux sur la machine hôte. Si vous êtes venu ici et utilisez Windows comme hôte (comme moi), il existe une solution simple à cette erreur. Windows n'autorise pas l'accès au disque brut si vous ne démarrez pas VirtualBox avec des privilèges d'administrateur .

Pascal
la source
2
J'ai ce problème en ce moment même lors de l'exécution de VB avec des privilèges élevés.
Euri Pinhollow
Avez-vous démarré VirtualBox à partir d'un compte administrateur ou en exécutant en tant qu'administrateur? Sinon, vous pouvez essayer avec les privilèges les plus élevés et essayer avec moins une fois que vous l'avez fait fonctionner.
Pascal
Merci pour votre réponse. J'ai essayé ça et bien plus que ça, ça s'est avéré plus compliqué que je ne le pensais. Je voulais juste souligner qu'il n'y a pas une seule source de cette erreur.
Euri Pinhollow
@EuriPinhollow Vous avez résolu le problème? Je reçois la même erreur de Windows (même en exécutant le gestionnaire VBox en tant qu'administrateur)
CF
3

Selon la distribution, vous devrez peut-être ajouter votre nom d'utilisateur au groupe VirtualBox.

usermod -a -G vboxusers myusername

De plus, selon un Q & A similaire sur askubunt , vous pourriez avoir une image ISO corrompue. Dans votre cas, je suppose que cela signifie une conversion bâclée en disque brut. Essayez de chercher comment faire correctement cette procédure et répétez-la, au cas où la conversion serait bâclée d'une manière ou d'une autre pendant la première procédure.


Si ce n'est toujours pas une solution, suivez les conseils du manuel VirtualBox et ajoutez l' -relativeoption:

La création de l'image nécessite un accès en lecture / écriture pour le périphérique donné. Un accès en lecture / écriture est également nécessaire ultérieurement lors de l'utilisation de l'image à partir d'une machine virtuelle. Si cela n'est pas possible, il existe une variante spéciale pour l'accès à la partition brute (actuellement uniquement disponible sur les hôtes Linux) qui évite d'avoir à donner à l'utilisateur actuel l'accès à l'intégralité du disque. Pour configurer une telle image, utilisez

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

Lorsqu'elle est utilisée à partir d'une machine virtuelle, l'image se référera alors non pas à l'intégralité du disque, mais uniquement aux partitions individuelles (dans l'exemple / dev / sda1 et / dev / sda5). Par conséquent, l'accès en lecture / écriture n'est requis que pour les partitions concernées, pas pour le disque entier. Cependant, lors de la création, un accès en lecture seule à l'intégralité du disque est requis pour obtenir les informations de partitionnement.

ILMostro_7
la source
2

Puisqu'il n'y a pas de réponse acceptée, je posterai ceci comme réponse pour le moment. En plus de vous assurer que vous êtes dans les bons groupes, comme d'autres l'ont indiqué ci-dessus:

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

Si l' VERR_ACCESS_DENIEDerreur persiste , vous devez, conformément au commentaire de @Cybex, vous déconnecter et vous reconnecter pour que les ajouts de groupe ci-dessus prennent effet.

disparu
la source
"vboxusers" n'était pas nécessaire pour mon cas, seulement "disk" (fedora29). Sur mint19, je ne pouvais pas exécuter cette machine virtuelle avec rawdisk, sauf en utilisant sudo.
kokbira
0

J'ai eu un problème similaire, mais le problème était que j'exécutais la commande sudo alors que dans le Finder, j'étais dans mon volume personnel, j'ai cd'd vers Volume / Users / Owner où mon profil est appelé propriétaire et puis cela a fonctionné parfaitement.

Jesus Jones
la source
0

Le problème (pour moi) était d'afficher uniquement le nom de fichier sans le chemin d'accès complet au répertoire. ... Seul le nom de fichier est nécessaire-

VBoxManage internalcommands createrawvmdk -filename rawdiskonusb.vmdk -rawdisk \. \ PhysicalDrive #

a bien fonctionné.

Hariyanto Hariyanto
la source