VERR_ACCESS_DENIED ao tentar adicionar um disco bruto à caixa virtual

7

Eu criei um disco virgem virtualbox apontando para uma unidade USB inicializadora com uma pequena distribuição Linux.

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

Quando tento adicioná-lo a uma VM virtualbox, recebo este erro:

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)

Vi que o arquivo vmdk do disco bruto era de propriedade do root. Eu chorei para o meu próprio usuário.

Ainda recebe o mesmo erro. Eu suspeito que funcionaria se eu rodasse o virtualbox como root, mas eu realmente não quero fazer isso. Existe alguma maneira de fazer isso funcionar?

    
por adapt-dev 22.05.2016 / 00:35

5 respostas

6

Verifique a permissão em todos os arquivos envolvidos, incluindo os diretórios: ~/VirtualBox VMs , ~/VirtualBox VMs/MyTinyLinux , ~/VirtualBox VMs/MyTinyLinux/rawdiskonusb.vmdk , /dev/disk2 . Os diretórios precisam ser legíveis e executáveis pelo usuário ( chmod +rx ), e o arquivo de imagem e o disco bruto precisam ser legíveis e graváveis ( chmod +rw ).

Você precisará permitir que seu usuário acesse o disco; Como /dev é preenchido automaticamente a cada inicialização, você precisará adicionar um udev para fazer isso. Veja Conceder permissões de usuário específicas para um dispositivo sem dar acesso a outros usuários

    
por 22.05.2016 / 01:35
4

O pôster usava o linux na máquina host. Se você veio aqui e usa o Windows como host (como eu), há uma solução fácil para esse erro. O Windows não permite acesso ao disco bruto se você não iniciar o VirtualBox com privilégios de administrador .

    
por 09.04.2018 / 16:36
3

O usuário deve estar em um grupo disk para acessar as partições brutas (como Gilles mencionou pela última referência em sua resposta).

sudo usermod -a -G disk $USER
    
por 20.10.2017 / 16:05
2

Dependendo da distribuição, você pode ter que adicionar seu nome de usuário ao grupo VirtualBox.

usermod -a -G vboxusers myusername

Além disso, de acordo com perguntas e respostas semelhantes em askubunt , você pode ter um ISO corrompido. No seu caso, eu acho que significa uma conversão mal feita para o disco bruto. Tente pesquisar como fazer corretamente esse procedimento e repita-o, caso a conversão tenha sofrido algum erro durante o primeiro procedimento.

Se isso ainda não for uma solução, siga as orientações no Manual do VirtualBox e adicione a opção -relative :

Creating the image requires read/write access for the given device. Read/write access is also later needed when using the image from a virtual machine. If this is not feasible, there is a special variant for raw partition access (currently only available on Linux hosts) that avoids having to give the current user access to the entire disk. To set up such an image, use

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

When used from a virtual machine, the image will then refer not to the entire disk, but only to the individual partitions (in the example /dev/sda1 and /dev/sda5). As a consequence, read/write access is only required for the affected partitions, not for the entire disk. During creation however, read-only access to the entire disk is required to obtain the partitioning information.

    
por 22.05.2016 / 02:41
0

Eu tive um problema semelhante, mas o problema era que eu estava executando o comando sudo enquanto no finder eu estava no meu volume inicial, eu cd'd para Volume / Users / Owner onde meu perfil é chamado proprietário e, em seguida, funcionou perfeitamente .

    
por 21.09.2017 / 13:58