Estou usando o VirtualBox com o OS X como host e o CentOS na VM convidada.
Na pasta criada no OS XI myfolder
, adicione-a como pasta compartilhada à VM, ligue-a na pasta criada no CentOS /home/user/myfolder
e digite:
sudo mount -t vboxsf myfolder /home/user/myfolder
e tem saída:
/sbin/mount.vboxsf: mounting failed with the error: No such device
O que estou fazendo de errado?
ATUALIZADA:
Guest Additions
instalado.
macos
centos
virtual-machine
virtualbox
cnaize
fonte
fonte
sudo mount -t vboxsf sf_folder /home/user/folder
, aqui osf_folder
efolder
DEVE ser diferentes nomesshare
na resposta para obter o link permanente.Respostas:
Minha pasta / área de transferência compartilhada parou de funcionar por algum motivo (provavelmente devido a uma instalação de patch na minha máquina virtual).
sudo mount -t vboxsf Shared_Folder ~/SF/
Deu o seguinte resultado:
VirtualBox: mount.vboxsf: mounting failed with the error: No such device
A solução para mim foi parar o vboxadd e fazer uma configuração depois disso:
fonte
/sbin/mount.vboxsf: mounting failed with the error: No such device
. Depois de executar o procedimento acima e reiniciar o sistema, minhas pastas compartilhadas apareceram como antes da atualização .. obrigado!sudo ./vboxadd setup
, você pode fazersudo ./vboxadd stop
. Não tenho certeza se ainda é necessário, mas acho que é o que essa frase significa.Você está usando pastas de compartilhamento, portanto, é necessário instalar o VirtualBox Guest Additions na sua máquina virtual para oferecer suporte a esse recurso.
Vagabundo
Se você estiver usando o Vagrant (OS X :)
brew cask install vagrant
, execute:Caso falhe, verifique os logs, por exemplo
Talvez você esteja perdendo os arquivos de cabeçalho do kernel.
VM
Dentro da VM, você deve instalar o Guest Additions, os cabeçalhos do kernel, iniciar o serviço e verificar se a extensão do kernel está em execução.
Isso depende do sistema operacional convidado, portanto, aqui estão breves etapas:
Instale os cabeçalhos de inclusão do kernel (exigidos pelo VBoxLinuxAdditions).
sudo apt-get update && sudo apt-get install kernel-devel
sudo yum update && sudo yum -y install kernel-headers kernel-devel
Instale as adições de convidados (isso depende do sistema operacional).
Ubuntu:
sudo apt-get -y install dkms build-essential linux-headers-$(uname -r) virtualbox-guest-additions-iso
Se você não encontrar, verifique
aptitude search virtualbox
.Debian :
sudo apt-get -y install build-essential module-assistant virtualbox-ose-guest-utils
Se você não encontrar, verifique
dpkg -l | grep virtualbox
.manualmente baixando o arquivo iso dentro da VM (por exemplo
wget
) e instalando-o, por exemplowget http://download.virtualbox.org/virtualbox/5.0.16/VBoxGuestAdditions_5.0.16.iso -P /tmp
sudo mount -o loop /tmp/VBoxGuestAdditions_5.0.16.iso /mnt
sudo sh -x /mnt/VBoxLinuxAdditions.run # --keep
Depuração extra:
cd ~/install && sh -x ./install.sh /mnt/VBoxLinuxAdditions.run
Verifique novamente se as extensões do kernel estão em funcionamento:
sudo modprobe vboxsf
Inicie / reinicie o serviço:
sudo /opt/VBoxGuestAdditions*/init/vboxadd setup
(adicionesudo sh -x
à depuração)sudo /etc/init.d/vboxadd-service start
sudo /etc/init.d/vboxdrv setup
sudo service VBoxService start
Construindo o módulo principal de adições de convidados
Se o procedimento acima não funcionou, veja as etapas mais sofisticadas para corrigi-lo. Isso pressupõe que você já tenha o VBoxGuestAdditions instalado (como mostrado acima).
O motivo mais comum pelo qual a montagem da pasta compartilhada não funciona pode estar relacionado à criação do módulo Guest Additions que falhou. Se
/var/log/vboxadd-install.log
você tiver o seguinte erro:isso significa que você não instalou fontes do kernel ou elas não podem ser encontradas.
Se você os instalou já conforme as instruções acima, execute este comando:
Então, basicamente, o
vboxadd
script espera que as fontes do kernel estejam disponíveis no seguinte diretório:Verifique se o diretório do kernel existe (o link simbólico aponta para a pasta existente). Caso contrário, instale-os na pasta correta (por exemplo, em
/usr/src/kernels
).Portanto, o
vboxadd
script pode entrar no diretório de origem do kernel e executarmake kernelrelease
, obter o valor e comparar com a versão atual do kernel.Aqui está a lógica:
Se a versão do kernel não coincidir com as fontes, talvez você precise atualizar o kernel do Linux (caso as fontes sejam mais recentes que o kernel).
CentOS
Experimentar:
Se não funcionar, tente as seguintes etapas manuais do CentOS:
fonte
vagrant plugin install vagrant-vbguest
vagrant vbguest
funciona também no centos 7 e resolveu o problema. ObrigadoEu sou capaz de resolver isso executando abaixo do comando
modprobe -a vboxguest vboxsf vboxvideo
fonte
vboxsf
(Pastas compartilhadas do VirtualBox) é o necessário aqui. Você pode listar esses 3 arquivos, um por linha, em um arquivo/etc/modules-load.d/
(talvez chamevirtualbox.conf
) para fazer com que essa alteração persista durante as reinicializações.Além da resposta do @Mats , estou adicionando mais algumas informações (isso me ajudou no Debian 8).
Minha pasta / área de transferência compartilhada parou de funcionar por algum motivo (provavelmente devido a uma instalação de patch na minha máquina virtual).
Deu-me o seguinte resultado:
A solução para mim foi parar o vboxadd e fazer uma configuração depois disso:
Neste ponto, se você ainda receber o seguinte erro:
Você precisa instalar os cabeçalhos linux:
então você pode instalar o Guest Additions:
e reinicie seu Linux:
então você poderá montar sua pasta compartilhada!
Mais informações (em francês), consulte esta página .
fonte
apt-get install linux-headers-virtual
ajudou com o Lubuntu 15.04 no VirtualBoxEsta foi a única solução que funcionou para mim:
Instale o plugin Vagrant: vagrant-vbguest , que pode manter suas adições de convidados do VirtualBox atualizadas.
Fonte: https://github.com/aidanns/vagrant-reload/issues/4#issuecomment-230134083
fonte
Isso foi resolvido por:
a solução alternativa está aqui: https://gist.github.com/larsar/1687725
fonte
uname -r
compilaçãoshare
sob a resposta)A pasta compartilhada funcionava anteriormente para mim, mas de repente parou de funcionar (Virualbox - o host era o Windows 7, o convidado era o OpenSuSe)
modprobe -a vboxguest vboxsf vboxvideo
então
mount -t vboxsf testsf /opt/tsf
(testsf
era a pasta na unidade Windows C que foi adicionada na pasta compartilhada do Virtualbox --- e/opt/tsf
é a pasta no OpenSusefonte
Meu host é Windows10, meu convidado da VM é o ubuntu build by vagrant. Isso funcionou para mim:
fonte
Eu também tive um sistema em funcionamento que de repente parou de funcionar com o erro descrito.
Depois de usar meus / lib / modules, parece que o
vboxvfs
módulo não existe mais. Em vez disso,modprobe vboxsf
era o encantamento necessário para reiniciar as coisas.Não tenho certeza quando essa mudança ocorreu, mas me pegou de surpresa.
fonte
Estou executando o VirtualBox 5.1.20 e tive um problema semelhante. Aqui está um URL para onde eu encontrei a correção e a correção que implementei:
O link tinha algo semelhante a /usr/lib/VBoxGuestAdditions/other/mount.vboxsf, e não o que eu tenho no trecho do script.
Para um script de construção, eu uso no vagrant para as adições:
https://github.com/rburkholder/vagrant/blob/master/scripts/additions.sh
Parece ser uma correção em https://www.virtualbox.org/ticket/16670
fonte
A solução para mim foi atualizar as adições de convidados
(clique em Dispositivos -> imagem do CD Inserir adições de convidados)
fonte
Pode haver erros / abordagem incorreta em dois cenários. Verifique os dois e descubra o
CENÁRIO 1:
Depois de executar o VBoxLinuxAdditions.run ou o VBoxSolarisAdditions.pkg ou o VBoxWindowsAdditions.exe, verifique se todos os módulos estão sendo instalados corretamente.
1.1.a. No caso de VBoxLinuxAdditions , se a criação dos
módulos do kernel do VirtualBox Guest Additions falhar,
verifique o arquivo de log em /var/log/vboxadd-install.log . Se o erro ocorrer devido à versão do kernel, atualize o kernel e reinicie o vm. No caso do fedora ,
1.1.b. yum update kernel *
1.1.c.reinicie
1.2. Se nada falhar, tudo está bem. Você já está tendo a versão esperada do kernel
CENÁRIO 2:
Se o VBoxGuestAdditions estiver instalado (verifique se há uma pasta / opt / VBoxGuestAdditions- * está presente .... * representa a versão), é necessário iniciá-lo antes da montagem.
2.1 cd / opt / VBoxGuestAdditions - * / init && ./vboxadd start
Você precisa especificar o ID do usuário e o ID do grupo do seu usuário vm como opções para o comando mount.
2.2.a. Obtendo uid e gid de um usuário:
id -u <'usuário'>
id -g <'usuário'>
2.2.b. Configurando uid e gid nas opções do comando mount:
mount -t vboxsf -o uid = x, gid = x shared_folder_name guest_folder
fonte
Para mim, em um Mac, eu tinha uma imagem antiga do VirtualBox armazenada em minha máquina que não tinha metadados, por isso não estava sendo atualizada para a versão mais recente.
Essa imagem antiga tinha uma versão mais antiga do plug-in vbguest instalada, com a qual o plug-in vbguest mais recente na minha máquina não funcionava.
Então, para corrigi-lo, apenas removi a imagem em que meu Vagrant se baseava e, em seguida, o Vagrant baixou a versão mais recente e funcionou bem.
Você pode descobrir quais caixas armazenaram em cache na sua máquina executando:
Também atualizei meu plug-in vbguest em minhas tentativas anteriores de fazê-lo funcionar, usando o processo a seguir, mas não acho que isso tenha ajudado. PARA SUA INFORMAÇÃO !
Se você encontrar o recurso trazer a caixa falhar nas adições de convidados, tente fazer o seguinte para garantir que os plug-ins sejam instalados corretamente. Isso baixa a imagem com base mais recente no seu sistema (para mim, CentOS) e pode resolver o problema (foi o que aconteceu comigo).
fonte
No Ubuntu, isso funcionou:
fonte
Teve o mesmo problema com o VirtualBox 5.0.16 / rXXX
Instalado o VirtualBox 5.0.18 mais recente e o Vagrant 1.9.3, o problema foi resolvido.
fonte
Eu adicionei como usuário root
então
e o script de amostra
/root/mount-vboxsf.sh
(defina suas próprias opções uid e gid)você precisa adicionar
fonte
Tenho um problema semelhante, verifique o cabeçalho se não for o mesmo e execute o comando abaixo
CentOS: atualização do sudo yum && sudo yum -y install kernel-headers kernel-devel
fonte
Se você estiver no Debian:
1) remova todo o pacote instalado pelo arquivo ISO do Virtualbox Guest Additions:
sh /media/cdrom/VBoxLinuxAdditions.run uninstall
2) instale pacotes do Virtualbox:
apt-get install build-essential module-assistant virtualbox-guest-dkms virtualbox-guest-utils
Observe que, mesmo sem
modprobe vboxsf
retornar nada (para que o módulo seja carregado corretamente), ovboxsf.so
comando chamará um executável nomeadomount.vboxsf
, fornecido porvirtualbox-guest-utils
. Ignorar esta opção impedirá que você entenda a causa real do erro.strace mount /your-directory
foi uma grande ajuda (não existe um arquivo ou diretório assim/sbin/mount.vboxsf
).fonte
Uma atualização fez o truque para mim!
fonte
Abaixo de dois comandos funciona para mim.
fonte
Ok, todo mundo está perdendo um fato básico.
mkdir /test
- Torna o subdiretório no diretório atual.sudo mkdir /test
- Crie diretório na raiz.Portanto, se o seu nome de diretório compartilhado for
shared
e você fizer o seguinte:Ele gera este erro:
Porque o diretório está no lugar errado! Sim, é o que este erro está dizendo. O erro não está dizendo recarregar as opções de convidado do VBOX.
Mas se você fizer isso:
Então funciona bem.
Realmente me surpreende quantas pessoas sugerem recarregar as adições de convidados do Vbox para solucionar esse erro ou escrever um programa complexo para resolver um diretório criado no lugar errado.
fonte
mkdir /test
criará o diretório / test em /.sudo mkdir /test
criará o mesmo diretório, mas pertencerá à raiz e não ao usuário atual.kernel-devel.x86_64 0:2.6.32-754.11.1.el6
e, em seguida, executei estes command--cd /opt/VBoxGuestAdditions-*/init
esudo ./vboxadd setup
. Isso funcionou para mim.