Stai usando cartelle condivise, quindi devi installare VirtualBox Guest Additions nella tua macchina virtuale per supportare quella funzionalità.
Vagabondo
Se stai usando Vagrant (OS X :)brew cask install vagrant
, esegui:
vagrant plugin install vagrant-vbguest
vagrant vbguest
In caso di errore, controllare i registri, ad es
vagrant ssh -c "cat /var/log/vboxadd-install.log"
Forse ti mancano solo i file di intestazione del kernel.
VM
All'interno della VM, è necessario installare Guest Additions, header del kernel e avviare il servizio e ricontrollare se l'estensione del kernel è in esecuzione.
Questo dipende dal sistema operativo guest, quindi ecco alcuni brevi passaggi:
Il kernel di installazione include le intestazioni (richiesto da VBoxLinuxAdditions).
- RHEL:
sudo apt-get update && sudo apt-get install kernel-devel
- CentOS:
sudo yum update && sudo yum -y install kernel-headers kernel-devel
Installa aggiunte guest (dipende dal sistema operativo).
Ubuntu: sudo apt-get -y install dkms build-essential linux-headers-$(uname -r) virtualbox-guest-additions-iso
Se non riesci a trovarlo, controlla aptitude search virtualbox
.
Debian :sudo apt-get -y install build-essential module-assistant virtualbox-ose-guest-utils
Se non riesci a trovarlo, controlla dpkg -l | grep virtualbox
.
manualmente scaricando il file iso nella VM (ad es. wget
) e installandolo, ad es
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
Debug extra: cd ~/install && sh -x ./install.sh /mnt/VBoxLinuxAdditions.run
Controlla che le estensioni del kernel siano attive e funzionanti:
Avvia / riavvia il servizio:
- manualmente:
sudo /opt/VBoxGuestAdditions*/init/vboxadd setup
(aggiungi sudo sh -x
al debug)
- Debian:
sudo /etc/init.d/vboxadd-service start
- Fedora:
sudo /etc/init.d/vboxdrv setup
- CentOS:
sudo service VBoxService start
Costruire il modulo principale Guest Additions
Se sopra non ha funzionato, qui ci sono passaggi più sofisticati per risolverlo. Ciò presuppone che tu abbia già installato VBoxGuestAdditions (come mostrato sopra).
Il motivo più comune per cui il montaggio della cartella condivisa non funziona potrebbe essere correlato alla creazione del modulo Aggiunte guest che non è riuscito. Se /var/log/vboxadd-install.log
hai il seguente errore:
Non sono state trovate le intestazioni per l'attuale kernel in esecuzione.
questo significa che o non hai installato i sorgenti del kernel, oppure non sono stati trovati.
Se li hai già installati come indicato sopra, esegui questo 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
Quindi sostanzialmente lo vboxadd
script si aspetta che i tuoi sorgenti del kernel siano disponibili alla seguente directory:
ls -la /lib/modules/$(uname -r)/build
Controlla se la directory del kernel esiste (il link simbolico punta alla cartella esistente). In caso contrario, installarli nella cartella corretta (ad es /usr/src/kernels
. In).
Quindi lo vboxadd
script può entrare nella directory sorgente del kernel ed eseguire make kernelrelease
, ottenere il valore e confrontarlo con la versione corrente del kernel.
Ecco la logica:
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 la versione del kernel non corrisponde ai sorgenti, forse devi aggiornare il tuo kernel Linux (nel caso in cui i sorgenti siano più recenti del tuo kernel).
CentOS
Provare:
vagrant plugin install vagrant-vbguest vagrant vbgues
Se non funziona, prova i seguenti passaggi manuali per 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