Vagrant не смог подключить общие папки VirtualBox
Текущая настройка: Virtualbox 5.1.20 с Vagrant 1.9.3
Предыдущая рабочая настройка: Virtualbox 5.1.18 с Vagrant 1.9.3
Я установил последнюю версию Virtualbox и попытался запустить свою виртуальную машину. Установка папки перестала работать. Та же установка папок отлично работает в Virtualbox 5.1.18. Появляется следующее сообщение об ошибке:
Vagrant не смог установить общие папки VirtualBox. Обычно это происходит потому, что файловая система "vboxsf" недоступна. Эта файловая система доступна через гостевые дополнения VirtualBox и модуль ядра. Убедитесь, что эти гостевые дополнения установлены в гостевой системе. Это не ошибка в Vagrant и обычно вызвана неисправной коробкой Vagrant. Для контекста команда пыталась:
mount -t vboxsf -o uid=1000,gid=1000 keys /keys
Результатом ошибки была команда:
mount: wrong fs type, bad option, bad superblock on keys,
missing codepage or helper program, or other error
In some cases useful info is found in syslog - try dmesg | tail or so.
Я попытался вручную установить vagrant-vbguest
плагин (через vagrant-vbguest
плагин vagrant plugin install vagrant-vbguest
), но это ничего не фиксировало. Переход к 5.1.18 разрешает его, но это не идеальное движение вперед.
Как я могу получить установку папок, работающих с Virtualbox 5.1.20 и Vagrant 1.9.3?
Ответы
Ответ 1
Обновить
Исправлено в VirtualBox 5.1.22.
(https://www.virtualbox.org/ticket/16670)
Оригинальный ответ
В моем случае символическая ссылка внутри виртуальной машины была неправильной. Войдите в ВМ:
$ vagrant ssh
Затем:
$ ls -lh /sbin/mount.vboxsf
lrwxrwxrwx 1 root root 49 Apr 19 14:05 /sbin/mount.vboxsf -> /opt/VBoxGuestAdditions-5.1.20/other/mount.vboxsf
Эта ссылка не работает. Когда вы заглядываете внутрь /opt/VBoxGuestAdditions-5.1.20/, вы видите, что подпапка "other" не существует. Эта строка исправляет это:
$ sudo ln -sf /opt/VBoxGuestAdditions-*/lib/VBoxGuestAdditions/mount.vboxsf /sbin/mount.vboxsf
Теперь выйдите из ВМ:
$ exit
И проверьте, работает ли он у вас:
$ vagrant reload
Но я не могу исправить ссылку, потому что /sbin/mount.vboxsf не существует внутри моей коробки!
Если ссылка /sbin/mount.vboxsf не существует в первую очередь, то VBoxGuestAdditions не может быть установлен. Это может произойти, если вы не загрузили соответствующий пакет расширений VirtualBox после обновления VirtualBox (v5.2.18 и выше должны загружать его автоматически во время обновлений Virtualbox). Вы можете сделать это сейчас:
- Остановите все ваши работающие виртуальные машины.
- Откройте программу VirtualBox.
- Запустите загрузку пакета расширений VirtualBox и установите его.
- Если вас не спрашивают, хотите ли вы загрузить пакет расширений VirtualBox, откройте → Файл → Проверить наличие обновлений, чтобы вызвать диалоговое окно загрузки.
Если не было обновления для расширения VirtualBox, возможно, что VBoxGuestAdditions не может быть установлен, поскольку установщик показывает сообщение, а подключаемый модуль vagrant vbguest не может запросить ответ (это "исправлено" в vbguest v0.15.0). Вы можете видеть это в выводе "vagrant up". Там должна быть строка, похожая на эту:
Do you wish to continue? [yes or no]
В этом случае вы можете запустить установщик вручную. Для этого запустите окно:
$ vagrant up
Затем запустите vbguest, чтобы повторить попытку установки, но затем оставьте монтированный VBoxGuestAdditions ISO следующим образом:
$ vagrant vbguest --do install --no-cleanup
Войдите в коробку:
$ vagrant ssh
Запустил установщик вручную:
$ sudo /mnt/VBoxLinuxAdditions.run
Последняя надежда: сделай сам!
Если ничего из вышеперечисленного не помогло, попробуйте установить гостевые дополнения вручную:
cd /opt
sudo wget -c http://download.virtualbox.org/virtualbox/5.1.28/VBoxGuestAdditions_5.1.28.iso -O VBoxGuestAdditions_5.1.28.iso
sudo mount VBoxGuestAdditions_5.1.28.iso -o loop /mnt
sudo sh /mnt/VBoxLinuxAdditions.run
Ответ 2
Установка плагина vbguest работала в моем случае с VirtualBox 5.2.6 и Vagrant 2.0.1:
vagrant plugin install vagrant-vbguest
Ответ 3
Это сработало для меня... выполните следующие действия:
vagrant plugin repair
затем
vagrant plugin expunge --reinstall
затем
vagrant reload
Ответ 4
Тип удаления: "nfs" из homestead.yaml исправил его для меня. Win 10, Vagrant 1.9.7, laravel 5.4, усадьба.
Ответ 5
Для меня проблема была исправлена в следующих условиях:
Среда:
- VirtualBox версия 6.0.4r128413
- Бродячая версия 2.2.3
шаги:
Перейдите в каталог вашего проекта из терминала или командной строки (cd
) и выполните следующие команды:
-
vagrant plugin install vagrant-vbguest
для установки гостевого плагина Vagrant VB
-
vagrant up
Если вы получаете сообщение об отсутствии vboxsf
. Тогда, возможно, ваши VirtualBox Guest Additions не установлены должным образом. Надеемся, что приведенные ниже команды решат вашу проблему.
vagrant ssh
sudo yum -y install kernel-devel
sudo yum update -y
exit
vagrant halt
vagrant up --provision
Ответ 6
Для меня следующие команды, за которыми последовала перезагрузка гостевой системы, помогли:
cd /opt/VBoxGuestAdditions-*/init
sudo ./vboxadd setup
Я нашел решение здесь. Ссылаясь на это сообщение, вам нужно остановить vboxadd перед запуском команд (я этого не делал, так как не знаю, что такое vboxadd).
Ответ 7
Для тех, кто приземляется здесь почти с той же проблемой, что и я, ниже находится решение
TL;DR
- Ошибка гостевой
system is currently not set up to build kernel modules
VirtualBox из-за system is currently not set up to build kernel modules
- Решение - удалить
kernel-headers.x86_64 0:3.10.0-862.9.1.el7
- Затем установите
kernel-devel-3.10.0-327.el7.x86_64
Решение
-
vagrant ssh
-
sudo rpm -e kernel-devel-3.10.0-862.9.1.el7.x86_64
-
sudo wget ftp://mirror.switch.ch/pool/4/mirror/scientificlinux/7.0/x86_64/updates/security/kernel-devel-3.10.0-327.el7.x86_64.rpm
//загружаем файл
-
sudo rpm -Uvh kernel-devel-3.10.0-327.el7.x86_64.rpm
//используйте файл, загруженный на шаге 3
-
exit
-
vagrant reload
Детали: проблема
- Делайте бродяжничать, но терпите неудачу с аналогичной ошибкой, кроме
Результатом ошибки была команда:
/sbin/mount.vboxsf: ошибка установки с ошибкой: нет такого устройства
- Продолжайте чтение журналов, и я заметил ниже ключевых слов
Установка гостевых дополнений Virtualbox 5.2.16 - гостевая версия - 5.1.10
Произошла ошибка при установке гостевых дополнений VirtualBox
В настоящее время эта система не настроена для сборки модулей ядра.
Пожалуйста, установите файлы заголовков ядра Linux, соответствующие текущему ядру
пакеты, содержащие заголовки, вероятно: kernel-devel kernel-devel-3.10.0-327.el7.x86_64
- Читать журналы далее
Будет установлен пакет kernel-headers.x86_64 0: 3.10.0-862.9.1.el7
Пакет kernel-devel-3.10.0-327.el7.x86_64 недоступен.
- Мой гость - мне нужен
kernel-devel-3.10.0-327.el7.x86_64
для работы
Подробности: Моя среда
- бэнто /CentOS-7.2
- бродячая версия: 2.0.4
- версия виртуального ящика: 5.2.16
источники