Erro ao montar pastas compartilhadas do VirtualBox em um convidado do Ubuntu

77

Eu tenho o Ubuntu 10 como sistema operacional convidado em uma máquina Windows 7. Eu tenho tentado configurar compartilhamentos através do VirtualBox, mas nada está funcionando. Primeiro, crio o compartilhamento no VirtualBox e aponto para uma pasta do Windows. Então tento montar a unidade no Linux, mas continuo recebendo

/sbin/mount.vboxsf: falha na montagem com o erro: Erro de protocolo

Eu li muitas soluções para isso, mas nenhuma parece funcionar. Eu tentei:

  • Usando a sintaxe mount.vboxsf
  • Reinstalando adições do VBox
  • Reiniciando
  • Ativando e tentando como conta raiz

Fiz um compartilhamento chamado "Teste" nas pastas compartilhadas do VBox. Então eu criei um diretório no ubuntu chamado "test2". Então eu tentei executar este comando:

sudo mount -t vboxsf Teste / mnt / test2

Alguma outra ideia?

skaz
fonte

Respostas:

90

Para usar a funcionalidade de pasta compartilhada, alguns pré-requisitos precisam ser atendidos:

  • Verifique se as adições de convidados estão instaladas corretamente no sistema operacional convidado.
  • Usuários em um Ubuntu convidado devem estar no grupo vboxsfpara poder acessar compartilhamentos.
  • Defina um diretório no host que será usado na máquina virtual usando o diálogo de configurações do Virtual Box.

Dependendo do sistema operacional host ou convidado, também pode ser necessário o seguinte:

  • Não compartilhe pastas pessoais como /home/usernameouMy Documents
  • Evite caracteres especiais ou espaços vazios no caminho para a pasta compartilhada, especialmente se o host ou a VM for uma máquina Windows
  • Use nomes diferentes para compartilhamento e ponto de montagem
  • Crie um ponto de montagem no sistema operacional convidado (melhor no diretório HOME).

O teste da funcionalidade de pastas compartilhadas pode ser feito criando um diretório compartilhado no host (por exemplo C:\myshare), defina-o como uma pasta compartilhada para o seu sistema convidado nas configurações do Virtual Box (por exemplo share), crie um ponto de montagem no seu sistema operacional convidado (por exemplo mkdir /home/username/host) e monte isso no sistema operacional convidado com o comando:

sudo mount -t vboxsf -o uid=1000,gid=1000 share /home/username/host

onde a opção -o garante que você tenha acesso à montagem (que de outra forma pertencerá ao root).

Para mais informações sobre pastas compartilhadas, consulte também o Manual do Usuário da Caixa Virtual .

Arquivos ou diretórios também podem ser compartilhados na rede usando o Samba no host e no convidado.

Takkat
fonte
4
Acredito que cumpri todos esses requisitos, mas ainda estou recebendo o erro. Existe uma maneira de diagnosticar qual é o problema?
Skaz #
1
Não no nível literal da string, mas meu compartilhamento é C: \ test em vez de C: \ myshare, é definido no VBox 4.0.4. Criei uma pasta em / home / [nomedeusuario] / test2 e uma pasta em / mnt / test2 e executei o comando exatamente nessas duas pastas e ambas retornam o mesmo erro.
skaz
1
Obrigado pela ajuda! Não percebi que as palavras "teste" e "Teste2" seriam consideradas como usando o mesmo nome. Isso resolveu o problema!
skaz
2
Para 'share', eu usei tolamente sf_ [sharename], pois pude ver que ele estava sendo montado em / media / com esse nome e presumi que precisaria do nome do ubuntu-local e não do nome da VBox. No entanto, removi o prefixo 'sf_' e isso resolveu o problema.
Astravagrant
1
@ MichaelScheper, estas são apenas recomendações - se funcionar para você, está tudo bem.
Takkat 8/08/19
15

Eu também encontrei esse problema. Eu descobri que a pasta compartilhada já estava montada em /media/sf_share.

Eu tentei excluir /media/sf_share, mas não consegui.

Então eu apaguei a pasta compartilhada "share" no meu diretório pessoal.

$ rm -r ~/share

E então mude para o usuário root da seguinte maneira:

$ sudo -i

Crie softlink / atalho para a pasta / media / sf_share que possui pelo usuário root e modifique a propriedade do softlink com o comando chown. Sair do usuário root para o usuário normal

# ln -s /media/sf_share /home/username/share
# chown username.username /home/username/share
# exit
logout

$ chmod 777 ~/share

Você pode ver os arquivos no Windows através da pasta compartilhada. E o nome de usuário deve ser um membro do grupo vboxsf.

Urologista Velho
fonte
Obrigado ! você estava certo ... já montado em / media / sf_sharename
Laurent
1
Usando o CentOS 7, também descobri que meu diretório está montado em media/sf_sharename. Criar um link simbólico para esse diretório parece ser uma opção possível, mas isso é bem diferente do procedimento anunciado / documentado no site VirtualBox. Deve haver uma resolução adequada para isso!?!?
precisa saber é o seguinte
11

Aqui está o que funcionou para mim sem nenhum problema

Eu descobri que, na verdade, meu usernome não estava no grupo vboxsf . Os dois comandos a seguir ajudarão a obter as informações do grupo:

grep "vboxsf" /etc/group    
grep "saurav" /etc/group

Então eu adicionei saurav(me) ao grupo vboxsf usando o seguinte comando:

sudo usermod -a -G vboxsf saurav 

Em seguida, reiniciei o virtualbox e depois .. Saltou do meu lugar ..: D: D Tudo funcionou bem sem nenhum problema.

Por favor, comente se alguém ainda está tendo algum problema ..

Saurav Kumar
fonte
2
Isso funcionou para mim, obrigado. Existe apenas um tipo: deve ser sudo usermod -a -G vboxsf saurav(primeiro grupo e depois usuário).
user673592
Sim .. digitado incorreto .. :) Obrigado por apontar. Editado agora ..
Saurav Kumar 09/04
1
Você não precisa reiniciar o VB para adquirir seu grupo recém-atribuído. $ su - saurav fará o truque.
Stephen Boston
2

Também lutei bastante com a montagem e tentei de tudo o que vi na interwebz, mas finalmente encontrei uma solução muito estranha para resolvê-la! Meu convidado é o Ubuntu 13 e meu host é o Windows 7.

Mude para a pasta de mídia e, a partir daí, digite user@os:/media$ sudo mount -t vboxsf share /home/username/folder

Sim, é isso. Mas não entendo como isso só funciona se for feito a partir da pasta de mídia. Se alguém souber, por favor, explique-nos abaixo. Obrigado.

Ps Editar meu /etc/rc.localpara fazer a montagem automática na inicialização não funciona para mim.

BringBackCommodore64
fonte
1
O /etc/rc.local nunca funcionará, pois é feito antes da rede estar ativa.
Braiam
2
Oi Braiam! Bom saber. Infelizmente, eu li em muitos sites que as pessoas recomendam editar o /etc/rc.local para a montagem automática. Você sabe qual é a maneira correta de montá-lo automaticamente na inicialização? Obrigado.
BringBackCommodore64
Também estou achando que só funciona em / media. Muito estranho. Acabei de adicionar este à minha .profile: pushd media && sudo mount /media/<theshare> && popd.
Matt Greer
1

Com o VirtualBox 5.1.20 em execução no Windows 10 e o Ubuntu 16.04 como o sistema operacional convidado com o GuestAdditions 5.1.20 instalado, não consegui montar as pastas compartilhadas na linha de comando. Os comandos de montagem falharam, com menções de Erro de protocolo e sf_read_super_aux err = -22.

Eventualmente, encontrei https://www.virtualbox.org/ticket/16670 "link de montagem mount.vboxsf quebrado". Eu segui uma das soluções alternativas lá, para corrigir o link simbólico para mount.vboxsf, e tudo funcionou. Minha abordagem era fazer:

mv /sbin/mount.vboxsf /sbin/mount.vboxsf-orig
ln -s /opt/VBoxGuestAdditions-5.1.20/lib/VBoxGuestAdditions/mount.vboxsf /sbin/mount.vboxsf

Os comandos precisam ser executados pela raiz. Então, como era o Ubuntu, adicionei "sudo" no início de cada linha para executar o comando como root. Outros sabores do Linux têm outras maneiras de fazer isso.

Além disso, houve um problema semelhante de link simbólico relatado no ticket nº 12879 do virtualbox "Não é possível montar pastas compartilhadas com adições de convidados 4.3.10" em 2014, que foi corrigido no mês seguinte.

2017-04-27

J Cumming
fonte
@ Duncan: bom ponto. O título do ticket descreve o problema, mas editei para mostrar a solução que usei.
J Cumming #
O changelog para v5.1.22 caixa virtual em virtualbox.org/wiki/Changelog#v22 diz que
J Cumming
O registro de alterações da caixa virtual v5.1.22, lançado em 28-04-2017, ( virtualbox.org/wiki/Changelog#v22 ), diz que esse bug / ticket # 16670 foi corrigido. Estou animado!
J Cumming #
Não sei por que isso foi downvoted, mas ele me ajudou com os meus problemas usando Vbox 5.122
qodeninja
1

Para mim, o problema era que eu era um ganso e esqueci que havia removido a entrada da minha lista de Pastas Compartilhadas no VirtualBox (Máquina → Configurações → Pastas Compartilhadas).

Estou apenas jogando isso aqui, no caso de alguém mais ser igualmente enganado por 'Erro de protocolo'.

: honk: 😉

Michael Scheper
fonte
1

Tentei tudo acima e nada funcionou para mim. Lats Criei uma nova pasta transitória "Shared" com "Make Permanent" e "Auto Mount" ativadas. E então execute o comando

sudo mount -t vboxsf -o uid=1000,gid=1000 Shared /mnt/sharedvm

Funcionou para mim. Não há erro neste momento.

Pankaj
fonte
0

Minha pasta compartilhada estava funcionando e depois de reiniciar meu host, não estava.

Alterando o nome da pasta compartilhada de Compartilhada para Compartilhada2, funcionou.

config.vm.synced_folder "/Users/username/Dropbox/Shared", "/Shared2"

Não faço ideia do que aconteceu e por que nem como consertar. Sistema sem estado mutável global como o Nix tem razão.

Nicolas
fonte
0

Pessoalmente, enfrentei a mesma mensagem de erro e o problema estava relacionado ao fato de eu ter cometido um erro de digitação relacionado à pasta localizada na máquina host e que eu defini como uma pasta compartilhada na máquina virtual, graças às adições de convidados.

Portanto, o comando certo é:

sudo mount -t vboxsf -o uid=$UID,gid=$(id -g) shared_folder_located_in_host_machine path_to_mounting_folder_inside_the_virtual_machine

Isso corrigiu a mensagem de erro.

Billal Begueradj
fonte
0

Para mim, era a versão errada de acréscimos de convidados.

Mudei minha VM inteira de um laptop (que executava o VirtualBox 5.8 / algo assim) para outro laptop com o VirtualBox 6.0. Tudo funcionou, exceto a montagem da pasta compartilhada.

Acabei de iniciar a VM, cliquei Devices -> Insert Guest additions CD image...e segui as instruções. Ele descreveu um pouco a presença da versão mais antiga das adições de convidados, mas a removeu e instalou a nova na segunda tentativa. Reinicie e funcione.

Kashyap
fonte