VERR_ACCESS_DENIED ao tentar adicionar um disco bruto à caixa virtual

20

Criei um disco bruto de caixa virtual apontando para um drive USB inicializável em funcionamento, 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 de caixa virtual, 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 chown'ed 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 isto funcionar?

adapt-dev
fonte
O VirtualBox precisa de acesso root para várias coisas, e você já usa o sudo para fazer uma inicialização root adequada para obter ambiente e propriedades de usuário adequados.
Julie Pelletier
Isso provavelmente está relacionado ao "método" usado para criar o disco. Então, você está tentando acessar o disco USB, mas o erro está referenciando o local do arquivo de imagem anterior.
ILMostro_7
O mesmo problema para mim. Quando tento executar como sudo, ele não permite máquinas x64, esse era o meu caso, e então não há solução para mim ...: '(- usind no linux
kokbira

Respostas:

13

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

sudo usermod -a -G disk $USER
ASten
fonte
6
isso também funciona para mim - observe que você é obrigado a sair após se adicionar ao grupo, ou essa alteração não será aplicada. Isso vale para qualquer modificação de grupo, na verdade #
Cybex
Usar apenas esse comando foi suficiente para mim
kokbira 28/03
Era exatamente disso que eu precisava. Muito obrigado!
Theodore R. Smith
10

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 passíveis de navegação 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 em cada inicialização, você precisará adicionar um udev para fazer isso. Consulte Conceder permissões específicas a um dispositivo sem conceder acesso a outros usuários

Gilles 'SO- parar de ser mau'
fonte
8

O pôster usou o linux na máquina host. Se você veio aqui e usa o Windows como host (como eu), existe 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 .

Pascal
fonte
2
Eu tenho esse problema agora mesmo quando executando o VB com privilégios elevados.
Euri Pinhollow
Você iniciou o VirtualBox a partir de uma conta de administrador ou executando como administrador? Caso contrário, você pode tentar com os privilégios mais altos e tentar com menos quando conseguir fazê-lo funcionar.
Pascal
Obrigado pela resposta. Eu tentei isso e muito mais do que isso, acabou sendo mais complicado do que eu pensava. Eu só queria ressaltar que não há uma única fonte desse erro.
Euri Pinhollow 19/03
@EuriPinhollow Resolveu o problema? Eu recebo o mesmo erro no Windows (mesmo executando o gerenciador de VBox como administrador)
CF
3

Dependendo da distribuição, pode ser necessário adicionar seu nome de usuário ao grupo VirtualBox.

usermod -a -G vboxusers myusername

Além disso, de acordo com perguntas e respostas semelhantes no askubunt , você pode ter um ISO corrompido. No seu caso, eu acho que isso significa uma conversão incorreta em disco bruto. Tente pesquisar como executar esse procedimento corretamente e repita-o, caso a conversão tenha sido danificada de alguma forma durante o primeiro procedimento.


Se isso ainda não é uma solução, siga as recomendações no Manual do VirtualBox e adicione a -relativeopção:

Criar a imagem requer acesso de leitura / gravação para o dispositivo fornecido. O acesso de leitura / gravação também é necessário posteriormente ao usar a imagem de uma máquina virtual. Se isso não for possível, existe uma variante especial para o acesso à partição bruta (atualmente disponível apenas em hosts Linux) que evita a necessidade de conceder ao usuário atual acesso a todo o disco. Para configurar essa imagem, use

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

Quando usada em uma máquina virtual, a imagem se refere não ao disco inteiro, mas apenas às partições individuais (no exemplo / dev / sda1 e / dev / sda5). Como conseqüência, o acesso de leitura / gravação é necessário apenas para as partições afetadas, não para todo o disco. Durante a criação, no entanto, é necessário acesso somente leitura ao disco inteiro para obter as informações de particionamento.

ILMostro_7
fonte
2

Como não há resposta aceita, postarei isso como resposta no momento. Além de garantir que você esteja nos grupos certos, como os outros postaram acima:

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

Se você ainda estiver recebendo o VERR_ACCESS_DENIEDerro, conforme o comentário de @Cybex, faça logout e faça login novamente para que as adições de grupo acima entrem em vigor.

se foi
fonte
"vboxusers" não era necessário para o meu caso, apenas "disco" (fedora29). No mint19, não consegui executar essa VM com o rawdisk, exceto usando o sudo.
kokbira 28/03
0

Eu tive um problema semelhante, mas o problema era que eu estava executando o comando sudo enquanto estava no localizador, encontrei meu volume inicial, liguei para Volume / Usuários / Proprietário, onde meu perfil é chamado de proprietário e funcionou perfeitamente.

Jesus Jones
fonte
0

O problema (para mim) era Mostrar apenas o nome do arquivo sem o caminho completo do diretório. ... Apenas o nome do arquivo é necessário-

Comandos internos do VBoxManage createrawvmdk -filename rawdiskonusb.vmdk -rawdisk \. \ PhysicalDrive #

funcionou bem.

Hariyanto Hariyanto
fonte