Używasz folderów współdzielonych, więc musisz zainstalować dodatki VirtualBox Guest Additions na maszynie wirtualnej, aby obsługiwać tę funkcję.
Włóczęga
Jeśli używasz Vagrant (OS X :)brew cask install vagrant
, uruchom:
vagrant plugin install vagrant-vbguest
vagrant vbguest
W przypadku niepowodzenia sprawdź logi, np
vagrant ssh -c "cat /var/log/vboxadd-install.log"
Może po prostu brakuje Ci plików nagłówkowych jądra.
VM
Wewnątrz maszyny wirtualnej należy zainstalować dodatki gościa, nagłówki jądra i uruchomić usługę oraz dokładnie sprawdzić, czy rozszerzenie jądra jest uruchomione.
Zależy to od systemu operacyjnego gościa, więc oto krótkie kroki:
Zainstaluj nagłówki jądra (wymagane przez VBoxLinuxAdditions).
- RHEL:
sudo apt-get update && sudo apt-get install kernel-devel
- CentOS:
sudo yum update && sudo yum -y install kernel-headers kernel-devel
Zainstaluj dodatki dla gości (zależy to od systemu operacyjnego).
Ubuntu: sudo apt-get -y install dkms build-essential linux-headers-$(uname -r) virtualbox-guest-additions-iso
Jeśli nie możesz go znaleźć, sprawdź aptitude search virtualbox
.
Debian :sudo apt-get -y install build-essential module-assistant virtualbox-ose-guest-utils
Jeśli nie możesz go znaleźć, sprawdź dpkg -l | grep virtualbox
.
ręcznie, pobierając plik iso wewnątrz maszyny wirtualnej (np. wget
) i instalując go, np
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
Dodatkowy debug: cd ~/install && sh -x ./install.sh /mnt/VBoxLinuxAdditions.run
Dokładnie sprawdź, czy rozszerzenia jądra są uruchomione i działają:
Uruchom / uruchom ponownie usługę:
- ręcznie:
sudo /opt/VBoxGuestAdditions*/init/vboxadd setup
(dodajsudo sh -x
do debugowania)
- Debian:
sudo /etc/init.d/vboxadd-service start
- Fedora:
sudo /etc/init.d/vboxdrv setup
- CentOS:
sudo service VBoxService start
Tworzenie głównego modułu dodatków dla gości
Jeśli powyższe nie zadziałało, oto bardziej wyrafinowane kroki, aby to naprawić. Zakłada się, że masz już zainstalowany VBoxGuestAdditions (jak pokazano powyżej).
Najczęstszy powód, dla którego montowanie folderu współdzielonego nie działa, może być związany z niepowodzeniem budowania modułu Guest Additions. Jeśli /var/log/vboxadd-install.log
masz następujący błąd:
Nie znaleziono nagłówków dla aktualnie działającego jądra.
oznacza to, że albo nie zainstalowałeś źródeł jądra, albo nie można ich znaleźć.
Jeśli zainstalowałeś je już zgodnie z instrukcją powyżej, uruchom to polecenie:
$ 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
Zasadniczo vboxadd
skrypt oczekuje, że źródła jądra będą dostępne w następującym katalogu:
ls -la /lib/modules/$(uname -r)/build
Sprawdź, czy katalog jądra istnieje (dowiązanie symboliczne wskazuje na istniejący folder). Jeśli tak nie jest, zainstaluj je w odpowiednim folderze (np. W/usr/src/kernels
).
Więc vboxadd
skrypt może wejść do katalogu ze źródłami jądra i uruchomić make kernelrelease
, pobrać wartość i porównać z bieżącą wersją jądra.
Oto logika:
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
Jeśli wersja jądra nie pasuje do źródeł, być może musisz zaktualizować jądro Linuksa (w przypadku, gdy źródła są nowsze niż jądro).
CentOS
Próbować:
vagrant plugin install vagrant-vbguest vagrant vbgues
Jeśli nie zadziała, wypróbuj następujące ręczne kroki dla 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