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:
vagrant plugin install vagrant-vbguest
vagrant vbguest
Caso falhe, verifique os logs, por exemplo
vagrant ssh -c "cat /var/log/vboxadd-install.log"
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).
- RHEL:
sudo apt-get update && sudo apt-get install kernel-devel
- CentOS:
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 exemplo
wget 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:
Inicie / reinicie o serviço:
- manualmente:
sudo /opt/VBoxGuestAdditions*/init/vboxadd setup
(adicione sudo sh -x
à depuração)
- Debian:
sudo /etc/init.d/vboxadd-service start
- Fedora:
sudo /etc/init.d/vboxdrv setup
- CentOS:
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:
Os cabeçalhos do kernel atual em execução não foram encontrados.
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:
$ sudo sh -x /opt/VBoxGuestAdditions-5.0.16/init/vboxadd setup 2>&1 | grep KERN
+ KERN_VER=2.6.32-573.18.1.el6.x86_64
+ KERN_DIR=/lib/modules/2.6.32-573.18.1.el6.x86_64/build
Então, basicamente, o vboxadd
script espera que as fontes do kernel estejam disponíveis no seguinte diretório:
ls -la /lib/modules/$(uname -r)/build
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 executar make kernelrelease
, obter o valor e comparar com a versão atual do kernel.
Aqui está a lógica:
KERN_VER=`uname -r`
KERN_DIR="/lib/modules/$KERN_VER/build"
if [ -d "$KERN_DIR" ]; then
KERN_REL=`make -sC $KERN_DIR --no-print-directory kernelrelease 2>/dev/null || true`
if [ -z "$KERN_REL" -o "x$KERN_REL" = "x$KERN_VER" ]; then
return 0
fi
fi
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:
vagrant plugin install vagrant-vbguest vagrant vbgues
Se não funcionar, tente as seguintes etapas manuais do CentOS:
$ sudo yum update
$ sudo yum install kernel-$(uname -r) kernel-devel kernel-headers # or: reinstall
$ rpm -qf /lib/modules/$(uname -r)/build
kernel-2.6.32-573.18.1.el6.x86_64
$ ls -la /lib/modules/$(uname -r)/build
$ sudo reboot # and re-login
$ sudo ln -sv /usr/src/kernels/$(uname -r) /lib/modules/$(uname -r)/build
$ sudo /opt/VBoxGuestAdditions-*/init/vboxadd setup