Como montar uma pasta compartilhada do VirtualBox? [fechadas]


58

Qual é o procedimento para montar uma pasta compartilhada do VirtualBox no Linux?

Tentei variações do seguinte comando de montagem, mas continuo recebendo protocol errorou outros erros de montagem.

sudo mount -t vboxsf share /home/toto

Isso é uma pergunta? Reformule-o para que se torne uma pergunta, poste sua própria resposta e ficarei feliz em remover o voto negativo.
icedwater

11
Editado para estar em conformidade com os padrões de perguntas e respostas.

pls questão atualização que você tentou e que erro você está recebendo

Editado para mostrar o comando que não está funcionando. Um erro comum é protocol errorcomo indicado em questão.

Estou recebendo este erro qualquer solução para este "mount: Tipo de sistema de arquivos desconhecido 'vboxsf'"
Divekar sandip

Respostas:


111

Ok, isso foi um pouco confuso para mim, mas finalmente percebi o que estava acontecendo. Então, decidi dar meus 2 centavos na esperança de que fique mais claro para os outros e se eu esquecer em algum momento no futuro:).

Eu não estava usando o nome do compartilhamento que criei na VM; em vez disso, usei share ou vb_share quando o nome do meu compartilhamento era wd , o que me deixou confuso por um minuto.

Primeiro adicione seu diretório de compartilhamento na caixa da VM: insira a descrição da imagem aqui

Seja qual for o nome que seu compartilhamento aqui será o nome que você precisará usar ao montar no sistema operacional vm guest. ou seja, eu nomeei meu "wd" para minha unidade de passaporte digital ocidental.

A seguir, no sistema operacional guset, crie um diretório para usar na sua montagem, de preferência no diretório inicial.

mkdir share

Em seguida, abra o terminal e copie e cole o seguinte ou digite-o. Você pode ativar a área de transferência compartilhada em Dispositivo-> Área de transferência compartilhada-> Bidirecional

sudo mount -t vboxsf wd ~/share/

Agora você deve poder copiar arquivos entre sistemas operacionais usando a pasta "compartilhar" em seu diretório pessoal.

Espero que isto ajude!


11
Passei algumas horas para entender como posso obter arquivos do convidado. Descobriu-se que "sharename" (da documentação oficial da VBox) no comando "mount" - é apenas um NOME especificado na caixa virtual Pastas compartilhadas na primeira coluna. Bom trabalho, você é meu herói.
Zen11625

2
ótima resposta, +1 para a captura de tela ... Isso monta o compartilhamento como raiz, no entanto, eu acredito. Veja [os documentos] ( forums.virtualbox.org/viewtopic.php?t=15868 ) sobre como montá-lo como seu usuário atual, por exemplo:sudo mount -t vboxsf -o rw,uid=1000,gid=1000 share ~/host
timbrown

@user Como faço para montar esta montagem automaticamente na inicialização?

Se você não souber seu ID de usuário, poderá usar variáveis. neste caso o comando monte se tornasudo mount -t vboxsf -o uid=$UID,gid=$(id -g) wd ~/share

28

Para o VirtualBox com um convidado Linux, estas são as etapas para montar uma pasta compartilhada:

  1. Use o aplicativo do host do VirtualBox, o VirtualBox Manager, para especificar as pastas do host a serem compartilhadas.

  2. Verifique se o VirtualBox Guest Additions está instalado no convidado do VirtualBox.

  3. No convidado Linux, o comando mount deve mostrar uma linha em que o compartilhamento foi montado. Isso é indicado por type vboxsf. O problema é que o ponto de montagem pode não estar onde desejado e as permissões são apenas raiz. O local de montagem padrão está em /media/sf_.

  4. Você pode acessar o compartilhamento tornando o usuário ou o ID do grupo 1000um membro do grupo vboxsf. Isso é feito alterando a vboxsflinha no /etc/grouparquivo. Pode exigir reinicialização.

  5. Você pode alterar onde a pasta está montada usando o comando VBoxControl. O comando é instalado quando o Guest Additions está instalado. Pode exigir reinicialização. Por exemplo, para alterar o ponto de montagem a partir /media/sf_...de /home/toto/sf_...utilizar o seguinte comando para definir o guestproperty pasta VirtualBox compartilhada:

sudo VBoxControl guestproperty set / VirtualBox / GuestAdd / SharedFolders / MountDir / home / toto /

Para confirmar a alteração, use get:

sudo VBoxControl guestproperty get /VirtualBox/GuestAdd/SharedFolders/MountDir

Referências:

Informações da pasta compartilhada do VirtualBox

Informações de propriedade do VirtualBox


4
Novo problema, com Vbox 4.3.10 a ligação é interrompida, verificar para verificar (ls -l) /sbin/mount.vboxsf Se essa meta não existe o diretório deve ser re-mapeados: sudo ln -s /opt/VBoxGuestAdditions-4.3.10/lib/VBoxGuestAdditions/mount.vboxsf /sbin/mount.vboxsf
ppostma1

4
Para adicionar o myuser usuário ao grupo vboxsf você pode usar: sudo adduser myuser vboxsf

VirtualBox 4.3.14 correções Adições Clientes problemas de instalação para RHEL 7 e CentOS 7. Instalar Adicionais para Convidado usando: if-not-true-then-false.com/2010/...

Estou no VirtualBox 4.3.20 no Windows 8.1. Eu tenho o Ubuntu instalado na VM. Não consigo ver type vboxsfao executar o mountcomando, mesmo que eu tenha o material de convidado instalado! por favor ajude
J86

20

Ao encontrar:

mount: Protocol error

depois de tentar compartilhar pastas no VirtualBox, por exemplo:

$ sudo mount -o uid=1000,gid=1000 -t vboxsf D_DRIVE ~/host

isso finalmente funcionou para mim:

$ sudo apt-get install virtualbox-guest-dkms

(Minha configuração: host do Windows 7, convidados: Ubuntu 12.04,13.10,14.04; atualmente executando o VBox 4.3.10 r93012)


5

Instale adições de caixa virtual no sistema operacional convidado. Em seguida, encerre o sistema operacional convidado. Abra as configurações de convidados na caixa virtual. Em seguida, adicione uma pasta compartilhada e salve as configurações. Em seguida, inicie o sistema operacional guest e, para o ubuntu, execute o comando abaixo. Ele adiciona o usuário atual ao grupo vboxsf.

sudo adduser $ USER vboxsf

reinicie o sistema operacional convidado e navegue para / media / para acessar a pasta compartilhada.


sudo adduser não funciona para mim, eu adiciono para usar "sudo usermod -a -G vboxsf myUser" e funciona. Obrigado
Alex

11
Sim, isso é o que estava faltando: adduser sudo $ vboxsf USUÁRIO agora ele funciona :-)

3

Dentro de um convidado do VirtualBox do Linux ou Mac OS X, depois de instalar o VirtualBox Guest Additions, você pode descobrir as pastas compartilhadas do VirtualBox disponíveis com o seguinte comando:

sudo  VBoxControl  sharedfolder  list

Se a sua pasta pessoal dentro do seu convidado contiver pastas com o mesmo nome das pastas compartilhadas do VirtualBox, você poderá montá-las automaticamente com o seguinte script de shell:

#!/bin/sh
#-----------------------------------------------------------------------------
# Discover VirtualBox shared folders and mount them if it makes sense
#-----------------------------------------------------------------------------

if  !  type  VBoxControl  > /dev/null;  then
  echo  'VirtualBox Guest Additions NOT found'  > /dev/stderr
  exit 1
fi

MY_UID="$(id -u)"
MY_GID="$(id -g)"

( set -x;  sudo  VBoxControl  sharedfolder  list; )  |  \
grep      '^ *[0-9][0-9]* *- *'                      |  \
sed  -e 's/^ *[0-9][0-9]* *- *//'                    |  \
while  read  SHARED_FOLDER
do
  MOUNT_POINT="$HOME/$SHARED_FOLDER"
  if  [ -d "$MOUNT_POINT" ];  then
    MOUNTED="$(mount  |  grep  "$MOUNT_POINT")"
    if  [ "$MOUNTED" ];  then
      echo  "Already mounted :  $MOUNTED"
    else
      (
        set -x
        sudo  mount  -t vboxsf  -o "nosuid,uid=$MY_UID,gid=$MY_GID"  "$SHARED_FOLDER"  "$MOUNT_POINT"
      )
    fi
  fi
done

1

Quando você obtém o seguinte erro: /sbin/mount.vboxsf: falha na montagem com o erro: Erro de protocolo

Infelizmente, isso significa que você usa o nome de compartilhamento padrão ou o nome do diretório de compartilhamento do host é o mesmo que o nome de compartilhamento de convidado montado. Nesse caso, é "compartilhamento". Basta criar outra pasta de compartilhamento, ou seja, "vb_share" e depois executar:

mount -t vboxsf vb_share / home / <usuário> / host


1
  • Instale Vbox Additions (arquivo ISO ou faça o download então)
  • Crie um diretório com qualquer nome nos dois sistemas ( mkdir sharepor exemplo)
  • conecte com as "pastas compartilhadas do VBox" a pasta de compartilhamento no sistema original
  • use o comando para conectar sua pasta:
    sudo mount -t vboxsf name_of_folder_linked ~/name_of_folder_guest/

0

Instalação: VirtualBox 4.3.26, host Win 7 SP1, convidado Debian Jessie 8.0 (estável).

No VirtualBox Manager, selecione Configurações de pastas compartilhadas ... no menu suspenso Dispositivos .

Na janela pop-up resultante, selecione Pastas da máquina na lista de pastas e clique no botão "Adicionar uma nova definição de pasta compartilhada" (a pasta azul com um ícone de sinal verde "+" à direita da lista de pastas ).

No formulário pop-up Adicionar compartilhamento resultante , clique no botão de seta para baixo no campo Caminho da pasta e selecione Outro . Uma janela pop-up Procurar pasta é exibida.

(No meu caso, acabei de adicionar outro disco rígido à minha estação de trabalho para ser usado em um compartilhamento dedicado, já formatado para NTFS, com o nome de volume "share" e montado como "G:" .Cliquei na seta ao lado de Computador , selecione a unidade G: e clique no botão OK .)

(No seu caso, você deve selecionar a pasta ou a unidade que deseja compartilhar e clicar no botão OK .)

Quando você fizer sua seleção e clicar no botão OK , o VirtualBox Manager preencherá os campos Caminho da pasta e Nome da pasta do formulário Adicionar compartilhamento . Deixe o campo Caminho da pasta em paz, mas você pode alterar o Nome da pasta, se desejar - lembre-se disso mais tarde.

Finalize o formulário Adicionar compartilhamento , marcando a caixa de seleção Tornar permanente , mas certifique-se de deixar a caixa de seleção Montar automaticamente desmarcada - cuidaremos da montagem mais tarde. (E, é claro, se você deseja tornar a pasta ou a unidade somente leitura, vá em frente e marque a caixa Somente leitura .) Em seguida, clique no botão OK .

O compartilhamento recém-configurado agora deve aparecer como uma entrada em Pastas da máquina na lista de pastas . Clique no botão OK .

Para montar esse compartilhamento durante a inicialização (inicialização), precisamos adicionar uma linha de definição de montagem ao / etc / fstab em nossa instalação do Debian jessie guest. Essa edição precisa ser feita como root ou via sudo, por exemplo:

sudo nano /etc/fstab

(Eu pessoalmente usei o vi, mas como o nano é o editor padrão no Debian jessie, eu o especifiquei no exemplo acima.)

Para montar esse compartilhamento no meu diretório pessoal, com sua propriedade e grupo definidos como meu UID e GID pessoal, adicionei a seguinte definição ao / etc / fstab:

share /home/conib/share vboxsf comment=systemd.automount,uid=conib,gid=conib,noauto 0 0

(Observe que não há espaços ao redor dos caracteres "=", "." Ou ",".)

Uma definição / etc / fstab está no formato

<Device> <Mount Point> <Type> <Options> <Dump> <Pass>

(Observe que deve haver espaço em branco - espaço (s) e / ou tab (s) - entre os campos da definição, mas não espaço em branco em um campo.)

O campo "Dispositivo" deve ser definido como o Nome da pasta que especificamos via Adicionar compartilhamento do VirtualBox Manager . Eu havia alterado o "G_DRIVE" padrão para "compartilhar".

O "Ponto de montagem" é uma especificação de caminho do diretório que já deve existir, mas deve estar vazio. (Ou seja, tudo o que já estiver presente nesse diretório ficará oculto pelo que você está montando nele.) Eu criei um novo subdiretório vazio chamado "compartilhamento" no meu diretório inicial.

O "Tipo" é "vboxsf".

As "Opções" (comment = systemd.automount, uid = conib, gid = conib, noauto) foram a parte complicada e exigiu um pouco de trabalho para começar a trabalhar nessa configuração.

Defina "Dump" como 0, a menos que você saiba que deseja defini-lo para outra coisa.

E como não queremos que o fsck verifique esse compartilhamento, defina "Pass" como 0 também.

Quando você adicionar a linha de definição ao / etc / fstab, reinicie o seu convidado Debian e confirme que você pode ver os arquivos e subpastas do seu compartilhamento.

HTH.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.