Вы используете общие папки, поэтому вам нужно установить VirtualBox Guest Additions внутри вашей виртуальной машины для поддержки этой функции.
бродяга
Если вы используете Vagrant (OS X :)brew cask install vagrant
, запустите:
vagrant plugin install vagrant-vbguest
vagrant vbguest
В случае сбоя проверьте журналы, например,
vagrant ssh -c "cat /var/log/vboxadd-install.log"
Возможно, вам просто не хватает заголовочных файлов ядра.
В.М.
Внутри виртуальной машины вы должны установить гостевые дополнения, заголовки ядра и запустить службу, а также дважды проверить, работает ли расширение ядра.
Это зависит от гостевой операционной системы, поэтому вот краткие шаги:
Установить ядро, включить заголовки (требуется VBoxLinuxAdditions).
- RHEL:
sudo apt-get update && sudo apt-get install kernel-devel
- CentOS:
sudo yum update && sudo yum -y install kernel-headers kernel-devel
Установите гостевые дополнения (это зависит от операционной системы).
Ubuntu: sudo apt-get -y install dkms build-essential linux-headers-$(uname -r) virtualbox-guest-additions-iso
Если вы не можете найти его, проверьте aptitude search virtualbox
.
Debian :sudo apt-get -y install build-essential module-assistant virtualbox-ose-guest-utils
Если вы не можете найти его, проверьте dpkg -l | grep virtualbox
.
вручную, загрузив iso-файл внутри виртуальной машины (например wget
) и установив его, например,
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
Дополнительная отладка: cd ~/install && sh -x ./install.sh /mnt/VBoxLinuxAdditions.run
Дважды проверьте, работают ли расширения ядра:
Запустите / перезапустите сервис:
- вручную:
sudo /opt/VBoxGuestAdditions*/init/vboxadd setup
(добавить sudo sh -x
в отладку)
- Debian:
sudo /etc/init.d/vboxadd-service start
- Fedora:
sudo /etc/init.d/vboxdrv setup
- CentOS:
sudo service VBoxService start
Сборка основного модуля Guest Additions
Если выше, не сработало, вот более сложные шаги, чтобы исправить это. Это предполагает, что вы уже установили VBoxGuestAdditions (как показано выше).
Самая распространенная причина, по которой монтирование общей папки не работает, может быть связана с тем, что не удалось создать модуль Guest Additions. Если у /var/log/vboxadd-install.log
вас есть следующая ошибка:
Заголовки для текущего запущенного ядра не найдены.
это означает, что либо вы не установили исходные коды ядра, либо они не могут быть найдены.
Если вы уже установили их, как указано выше, выполните эту команду:
$ 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
Таким образом, vboxadd
скрипт ожидает, что исходные тексты вашего ядра будут доступны в следующем каталоге:
ls -la /lib/modules/$(uname -r)/build
Проверьте, существует ли каталог dir (символическая ссылка указывает на существующую папку). Если это не так, пожалуйста, установите их в нужную папку (например, в /usr/src/kernels
).
Таким образом, vboxadd
скрипт может войти в исходный каталог вашего ядра и запустить его make kernelrelease
, получить значение и сравнить с текущей версией ядра.
Вот логика:
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
Если версия ядра не совпадает с исходными текстами, возможно, вам нужно обновить ядро Linux (если исходные коды новее вашего ядра).
CentOS
Пытаться:
vagrant plugin install vagrant-vbguest vagrant vbgues
Если не сработает, попробуйте следующие шаги вручную для 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