Esse é um recurso muito útil do Virtualbox que acaba sendo pouco utilizado por ser um pouco confuso. Baseando-se apenas nas instruções da interface você tem uma boa chance de não acertar na primeira tentativa e ficar frustrado mas se você parar um pouco para entender como funciona percebe que é simples.
O que vou explicar aqui permitirá que você compartilhe arquivos entre um Sistema Operacional (SO) host Windows e guests Windows e Linux
O processo se divide em dois passos:
- Criar o compartilhamento no SO host
- Acessar/montar esse compartilhamento no SO guest
O passo 1 precisa ser feito usando a interface do Virtualbox pois esse compartilhamento é “virtual”, só existindo dentro do ambiente do VB e só é visível para o guest ao qual foi associado.
Em “Caminho da Pasta” você aponta a pasta do host quer você quer que apareça no guest
Em “Nome da Pasta” você dá um nome qualquer a esse compartilhamento. Poderia ficar mais intuitivo se o VB chamasse de “nome do Compartilhamento”.
Marcar qualquer uma das três caixas seguintes é opcional, mas deixe as duas últimas marcadas até você ter certeza de que entende o funcionamento. Essa configuração precisa ser feita em cada guest e pode ser diferente em cada um deles.
Isso conclui o passo 1, mas ao executar o guest nem sempre esse compartilhamento aparece automagicamente, apesar de estar lá. Você pode precisar executar um procedimento dentro do guest. Seja qual for o SO do guest os “adicionais de convidado” precisam estar instalados.
No Guest Windows:
O compartilhamento aparece como uma unidade de rede no caminho \\vboxsrv\nome_do_compartilhamento. No exemplo dado na imagem, fica acessível em \\vboxsrv\shared_rw. E se você marcou “montar automaticamente” na configuração a unidade já aparecerá montada no explorer logo ao rodar o guest:
Note que “vboxsrv” é um servidor virtual criado pelo mecanismo de pastas compartilhadas do virtualbox. Você não precisa fazer nada específico para que ele exista.
No Guest Linux:
Eu não testei extensivamente o recurso no Linux e o caráter mutante desse SO não me permite garantir nada, mas pelo menos no Ubuntu 10 funcionou na primeira tentativa abrindo um terminal no seu diretório home e executando os seguintes comandos:
1 2 |
mkdir compartilhado_host sudo mount -t vboxsf shared_rw ~/compartilhado_host/ |
O primeiro comando cria uma pasta chamada “compartilhado_host” no diretório home
O segundo comando “monta” o seu compartilhamento “shared_rw” no diretório “compartilhado_host”
A partir daí ao acessar o diretório virtual ~/compartilhado_host/
você está acessando o diretório que foi compartilhado como “shared_rw” no host.
Ainda não acabou. Não é tão fácil quanto no Windows
Isso é suficiente para você constatar que funciona, mas assim que você reiniciar o guest linux o mapeamento se perde. Se não quiser digitar o comando mount toda vez que reiniciar o guest você tem que editar o arquivo fstab. Na verdade aquela configuração “montar automaticamente” também funciona no guest linux, mas o ponto de montagem fica em /media/sf_[nome_do_compartilhamento] e só pode ser acessado como usuário root, que você geralmente não é (dá acesso negado).
Outra hora eu concluirei este texto explicando como se fazer com que seja permanente e acessível sem permissões de root.
Perceba que no Linux a coisa não funciona do mesmo jeito que no Windows. Depois de fazer no Windows você fica inclinado a imaginar que vai precisar ter o SAMBA instalado no guest para acessar o compartilhamento, mas não é assim. O virtualbox apresenta para o guest Linux o compartilhamento de uma forma diferente e mais apropriada para ele.
Para dar acesso ao ponto de montagem criado pelo virtualbox o meio mais fácil parece ser editar o arquivo /etc/group. No Ubuntu 10 funciona assim:
cd /etc
sudo nano group
O arquivo vai abrir no editor “nano”. Se você rolar até o fim vai encontrar uma linha começando com “vboxsf”. Acrescente a essa linha “:nome_do_usuario_linux”.
Por exemplo, como meu usário é “ryan”:
Linha original: vboxsf:x:1001
Linha modificada: vboxsf:x:1001:ryan
Salve com CTRL-O e saia com CTRL-X. Reinicie o Ubuntu.
Você agora pode acessar /media/sf_[nome_do_compartilhamento]
Encontrei um jeito mais fácil de fazer isso. Basta dar o comando:
sudo adduser $USER vboxsf
e reiniciar. Esse comando edita o arquivo group por você, adicionando $USER ao grupo vboxsf
A variável $USER contém o nome do usuário corrente.
Para mudar o ponto de montagem, se você quiser que fique no seu diretório home em vez de em /media, você precisa dar o seguinte comando no terminal:
sudo VBoxControl guestproperty set /VirtualBox/GuestAdd/SharedFolders/MountDir /home/ryan/
Troque “ryan” pelo seu nome de usuário. Reinicie o linux. O ponto de montagem agora será /home/ryan/sf_[nome_do_compartilhamento]
Boa noite
Jeff, aqui não deu certo, fiz no Virtualbox, mas no windows 7 o caminho \\vboxsrv\ não aparece na minha rede; que será que tô fazendo errado???
\\vboxsrv\ não aparece “na sua rede”. Ele aparece exclusivamente no guest.
Mas sua imagem do Windows Explorer aí no artigo mostra esse caminho, ainda não consegui replicar isso aqui.
A imagem é do sistema operacional guest (convidado). Não estou entendendo a sua dúvida.
Você experimentou digitar \\vboxsrv\ na barra de endereços do Explorer ou está esperando que uma máquina chamada VBOXSRV apareça automaticamente sob “rede”?
Não funciona, ainda hoje final de 2019
Alguma coisa nas minhas instruções você não entendeu e está fazendo diferente. Acabo de retestar em uma instalação completamente nova do host Windows 8.1 e com um guest XP e um guest Windows 7. Em ambos funcionou na primeira tentativa.
Não descarto de forma alguma minha inabilidade com Virtualbox; tem um roteiro de como você fez, pra retentar aqui? A iso que instalei é do Lubuntu.
Sua dúvida inicial era com o Windows 7 e agora envolve linux. Você já fez funcionar com host e guest Windows? Se seu problema é com o Virtualbox o “roteiro” é o que está escrito no post. Ontem eu não lembrava como fazer e segui o que está escrito. Mas se o problema é saber usar o Linux aí complica, porque o que eu sei mal dá para meu uso.
Eu não me lembro se testei todas as possibilidades de conexão de rede entre o host e o guest, mas é possível que esse problema ocorra se você estiver usando “NAT”. Eu geralmente uso “placa em modo BRIDGE”. Se for esse o problema me avise porque meu tutorial estará incompleto. “NAT” é o default.
Testei hoje com um guest Windows 7 no modo NAT. Funcionou na primeira tentativa.
nao consigo compartilhar o arquivo do host para o guest pois sempre pede um ponto de montagem. o que eu faço?
Valeu!!! Não tava conseguindo acessar aqui e seguindo o seu passo-a-passo me ajudou!
Boa tarde …
Aqui funcionou corretamente
no Editar compartilhamento do windows preencha da seguinte forma:
caminho da pasta: [procure a sua pasta] C:\users\doc…\shared (exemplo)
Nome da Pasta: sharedVM (exemplo)
*montar automaticamente
Ponto de montagem: /media/fs_ismael (exemplo)
Pronto… no guest linux execute o comando ja mencionado anterior mente useradd vboxfs ismael
Aqui funcionou perfeitamente