Como acessar uma pasta compartilhada no VirtualBox?

160

Eu segui as etapas para compartilhar pastas entre o Windows 7 e o Ubuntu no VirtualBox.

Apesar disso, a pasta aparece com um sinal X e me dá a seguinte mensagem quando uma tentativa de abri-la:

O conteúdo da pasta não pôde ser exibido

Quando eu escolho Shared Folderno Devicemenu VirtualBox , o seguinte aviso é exibido:

Na página do sistema, você atribuiu mais de 50% da memória do seu computador (2,93 GB) à máquina virtual ...

Como posso compartilhar pastas com sucesso entre o Windows e o Ubuntu usando o VirtualBox?

userInThisWorld
fonte
Observe que você não pode compartilhar links simbólicos!
Joel Sjögren

Respostas:

147

Acesso a pastas compartilhadas na Caixa Virtual

Linha de comando

Por padrão, as pastas compartilhadas do VirtualBox são criadas com permissão de leitura / gravação para o convidado. Isso pode ser feito na linha de comando no host com:

VBoxManage sharedfolder add "VM name" --name sharename --hostpath "C:\test"

Adicionando a opção --readonly, podemos restringi-los para acesso somente leitura. Use a --transientopção se desejar que os compartilhamentos apareçam apenas na sessão atual, mas não persistentes nas sessões seguintes. Existem algumas limitações para pastas compartilhadas (consulte esta pergunta para detalhes). Se os pré-requisitos forem atendidos, podemos montar essas pastas compartilhadas manualmente executando os seguintes comandos no convidado:

mkdir /home/<user>/vboxshare
sudo mount -t vboxsf -o uid=1000,gid=1000 sharename /home/<user>/vboxshare  

Obviamente, também podemos usar diferentes opções de montagem para montar como somente leitura / ou montar com acesso de leitura apenas ao root.

Montagem automática através do Virtual Box Manager

Caso tenhamos habilitado a montagem automática ao criar uma pasta compartilhada a partir do Virtual Box Manager, essas pastas compartilhadas serão montadas automaticamente no convidado com ponto de montagem /media/sf_<name_of_folder>. Para ter acesso a essas pastas, os usuários do convidado precisam ser membros do grupovboxsf .

sudo usermod -aG vboxsf userName

O convidado precisará reiniciar para adicionar o novo grupo.

Fonte e leituras adicionais: Manual do usuário do Virtual Box

Takkat
fonte
17
Defino uma pasta compartilhada na GUI e também defino a montagem automática. reiniciado o VM, foi para /media, mas ainda nada lá
amphibient
2
@amphibient @ laike9m eu tive que reiniciar o VM para ver a pasta na/media/
David_G
7
Este comando, sugerido por outra resposta aqui, parece mais clara e tem uma melhor saída:sudo adduser your_username vboxsf
Jordan Brough
1
@ JordanBrough: totalmente correto - todos os caminhos levam a Roma. Você pode até usar um front-end gráfico users-admin. O comando foi editado por outro usuário.
Takkat 14/08/19
Obrigado pela sua resposta .. no comando que você mencionou acima sudo mount -t vboxsf -o uid=1000,gid=1000 share /home/<user>/vboxshare, não vejo uma menção a sharename, que é usada ao criar a pasta compartilhada usando VBoxManage sharedfolder add "VM name" --name "sharename" --hostpath "C:\test". Se houver várias pastas compartilhadas .. como o VirtualBox sabe a que sharenameassociar a pasta vboxshare? Ou você quer dizer que sharenamedeve ser o mesmo vboxshare?
Alpha_989 2/07
121

Na verdade, existe uma maneira fácil de fazer isso:

  1. Instale o pacote de extensão para o VirtualBox.
  2. Reinicie sua máquina virtual
  3. Instale Adições de Convidado no seu Ubuntu convidado

    • Você pode montar o ISO ativado /mediaou pressionar Left Control+D
  4. Reiniciar

  5. Tente acessar /media/sf_your_shared_folder_name. Se você ainda não tem acesso, isso significa que você não pertence ao vboxsfgrupo, como Nilo disse. Este comando resolverá seu problema:

    sudo adduser your_username vboxsf
    
  6. Saia e faça login novamente para aplicar as alterações de adduser. Veja os comentários de kol e atcold abaixo.

  7. Se você ainda não conseguir ver a pasta compartilhada, precisará montá-la. Você pode ativar a montagem automática para a pasta compartilhada nas opções do VirtualBox Manager.
  8. Reinicie novamente.
tataogg
fonte
7
ESTA. Eu não estava no grupo de usuários. Parece que isso deveria ter sido automatizado pelas adições gest ou pelo menos claramente.
AwokeKnowing
1
parece que o problema para mim é que meu nome de usuário não é root. Que deveria ter sido mencionado em algum lugar
AwokeKnowing
22
IMPORTANTE: Você deve reiniciar o computador após ligar adduser.
kol
5
@kol Não, você precisa apenas sair e fazer login novamente.
Atcold 12/09/15
@Atcold Efetuar logout e logon novamente adiciona o grupo ao usuário atual (sessão), mas não acionou a montagem automática da pasta compartilhada no meu caso. Apenas uma reinicialização fez.
Scai # 30/16
83

Primeiro, verifique se instalou o Guest Additions

  1. Inicie sua VM

  2. Dispositivos> Inserir imagem do CD de adições de convidados ... Inserir imagem do CD de adições de convidados ...

  3. Monte o CD:

    sudo mount /dev/cdrom /media/cdrom
    
  4. Instale os pacotes necessários:

    sudo apt-get install make gcc linux-headers-$(uname -r)
    
  5. Instalar:

    sudo /media/cdrom/VBoxLinuxAdditions.run
    

Segundo, adicione seu usuário ao grupo 'vboxsf':

~$ echo $USER; 
ahmed
~$ sudo usermod -a -G vboxsf ahmed

Reiniciar

Saiba que o rótulo da sua pasta compartilhada é lpi(por exemplo):

Editar pasta compartilhada

Anexar sf_ao rótulo. Em seguida, você encontrará sua pasta compartilhada em/media/sf_lpi

Por fim, você também pode criar um link para sua casa. Por exemplo:

ln -s /media/sf_lpi /home/ahmed/lpi

:)

Abdennour TOUMI
fonte
Posso usar uma pasta compartilhada de uma VM do Ubuntu sem uma imagem de disco rígido, mas apenas com uma imagem do Live CD? Basicamente, estou tentando adicionar duas unidades de CD, uma com o Ubuntu Live CD e a outra com o VBGuestAdditions.iso, e iniciar a máquina, depois instalar o VBGuestAdditions na raiz do loopback e gostaria de poder acessar uma pasta compartilhada.
Sorin Postelnicu
Além disso, existe uma maneira de ver a pasta compartilhada antes da montagem, como usar um comando como lsblk ou algo assim?
Sorin Postelnicu
Quando eu tento fazer "mount -t sudo vboxsf mysharename mysharemountpoint", eu sempre chegar: "/sbin/mount.vboxsf: montagem falhou com o erro: Nenhum tal dispositivo"
Sorin Postelnicu
24

Adicione a pasta compartilhada à máquina virtual usando a interface gráfica do vBox Certifique-se de selecionar montagem automática e tornar permanente

Efetue login na máquina virtual usando uma conta raiz

Verifique se o grupo vboxsf existe

~$ grep vboxsf /etc/group
vboxsf:x:125:

Verificar se o usuário ainda não está no grupo vboxsf

~$ id nilo
uid=1000(nilo) gid=1000(nilo) groups=1000(nilo),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),109(lpadmin),124(sambashare)

Adicionar usuário nilo ao grupo vboxsf

~$ sudo usermod -a -G vboxsf nilo

Verifique novamente grupos de usuários

~$ id nilo
uid=1000(nilo) gid=1000(nilo) groups=1000(nilo),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),109(lpadmin),124(sambashare),125(vboxsf)

Reinicialize e faça login como nilo

A pasta compartilhada agora está acessível /media/sf_dropbox(caixa de seleção é o nome que eu dei ao compartilhamento)

NiloVelez
fonte
Reiniciar funcionou para mim!
Tarik
10

Compartilhe uma pasta entre o SO Host-> Windows e SO Convidado -> Ubuntu (caixa Virtual)

Etapa 1 Instale a instalação, adicione adições de convidados no menu do VirtualBox, vá para Dispositivos-> Instalar adições de convidados Isso montará um CD virtual no seu / media / cdrom. Como usuário root Abra esta pasta adicionada / media / cdrom usando a opção Abrir com terminal (clique com o botão direito do mouse).

Etapa 2 Execute o programa VBoxLinuxAdditions.run. Quando o programa terminar, reinicie o seu VirtualBox.

$ sudo ./VBoxLinuxAdditions.run

Etapa 3 Crie uma pasta compartilhada. No menu Virtual, vá para Dispositivos-> Pastas Compartilhadas e adicione uma nova pasta na lista. Essa pasta deve ser a das janelas que você deseja compartilhar com o Ubuntu (SO convidado). Faça com que esta pasta criada seja montada automaticamente. Exemplo -> Crie uma pasta na área de trabalho com o nome Ubuntushare e adicione esta pasta.

Etapa 4 Ao concluir a especificação das pastas compartilhadas, montamos a pasta no Ubuntu (SO convidado). Crie um ponto de montagem, um diretório no Ubuntu que compartilhará arquivos com a pasta compartilhada do Windows. Execute isso para criar um diretório no Ubuntu

$ sudo mkdir ~/Desktop/windowsshare

Etapa 5 Com seu ponto de montagem criado, agora você pode montar a pasta compartilhada. Execute este comando para compartilhar a pasta:

$ sudo mount -t vboxsf Ubuntushare ~/Desktop/windowsshare

Ubuntushare é o nome da pasta que adicionamos na seção Dispositivos VirtualBox. Essa pasta está no Windows (SO host). ~ / Desktop / windowsshare é o diretório do Ubuntu (SO convidado)

PARABÉNS-> Agora você pode compartilhar os arquivos entre o Windows e o Ubuntu. Tente adicionar qualquer arquivo na pasta de compartilhamento Ubuntu do Windows (SO Host) agora verifique o diretório de compartilhamento de janelas Ubuntu (SO SO), o arquivo será refletido.

Meu artigo

Pasta compartilhada entre janelas e ubuntu

shaurya uppal
fonte
3
  1. Instale o programa chamado 'Programas e Grupo' no Centro de Software
  2. Escolha o usuário atual e clique em Gerenciar Grupos
  3. Escolha vboxsf e clique em 'Adicionar'
  4. Reiniciar
Mohamed
fonte
Não foi possível encontrar no software center Mint 17.1, mas o menu tinha usuários e grupos, é isso?
russ_hensel
@russ_hensel Mint não é um sabor oficial do Ubuntu. Faça sua pergunta no Unix e Linux .
Wjandrea
1
  1. Crie um diretório onde você montará isso, como mkdir docs

  2. Instale Acréscimos de Convidados na máquina Ubuntu convidada.

  3. Encerre o convidado do Ubuntu e configure-o.

  4. Em Armazenamento, configure sua pasta compartilhada e anote o que você definiu como o nome no segundo campo. Por exemplo "louco". Marque a caixa Montagem automática.

  5. Inicialize o convidado do Ubuntu.

  6. Como você disse, não será realmente acessível. (Esta é a parte principal da sua pergunta.) Em vez disso, você encontrará a mensagem em /media/sf_crazyque 'louco' é o nome que você deu. E também estará presente no diretório dir ~/crazy.

  7. Agora você precisa dar mais um passo para montá-lo:

    sudo mount -o uid=1000,gid=1000 -t vboxsf ~/crazy ~/docs
    
Chris Moschini
fonte
1

Execute estas etapas após instalar o Guest Additions. Para o ambiente host do Windows 10, na máquina Windows, tive que compartilhar pastas.

  1. Clique com o botão direito na pasta para compartilhar
  2. Selecione "Compartilhar com"
  3. Selecione "Pessoas específicas"
  4. Escolha Todos, opções de leitura / gravação
  5. Na máquina Ubuntu do cliente, execute o comando: sudo adduser xxxxxxx vboxsf

onde xxxxxx é o nome da sua conta de usuário. Saia e faça login novamente no Ubuntu.

user3889404
fonte
0

A partir de agora (versão 6.0.10 do VirtualBox), existem make permanente auto-mountopções para a pasta compartilhada, também mount point( At) na GUI do virtualbox. Para mim, o seguinte funcionou:

  1. No Ubuntu convidado: sudo apt-get install virtualbox-guest-utils
  2. Adicionar pasta compartilhada na GUI do VirtualBox.
  3. Reinicie o SO convidado

A pasta no ponto de montagem especificado na GUI foi criada automaticamente e lsmostrou os arquivos localizados no PC com Windows host.

Alexei Martianov
fonte