A montagem da pasta compartilhada do Virtualbox do fstab falha; funciona quando a inicialização estiver concluída

38

Eu tenho o Ubuntu 13.10 instalado no VirtualBox 4.3. A máquina host é o Windows.

Eu tenho algumas pastas compartilhadas do Virtualbox sendo montadas pelo / etc / fstab. Até recentemente esta configuração funcionou muito bem, mas após a atualização do Ubuntu 13.04 e do Virtualbox 4.2 (essencialmente ao mesmo tempo) a montagem fstab parou de funcionar. Eu recebo o seguinte erro durante a inicialização:

An error occurred while mounting /home/benme/Documents.
keys:Press S to skip mounting or M for manual recovery

Pressionar M para recuperação manual e tentar montar manualmente também falha:

root@benme-vb:~# cd /home/benme
root@benme-vb:/home/benme# mount Documents
/sbin/mount.vboxsf: mounting failed with the error: No such device

Mas se eu ignorar a montagem durante a inicialização, aguarde a inicialização do Unity e depois monte manualmente em um shell, tudo funciona bem:

benme-vb ~ % ls Documents
benme-vb ~ % sudo mount Documents
[sudo] password for benme: 
benme-vb ~ % ls Documents
    # actual file list omitted

Note que quando eu montei manualmente eu estou deixando o mount pegar todas as opções do / etc / fstab, e ele funciona. Isso sugere que é uma questão de tempo, em que o Virtualbox não está "pronto" para fornecer as montagens de arquivos compartilhados no momento em que as montagens / etc / fstab são executadas durante a inicialização.

Aqui está a linha fstab, apenas para completar:

Documents       /home/benme/Documents   vboxsf  uid=benme,gid=benme,dmode=774,fmode=664     0   0

Existe algo que eu possa fazer sobre isso do lado do Ubuntu? Ou será que alguém sabe mais sobre isso no ângulo do Virtualbox?

Eu encontrei um relatório antigo sobre o rastreador de bugs do Virtualbox com sintomas idênticos, mas, nesse caso, o usuário atualizou o Virtualbox sem atualizar as adições de convidados e resolver o problema; isso não está acontecendo aqui, eu definitivamente tenho as adições de comentários de 4.3 instaladas.

    
por Ben 25.10.2013 / 02:07

8 respostas

45

Eu também colidi com esse problema. Eu montei /var/www usando a funcionalidade de pastas compartilhadas VBox, então isso foi muito chato.

A solução que encontrei foi forçar o módulo vboxsf a ser carregado antes, antes da montagem dos sistemas de arquivos. Basta adicionar vboxsf em uma linha própria em /etc/modules .

Outra solução é configurar noauto em /etc/fstab e montar unidades manualmente em /etc/rc.local , mas essa não foi uma solução tão boa para mim porque, nesse momento, o Apache já foi iniciado e não conseguiu encontrar nada em /var/www .

    
por Richard Turner 25.10.2013 / 18:04
19

Além da sugestão de Richard Turner de adicionar vboxsf em uma linha própria a /etc/modules , sugiro adicionar a opção _netdev mount a /etc/fstab . Eu testei no Ubuntu 12.04 LTS e isso parece adicionar apenas a quantidade certa de atraso para o mount ter sucesso.

Minha /etc/fstab entry:

dev /media/dev vboxsf defaults,_netdev 0 0

    
por deoren 19.10.2014 / 23:38
5

A correção de Richard parou de funcionar para mim depois da última atualização (VirtualBox 4.3.18, Ubuntu 14.04). Felizmente consegui consertar, carregando vboxsf diretamente com o kernel:

# echo "vboxsf" >> /etc/initramfs-tools/modules
# update-initramfs -u

O primeiro comando adiciona um parâmetro para carregar o módulo no kernel e o segundo atualiza o sistema de arquivos init. Depois de uma reinicialização, pude usar meus fstab-mounts novamente:)

Aviso: O processo de inicialização pode congelar, se uma pasta compartilhada não puder ser montada. Portanto, teste sua configuração antes de adicionar o módulo ao initramfs. Se o seu sistema trava de qualquer maneira, você pode inicializar no modo de recuperação para corrigir o problema.

    
por Torben 20.10.2014 / 23:03
4

Eu só queria dizer que forçar o módulo vboxsf a carregar cedo me ajudou (como na resposta de Richard Turner), mas a linha fstab ainda não funcionou para mim.

O que acabei fazendo foi colocar o comando mount (que funcionou) em /etc/rc.local . Um pouco de truque, mas funcionou.

    
por ezuk 19.05.2014 / 17:44
4

Com a pasta compartilhada listada no fstab, descubro que a inicialização irá travar quando tentar montá-la usando o VirtualBox 5 e o Ubuntu 14.04. A solução parece ser atrasar a montagem até que o serviço GuestAddition esteja disponível (a solução /etc/modules de Richard Turner não pareceu suficiente para mim).

Para isso, verifique se você tem noauto como as opções da pasta compartilhada em /etc/fstab . Por exemplo, para uma pasta compartilhada chamada vmshare :

vmshare    /home/user/share    vboxsf    defaults,noauto    0    0

Em seguida, adicione uma linha a /etc/rc.local para montar o compartilhamento após a inicialização:

mount vmshare
    
por Kevin Sadler 01.10.2015 / 12:52
2

Eu tive o mesmo problema e estava trabalhando nas soluções sugeridas, mas sem sucesso. A solução de Torben congelou a bota, então teve que desfazê-la. Então, pensei em resolver problemas de /etc/fstab usando sudo mount -a . A sintaxe da minha entrada parecia perfeita, mas ainda assim falhou. Também consegui montar manualmente o filesysten usando o comando mount na janela do terminal.

O que eu descobri é que eu tinha espaços entre os dois primeiros parâmetros (dispositivo e ponto de montagem). Eu substituí-los com uma guia e funciona. Realmente? !!!!

    
por svenyonson 03.02.2015 / 01:02
2

Parece que vboxsf não possui o alias fs-vboxsf (que é como os módulos do kernel são carregados automaticamente ao montar esse tipo de sistema de arquivos pela primeira vez), portanto, adicionar o alias em /etc/modprobe.d deve funcionar:

$ echo "alias fs-vboxsf vboxsf" | sudo tee /etc/modprobe.d/vboxsf.conf
    
por hyperair 17.01.2017 / 09:25
1

Acredito que encontrei o caminho certo para lidar com isso em Arch Wiki . Use a opção comment=systemd.automount .

A opção acima fica no arquivo /etc/fstab com as outras opções. Por exemplo:

Fedora /var/ftp/pub/Fedora vboxsf uid=1001,gid=1001,comment=systemd.automount 0 0
    
por ultracrepidarian 17.11.2014 / 23:21