Vagrant не может смонтировать синхронизированную папку на гостевой Linux -: ошибка протокола
У меня странная проблема с использованием синхронизированной папки с использованием Vagrant с хостом Windows и гостем Linux, запущенным в VirtualBox.
При первой загрузке (или после vagrant destroy
), папка проекта монтируется в /vagrant без проблем, но после остановки и запуска ВМ папка не будет монтироваться.
Это сообщение об ошибке, которое появляется в конце вывода Vagrant:
...
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:
: Protocol error
В Vagrantfile нет параметров конфигурации, связанных с синхронизируемой папкой, я просто пытаюсь использовать поведение синхронизированной папки по умолчанию.
Некоторые похожие вопросы показывают, что запуск установки плагина Vagrant vagrant-vbguest
может решить некоторые похожие проблемы, но у меня есть этот плагин. Также, Virtual Box и установленные гостевые дополнения имеют версию 5.1.10.
После перезагрузки машины sudo mount -t vboxsf vagrant /vagrant
просто выдает эту ошибку:
/sbin/mount.vboxsf: mounting failed with the error: Protocol error
По какой-то причине sudo mount -t vboxsf Vagrant /vagrant
(заглавная V) смонтирует синхронизированную папку. При первой загрузке mount | grep vagrant
показывает, что синхронизируемая папка называется vagrant
с строчной буквой 'v', и VirtualBox показывает имя общей папки строчной буквой 'v', даже после перезапуска поля.
Мне действительно нужно поведение по умолчанию vagrant для правильной работы без ошибок. Что является причиной этого?
1 ответ
Мне удалось решить эту проблему, удалив символическую ссылку, которая создавалась как часть процесса обеспечения:
/home/vagrant/vagrant --> /vagrant
Я не совсем понимаю, как эта символическая ссылка могла вызвать мою проблему, но ее удаление было определенным решением.