Vagrant не зміг підключити спільні папки VirtualBox


79

Поточне налаштування: 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 Guest Additions та модуля ядра. Переконайтесь, що ці додатки для гостей правильно встановлені в гості. Це не помилка у програмі 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 plugin install vagrant-vbguest), але це нічого не виправило. Повернення до версії 5.1.18 це вирішує, але це не ідеально для просування вперед.

Як я можу змусити монтування папок працювати з Virtualbox 5.1.20 та Vagrant 1.9.3 ?


Це також може статися, якщо на вашому хості є кешоване старе вікно, яке не підтримує версію плагіна vbguest, який ви встановили на своєму комп’ютері. Детальніше тут
Бред Паркс

Відповіді:


137

Оновлення

Виправлено у 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/, то бачите, що підпапка "інше" не існує. Цей рядок виправляє, що:

$ 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 ). Ви можете бачити, що в результатах "бродяга вгору". Має бути рядок, подібний до цього:

Do you wish to continue? [yes or no]

Якщо це так, ви можете запустити програму встановлення вручну. Для цього запустіть поле:

$ vagrant up

Потім запустіть vbguest, щоб спробувати встановити ще раз, але залиште ISO VBoxGuestAdditions змонтованим після:

$ 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

8
Як довідник, ось квиток, що відстежує виправлення цієї помилки virtualbox.org/ticket/16670
edwardmlyte

1
Здається, це тимчасове виправлення. Я знову отримав помилку післяvagrant reload
Френк Хенард,

6
Після повторного появи я знизився до 5.1.18 - проблема вирішена;)
Френк Хенард

2
мають таку ж проблему для VirtualBox 5.1.22 r115126 та Vagrant 1.9.7
Alexiuscrow

2
У мене така ж проблема з 5.1.26
Кирило

47

В моєму випадку встановлення плагіна vbguest працювало з VirtualBox 5.2.6 та Vagrant 2.0.1:

vagrant plugin install vagrant-vbguest


1
Дякую, що спрацювало! VirtualBox 5.2.6& Vagrant 2.0.2дає GuestAdditions 5.2.6 running --- OK.зараз
baikho

Це питання стосувалося конкретної версії virtualbox та vagrant, і вже було зазначено, що для цих конкретних версій vagrant-vbguestплагін не працює.
edwardmlyte

3
Має бути найкращою відповіддю.
Абденнур ТУМІ

Мені це працює з virtualbox 5.2.8& vagrant 2.0.2. GuestAdditions 5.2.8встановлений.
Макс Пен,

Це спрацювало і для мене - що цікаво, у мене вже були встановлені GuestAdditions, але після оновлення з Vagrant v1.8 до v2.0 і VirtualBox з 5.1 до 5.2, я почав отримувати помилку монтування. НАВІТЬ після vagrant plugin update. Повторна установка плагіна таким чином виправила це для мене.
Скотт Байерс

4

Це працювало у мене ... виконайте наступне:

vagrant plugin repair

Тоді

vagrant plugin expunge --reinstall

Тоді

vagrant reload

1
Обережно з цим. Це може зламати вашу скриньку та вашу бродяжу установку.
Стюарт Кьюсак,

це ідеально. Я не уявляю, чому це працює, але це працює, і я дуже вас люблю за вашу відповідь !!!!!
Свіфт

3

Мені допомогли наступні команди з перезавантаженням гостьової системи:

cd /opt/VBoxGuestAdditions-*/init  
sudo ./vboxadd setup

Я знайшов рішення тут . Посилаючись на цю публікацію, вам потрібно зупинити vboxadd перед тим, як запускати команди (я цього не робив, оскільки не знаю, що таке vboxadd).


3

Для мене проблема була вирішена за таких умов:

Навколишнє середовище:

  • Версія VirtualBox 6.0.4r128413
  • Вагрантська версія 2.2.3

Кроки:

Перейдіть до каталогу проекту з терміналу або командного рядка ( cd) і виконайте такі команди:

  1. vagrant plugin install vagrant-vbguest встановити гостьовий плагін Vagrant VB

  2. vagrant up

Якщо ви отримуєте повідомлення про vboxsfнедоступність. Тоді, можливо, ваші додатки VirtualBox для гостей не встановлені належним чином. Сподіваємось, наведені нижче команди вирішать вашу проблему.

vagrant ssh
sudo yum -y install kernel-devel
sudo yum update -y
exit
vagrant halt
vagrant up --provision

1

Видалення типу: "nfs" із присадибної ділянки. Yaml виправив це для мене. Win 10, Vagrant 1.9.7, laravel 5.4, садиба.


Питання пов’язане з іншою версією Vagrant, і це невдача в роботі з певною версією Virtualbox.
edwardmlyte

1
Вирішив це і для мене .. :)
winkbrace

Зверніть увагу, видалення типу: "nfs" - погана ідея, у вас будуть проблеми зі швидкістю, деталі тут: stackoverflow.com/questions/50614748/…
Євген Афанасьєв

0

Для тих, хто приземляється тут майже з тією ж проблемою, що і я, рішення наведено нижче

TLDR

  • Відмова гостя 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

Рішення

  1. vagrant ssh

  2. sudo rpm -e kernel-devel-3.10.0-862.9.1.el7.x86_64

  3. 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 // завантажуємо файл

  4. sudo rpm -Uvh kernel-devel-3.10.0-327.el7.x86_64.rpm // використовуємо файл, завантажений на кроці 3

  5. exit

  6. vagrant reload

Деталі: Проблема

  1. Зробити бродягу, але зазнати помилки з подібною помилкою, окрім

Результатом помилки команди було:

/sbin/mount.vboxsf: не вдалося встановити з помилкою: Немає такого пристрою

  1. Подальше читайте журнали, і я помічаю нижче ключові слова

Встановлення гостьових додатків Virtualbox 5.2.16 - гостьова версія - 5.1.10

Під час встановлення гостьових додатків VirtualBox сталася помилка

На даний момент ця система не налаштована на створення модулів ядра.

Будь ласка, встановіть файли "заголовка" ядра Linux, які відповідають поточному ядру

пакунки, що містять заголовки, ймовірно: kernel-devel kernel-devel-3.10.0-327.el7.x86_64

  1. Читати журнали далі

Буде встановлено пакунок kernel-headers.x86_64 0: 3.10.0-862.9.1.el7

Немає доступного пакета kernel-devel-3.10.0-327.el7.x86_64.

  1. Мій гість - мені потрібно kernel-devel-3.10.0-327.el7.x86_64працювати

Подробиці: Моє оточення

  • bento / centos-7.2
  • бродяча версія: 2.0.4
  • версія віртуального вікна: 5.2.16

Джерела


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.