Laravel Homestead Vagrant - проблема vboxsf недоступна
Поэтому я пытался установить Laravel Homestead через Vagrant/VirtualBox. Раньше работал, но теперь он не работает вообще. Я включил то, что возвращается с работы vagrant up
в дополнение к файлу журнала /var/log/vboxadd-install.log
упоминается в ошибке от гостевой машины. Ниже приведены все номера версий для моей текущей настройки.
ОС: Windows 8.1 (64-разрядная), VirtualBox: 4.3.26, Vagrant: 1.7.2
Вот результат выполнения команды vagrant up
PS C:\Users\brand_000\Homestead> vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Checking if box 'laravel/homestead' is up to date...
==> default: Clearing any previously set forwarded ports...
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
default: Adapter 1: nat
default: Adapter 2: hostonly
==> default: Forwarding ports...
default: 80 => 8000 (adapter 1)
default: 443 => 44300 (adapter 1)
default: 3306 => 33060 (adapter 1)
default: 5432 => 54320 (adapter 1)
default: 22 => 2222 (adapter 1)
==> default: Running 'pre-boot' VM customizations...
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
default: SSH address: 127.0.0.1:2222
default: SSH username: vagrant
default: SSH auth method: private key
default: Warning: Connection timeout. Retrying...
default: Warning: Connection timeout. Retrying...
==> default: Machine booted and ready!
Got different reports about installed GuestAdditions version:
Virtualbox on your host claims: 4.3.18
VBoxService inside the vm claims: 4.3.8
Going on, assuming VBoxService is correct...
GuestAdditions versions on your host (4.3.26) and guest (4.3.8) do not match.
Got different reports about installed GuestAdditions version:
Virtualbox on your host claims: 4.3.18
VBoxService inside the vm claims: 4.3.8
Going on, assuming VBoxService is correct...
Reading package lists...
Building dependency tree...
Reading state information...
linux-headers-3.16.0-23-generic is already the newest version.
dkms is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 4 not upgraded.
Copy iso file C:\Program Files/Oracle/VirtualBox/VBoxGuestAdditions.iso into the box /tmp/VBoxGuestAdditions.iso
mount: /dev/loop0 is write-protected, mounting read-only
Installing Virtualbox Guest Additions 4.3.8 - guest version is 4.3.8
Verifying archive integrity... All good.
Uncompressing VirtualBox 4.3.8 Guest Additions for Linux............
VirtualBox Guest Additions installer
Removing installed version 4.3.8 of VirtualBox Guest Additions...
Copying additional installer modules ...
Installing additional modules ...
Removing existing VirtualBox DKMS kernel modules ...done.
Removing existing VirtualBox non-DKMS kernel modules ...done.
Building the VirtualBox Guest Additions kernel modules
The headers for the current running kernel were not found. If the following
module compilation fails then this could be the reason.
Building the main Guest Additions module ...done.
Building the shared folder support module ...fail!
(Look at /var/log/vboxadd-install.log to find out what went wrong)
Doing non-kernel setup of the Guest Additions ...done.
Installing the Window System drivers
Could not find the X.Org or XFree86 Window System, skipping.
An error occurred during installation of VirtualBox Guest Additions 4.3.8. Some functionality may not work as intended.
In most cases it is OK that the "Window System drivers" installation failed.
==> default: Checking for guest additions in VM...
==> default: Setting hostname...
==> default: Configuring and enabling network interfaces...
==> default: Mounting shared folders...
default: /vagrant => C:/Users/brand_000/Homestead
Failed to mount folders in Linux guest. This is usually because
the "vboxsf" file system is not available. Please verify that
the guest additions are properly installed in the guest and
can work properly. The command attempted was:
mount -t vboxsf -o uid=`id -u vagrant`,gid=`getent group vagrant | cut -d: -f3` vagrant /vagrant
mount -t vboxsf -o uid=`id -u vagrant`,gid=`id -g vagrant` vagrant /vagrant
The error output from the last command was:
/sbin/mount.vboxsf: mounting failed with the error: No such device
PS C:\Users\brand_000\Homestead>
Вот содержимое файла ошибки. Загрузка PasteBin файла ошибок @ /var/log/vboxadd-install.log
Я установил плагин vbguest vagrant в нескольких руководствах и ответах здесь, в Stackru, но пока ничего не получалось. Даже безуспешно пытался понизить VirtualBox до 4.3.8 и другой версии. Я следовал инструкциям по правильной установке Laravel Homestead. Как я уже говорил, это работало в прошлом. Какие-либо предложения?
6 ответов
Редактировать scripts\homestead.rb
, менять:
mount_opts = folder["type"] == "nfs" ? ['actimeo=1'] : []
в
mount_opts = folder["type"] == "nfs" ? [''] : []
Затем установите VBoxGuestAdditions:
C:\Homestead> vagrant plugin install vagrant-vbguest
C:\Homestead> vagrant up
C:\Homestead> vagrant ssh
$ sudo ln -s /opt/VBoxGuestAdditions-4.3.18/lib/VBoxGuestAdditions /usr/lib/VBoxGuestAdditions
$ sudo apt-get install --yes dkms linux-headers-3.16.0-23-generic
$ sudo /etc/init.d/vboxadd setup
$ exit
C:\Homestead> vagrant halt
C:\Homestead> vagrant up
Это работает для меня в Linux, я думаю, что это решит проблему и в Windows.
Быстрое решение для Не удалось смонтировать папки в гостевой проблеме Linux.
Добавьте следующую строку в ваш Homestead/Vagrantfile:
config.vbguest.auto_update = false
Ваш Homestead / Vagrantfile должен выглядеть так:
/...
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
# To avoid install and uninstall VBoxGuessAdditions during vagrant provisioning.
config.vbguest.auto_update = false
.../
Сохраните его и выполните
$ vagrant destroy --force
$ vagrant up
Просто удали type: "nfs"
строка из файла Homestead.yaml.
От:
folders:
- map: ~/Code
to: /home/vagrant/Code
type: "nfs"
Для того, чтобы:
folders:
- map: ~/Code
to: /home/vagrant/Code
Похоже, что Laravel docs 5.0 по-прежнему является руководством для Homestead 1.x. Но в Laravel docs 4.2 уже есть руководство для Homestead 2.x. Какlaravel/homestead
уже на версии 2, теперь вам лучше следовать 4.2 документации здесь.
Другой хороший источник - введение в усадьбу Ларакастов 2.
Я решил похожую проблему, так как вывод из vagrant up был следующим:
Installing Virtualbox Guest Additions 5.0.4 - guest version is 4.3.
Verifying archive integrity... All good.
Uncompressing VirtualBox 5.0.4 Guest Additions for Linux...........
VirtualBox Guest Additions installer
Removing installed version 4.3.14 of VirtualBox Guest Additions...
Copying additional installer modules ...
Installing additional modules ...
Removing existing VirtualBox non-DKMS kernel modules[ OK ]
Building the VirtualBox Guest Additions kernel modules
Building the main Guest Additions module[FAILED]
(Look at /var/log/vboxadd-install.log to find out what went wrong)
а потом
Failed to mount folders in Linux guest. This is usually because
the "vboxsf" file system is not available. Please verify that
the guest additions are properly installed in the guest and
can work properly. The command attempted was:
mount -t vboxsf -o uid=`id -u vagrant`,gid=`getent group vagrant | cut -d: -f3` vagrant /vagrant
mount -t vboxsf -o uid=`id -u vagrant`,gid=`id -g vagrant` vagrant /vagrant
симптомы
Мой бродячий скрипт долгое время работал без сбоев, но вчера я сменил физическое оборудование для своих дисков, переместив мои диски с lenovo T520 на T530. Хорошо, мне пришлось обновить несколько драйверов.
Поэтому я не смог запустить свой бродячий скрипт на новом оборудовании на том же диске.
причина
Причиной стала новая графическая карта, графическая карта NVIDIA. Эта карта имеет процессор GPU, который подключается к каждому процессу на компьютере и пытается определить, используется ли GPU или нет. По умолчанию графический процессор на моей машине был настроен для подключения графического процессора к каждому запущенному процессу.
Этот перехват CPU, который делает NVIDIA, влияет на VirtualBox таким образом, что VBGuestAdditions не могут правильно установить драйверы или, по крайней мере, сказать, что чего-то не хватает.
Решение
Откройте NVIDIA Control => Настройки 3D -> Управление настройками 3D. Затем выберите вкладку "Настройки программы".
Теперь хитрость заключается в том, чтобы добавить VirtualBox.exe в выпадающий список "1. Выберите программу для настройки", а затем установите "2. Выберите предпочтительный графический процессор для этой программы" в "Интегрированная графика"
Это делает весь трюк. Vagrant up раскручивает машину и не выдает сообщение "Не удалось смонтировать папки в гостевой системе Linux"
Я снова начал работать после изучения этой программы в течение целого дня.
Попробуйте установить гостевые дополнения VBox для поддержки общего доступа к папкам и VirtualBox Oracle VM VirtualBox Extension Pack для дополнительной поддержки определенных устройств.
Используя Vagrant, вы можете запустить:
vagrant plugin install vagrant-vbguest
vagrant vbguest
Или установите его вручную.