Ошибка Vagrant: не удалось подключить общие папки VirtualBox (гостевые дополнения, vboxsf)

Вопрос

Я установил Vagrant в Windows 10, чтобы создать личную локальную среду разработки на виртуальной машине. Все, что я читал о Vagrant, говорит, что я могу даже запустить несколько систем и проверить связь между ними с помощью NAT port forwarding. Но сначала я просто хочу создать виртуальную машину среды разработки, прежде чем зайду слишком далеко с остальными.

Я установил VirtualBox, Vagrant, PuTTy и PuTTYGen, за это Учебник SitePoint:https://www.sitepoint.com/getting-started-vagrant-windows/. Затем я создал папку проекта vagrant на C: drive, did vagrant init, удалить Vagrantfile и наконец, vagrant init ubuntu/trusty64. Тогда я сделал vagrant up, но процесс завершается с ошибкой:

Vagrant не удалось смонтировать общие папки VirtualBox. Это обычно поскольку файловая система "vboxsf" недоступна. Эта файловая система доступно через гостевые дополнения VirtualBox и модуль ядра. Пожалуйста, убедитесь, что эти гостевые дополнения правильно установлены в гость. Это не ошибка в Vagrant и обычно вызвано неисправностью Vagrant машины. Для контекста команда попыталась:

горе -Т vboxsf -O в номер uid=1000,gid=, что 1000 бродяга /бродяга

вывод ошибки из команды был:

: нет такого файла или каталога

вот скриншот моей команды Windows строка:

Screenshot of Vagrant/VirtualBox error

и вот такой текст:

C:vagrantsitepoint-test-2017-02-05>vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Importing base box 'ubuntu/trusty64'...
==> default: Matching MAC address for NAT networking...
==> default: Checking if box 'ubuntu/trusty64' is up to date...
==> default: A newer version of the box 'ubuntu/trusty64' is available! You currently
==> default: have version '20160602.0.0'. The latest is version '20170202.0.0'. Run
==> default: `vagrant box update` to update.
==> default: Setting the name of the VM: sitepoint-test-2017-02-05_default_1486399403587_55255
==> 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: Forwarding ports...
    default: 22 (guest) => 2222 (host) (adapter 1)
==> 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: Remote connection disconnect. Retrying...
    default:
    default: Vagrant insecure key detected. Vagrant will automatically replace
    default: this with a newly generated keypair for better security.
    default:
    default: Inserting generated public key within guest...
    default: Removing insecure key from the guest if it's present...
    default: Key inserted! Disconnecting and reconnecting using new SSH key...
==> default: Machine booted and ready!
==> default: Checking for guest additions in VM...
==> default: Mounting shared folders...
    default: /vagrant => C:/vagrant/sitepoint-test-2017-02-05
Vagrant was unable to mount VirtualBox shared folders. This is usually
because the filesystem "vboxsf" is not available. This filesystem is
made available via the VirtualBox Guest Additions and kernel module.
Please verify that these guest additions are properly installed in the
guest. This is not a bug in Vagrant and is usually caused by a faulty
Vagrant box. For context, the command attempted was:

mount -t vboxsf -o uid=1000,gid=1000 vagrant /vagrant

The error output from the command was:

: No such file or directory

Мои Настройки

OS: Microsoft Windows [Version 10.0.14393]
VirtualBox Version: 4.3.10 r93012
GuestAdditions Version: ???
Vagrant Version: 1.9.1 (Latest)
PuTTy Version: 0.67
PuTTYGen Version: 0.67

Плагины И Расширения, Установленные

Vagrant:
- vagrant-share (1.1.6, system)
- vagrant-vbguest (0.13.0)

что я уже пробовал

этот пост казалось самым многообещающим в моих исследованиях.

к сожалению, ни одно из предлагаемых решений, ни одна из предоставленных ссылок не решили проблему. Я уже пробовал кучу вещей, но я не системный администратор (который, я предполагаю, является набором навыков, который вам понадобится для устранения неполадок). Особенно беспокоило то, что многие из "решений" от 2013/2014, в последнее время указано, как не работает больше. Эти решения говорят о чем-то с симлинки не работают, устанавливая плагины, такие как бродяга-vbguest, и что-то о VBOX дополнений не то сопоставления. Я действительно не понимаю всего этого, но я старался изо всех сил. Вот то, что я уже пробовал, что не решило его еще:

  1. vagrant plugin install vagrant-vbguest. Vagrant показывает плагин как установленный, но я получаю ту же ошибку на vagrant up.

  2. список ссылок, которые я прочитал при исследовании этой проблемы, не предоставил рабочего решения.

Мои Вопросы

  1. Я подозреваю, что проблема с VirtualBox, а не бродяга. Это правда?

  2. как я могу это исправить, чтобы я мог продолжить учебник?

  3. кажется, было резкое падение бродячих вопросов, на которые ответили на переполнение стека, примерно с 2014 года. В чем причина этого? Vagrant / VirtualBox больше не считается "лучшей практикой"? Есть ли лучшее решение, чтобы пользователи игнорировали бродячие вопросы?

опять же, я не системный администратор, но я технически подкован и могу следовать техническим указаниям.

10 ответов


эта проблема решена в VirtualBox 5.1.18.


вы можете понизить VirtualBox или отредактировать строку в файле:

на моей настройке это была строка 206:

C:\HashiCorp\Vagrant\embedded\gems\gems\vagrant-1.9.2\lib\vagrant\util\platform.rb

на моей главной машине.

Я сделал это, и он отлично работал на Windows 10! Я хотел бы добавить, что я сделал с линии 206:

до редактирования: "\\?\" + путь.gsub("/", "\")

после редактирования: путь.gsub("/", "\")


vagrant plugin install vagrant-vbguest

Это не сработало для меня, похоже, несовместимо с vagrant 1.9.2, я удалил последнюю версию virtual box (5.1.16) и установил версию 5.1.12 с последней версией vagrant 1.9.2 и homestead, и это работает для меня.


гостевые дополнения несовместимы с версией VirtualBox. Автозапуск гостевых дополнений VirtualBox решит, вероятно, связанную проблему:

плагин vagrant установить vagrant-vbguest

Я exprerienced эту проблему с этим стеком:

  • Windows 10
  • Oracle VirtualBox 5.1.16
  • залетный 1.9.2
  • конфигурации.виртуальная память.box = "hashicorp / precise64"

там может быть несколько причин :

  1. версия гостевого добавления не соответствует версии VirtualBox, для этого вы можете обновить версию гостевого добавления, запустив vagrant plugin install vagrant-vbguest
  2. вы попали в ошибку vagrant с NFS на Windows: должно быть исправлено, поэтому, возможно, попробуйте обновить до последней версии Vagrant и VirtualBox
  3. в этом выпуске github https://github.com/fideloper/Vaprobash/issues/92, есть две вещи что вы можете проверить: используйте плагин winnfsd (https://github.com/winnfsd/vagrant-winnfsd) или попробуйте настроить монтирование по умолчанию без NFS

У меня была та же проблема, и это было просто добавление гостя, которое не было современным ...

UDPATE : ошибка на Vagrant с NFS на Windows (пункт 2) была исправлена в версии 5.1.18, повторно появляется в версии 5.1.20 и снова исправлена в версии 5.2.


понижение до виртуального окна 5.1.14 от 5.1.16 отлично работает.


Я использую Vagrant 1.9.4 и VirtualBox 5.1.20. Никакое решение здесь мне не помогло.

Я, наконец, обошел проблему, отключив автоматическое обновление для гостевых дополнений:

Vagrant.configure("2") do |config|
    config.vbguest.auto_update = false
    [...]
end

это скорее хакерский обходной путь, чем решение. Я все еще не знаю, в чем проблема, но я предполагаю, что это связано с этим:https://www.virtualbox.org/ticket/16670


существует также регрессия в Virtualbox 5.1.20

вопрос залет : https://github.com/mitchellh/vagrant/issues/8502

проблема Virtualbox: https://www.virtualbox.org/ticket/16670#comment:4

вот это место на VirtualBox 5.1.18, где он работал.


это ошибка в Vbox. Есть решение исправить.

войти в VBOX guestos: по умолчанию пароль (vagrant / vagrant)

su
ln -sf /opt/VBoxGuestAdditions-5.1.20/lib/VBoxGuestAdditions/mount.vboxsf /sbin/mount.vboxsf
mount -t vboxsf -o uid=1000,gid=1000 vagrant /vagrant

остановка

запустите cmd из командной строки локального компьютера cmd:

vagrant up

Он будет работать.


У меня похожая проблема, проверьте заголовок, если он не соответствует, затем запустите ниже команды

в CentOS: судо ням обновление && судо ням-y установить ядро-заголовки ядра-девел

бродяга перезагрузка

это работает для меня.