Błędny błąd: nie udało się zamontować folderów gościa Linux


277

Mam pewne problemy z współdzielonymi folderami Vagrant, moim podstawowym systemem jest komputer stacjonarny Ubuntu 13.10.

Nie rozumiem, dlaczego mam ten błąd, czy coś jest źle skonfigurowane? Czy występuje problem z NFS lub dodatkami gości Virtualbox? Próbowałem z różnymi wieloma pudełkami, ale ten sam problem.

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

Oto kompletny proces po vagrant up:

$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Importing base box 'u131032'...
==> default: Matching MAC address for NAT networking...
==> default: Setting the name of the VM: vagrant_default_1396020504136_46442
==> 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: 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: Error: Connection timeout. Retrying...
    default: Error: Remote connection disconnect. Retrying...
    default: Error: Remote connection disconnect. Retrying...
    default: Error: Remote connection disconnect. Retrying...
    default: Error: Remote connection disconnect. Retrying...
    default: Error: Remote connection disconnect. Retrying...
    default: Error: Remote connection disconnect. Retrying...
    default: Error: Remote connection disconnect. Retrying...
    default: Error: Remote connection disconnect. Retrying...
    default: Error: Remote connection disconnect. Retrying...
    default: Error: Remote connection disconnect. Retrying...
    default: Error: Remote connection disconnect. Retrying...
    default: Error: Remote connection disconnect. Retrying...
==> default: Machine booted and ready!
GuestAdditions versions on your host (4.3.10) and guest (4.2.16) do not match.
 * Stopping VirtualBox Additions
   ...done.
Reading package lists...
Building dependency tree...
Reading state information...
The following packages were automatically installed and are no longer required:
  dkms libdrm-intel1 libdrm-nouveau2 libdrm-radeon1 libfontenc1
  libgl1-mesa-dri libglapi-mesa libice6 libllvm3.3 libpciaccess0 libpixman-1-0
  libsm6 libtxc-dxtn-s2tc0 libxaw7 libxcomposite1 libxdamage1 libxfixes3
  libxfont1 libxkbfile1 libxmu6 libxpm4 libxrandr2 libxrender1 libxt6
  x11-common x11-xkb-utils xfonts-base xfonts-encodings xfonts-utils
  xserver-common xserver-xorg-core
Use 'apt-get autoremove' to remove them.
The following packages will be REMOVED:
  virtualbox-guest-dkms* virtualbox-guest-utils* virtualbox-guest-x11*
0 upgraded, 0 newly installed, 3 to remove and 0 not upgraded.
After this operation, 11.1 MB disk space will be freed.
(Reading database ... 65615 files and directories currently installed.)
Removing virtualbox-guest-dkms ...

-------- Uninstall Beginning --------
Module:  virtualbox-guest
Version: 4.2.16
Kernel:  3.11.0-18-generic (i686)
-------------------------------------

Status: Before uninstall, this module version was ACTIVE on this kernel.

vboxguest.ko:
 - Uninstallation
   - Deleting from: /lib/modules/3.11.0-18-generic/updates/dkms/
 - Original module
   - No original module was found for this module on this kernel.
   - Use the dkms install command to reinstall any previous module version.


vboxsf.ko:
 - Uninstallation
   - Deleting from: /lib/modules/3.11.0-18-generic/updates/dkms/
 - Original module
   - No original module was found for this module on this kernel.
   - Use the dkms install command to reinstall any previous module version.


vboxvideo.ko:
 - Uninstallation
   - Deleting from: /lib/modules/3.11.0-18-generic/updates/dkms/
 - Original module
   - No original module was found for this module on this kernel.
   - Use the dkms install command to reinstall any previous module version.

depmod....

DKMS: uninstall completed.

------------------------------
Deleting module version: 4.2.16
completely from the DKMS tree.
------------------------------
Done.
Removing virtualbox-guest-x11 ...
Purging configuration files for virtualbox-guest-x11 ...
Removing virtualbox-guest-utils ...
Purging configuration files for virtualbox-guest-utils ...
Processing triggers for ureadahead ...
Processing triggers for man-db ...
Reading package lists...
Building dependency tree...
Reading state information...
dkms is already the newest version.
dkms set to manually installed.
linux-headers-3.11.0-18-generic is already the newest version.
linux-headers-3.11.0-18-generic set to manually installed.
The following packages were automatically installed and are no longer required:
  libdrm-intel1 libdrm-nouveau2 libdrm-radeon1 libfontenc1 libgl1-mesa-dri
  libglapi-mesa libice6 libllvm3.3 libpciaccess0 libpixman-1-0 libsm6
  libtxc-dxtn-s2tc0 libxaw7 libxcomposite1 libxdamage1 libxfixes3 libxfont1
  libxkbfile1 libxmu6 libxpm4 libxrandr2 libxrender1 libxt6 x11-common
  x11-xkb-utils xfonts-base xfonts-encodings xfonts-utils xserver-common
  xserver-xorg-core
Use 'apt-get autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Copy iso file /usr/share/virtualbox/VBoxGuestAdditions.iso into the box /tmp/VBoxGuestAdditions.iso
mount: block device /tmp/VBoxGuestAdditions.iso is write-protected, mounting read-only
Installing Virtualbox Guest Additions 4.3.10 - guest version is 4.2.16
Verifying archive integrity... All good.
Uncompressing VirtualBox 4.3.10 Guest Additions for Linux............
VirtualBox Guest Additions installer
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 ...done.
Doing non-kernel setup of the Guest Additions ...done.
Starting the VirtualBox 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.10. 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: Exporting NFS shared folders...
==> default: Preparing to edit /etc/exports. Administrator privileges will be required...
nfsd running
sudo: /usr/bin/exportfs: command not found
==> default: Mounting NFS shared folders...
==> default: Mounting shared folders...
    default: /vagrant => /home/me/Documents/Work/project/vagrant
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

Moja konfiguracja Vagrantfile to:

# -*- mode: ruby -*-
# vi: set ft=ruby :

# Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
VAGRANTFILE_API_VERSION = "2"

personalization = File.expand_path("../Personalization", __FILE__)
load personalization

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = $base_box
  config.vm.box_url = $base_box_url

  config.vm.hostname = $vhost + ".dev"

  config.hostsupdater.aliases = ["api." + $vhost + ".dev", "mysql." + $vhost + ".dev"]
  config.hostsupdater.remove_on_suspend = true

  # set auto_update to ture to check the correct 
  # additions version when booting the machine
  config.vbguest.auto_update = true
  config.vbguest.auto_reboot = true

  config.vm.network :private_network, ip: $ip

  config.vm.synced_folder "../", "/srv/www/vhosts/" + $vhost + ".dev", type: "nfs"

  config.vm.provider :virtualbox do |v|
    v.customize ["modifyvm", :id, "--memory", 2048]
    v.customize ["modifyvm", :id, "--cpus", "1"]
    v.customize ["modifyvm", :id, "--cpuexecutioncap", "100"]
    v.customize ["modifyvm", :id, "--ioapic", "off"]
    v.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
  end

  config.vm.provision "shell" do |s|
    s.path = "vagrant-bootstrap.sh"
    s.args = $vhost + " " + $mysql_password + " " + $application_database
  end
end

Plik personalizacji to:

# Name of the vhost to create
$vhost = "project"

# Use the Ubunut 32bit or 64bit
$base_box_url = "http://cloud-images.ubuntu.com/vagrant/saucy/current/saucy-server-cloudimg-i386-vagrant-disk1.box"

# VM IP
$ip = "192.168.7.7"

# Base box name
$base_box = "u131032"

# MySQL
$mysql_password = "admin"
$application_database = "project"

W Vagrant są włączone następujące wtyczki:

$ vagrant plugin list
vagrant-hostsupdater (0.0.11)
vagrant-login (1.0.1, system)
vagrant-share (1.0.1, system)
vagrant-vbguest (0.10.0)

ten problem wystąpił również na mnie po aktualizacji wirtualnego pudełka 5.1.20. Ten rodzaj sprawia, że ​​martwię się za każdym razem, gdy aktualizuję moją
maszynę

@GusDeCooL możesz wyłączyć automatyczną aktualizację dodatków gości za config.vbguest.auto_update = falsepomocą Vagrantfile
Henrik

Odpowiedzi:


356

Wtyczka vagrant-vbguest rozwiązała mój problem:GitHub RubyGems

$ vagrant plugin install vagrant-vbguest

Wynik:

$ vagrant reload
==> default: Attempting graceful shutdown of VM...
...
==> default: Machine booted and ready!
GuestAdditions 4.3.12 running --- OK.
==> default: Checking for guest additions in VM...
==> default: Configuring and enabling network interfaces...
==> default: Exporting NFS shared folders...
==> default: Preparing to edit /etc/exports. Administrator privileges will be required...
==> default: Mounting NFS shared folders...
==> default: VM already provisioned. Run `vagrant provision` or use `--provision` to force it

Upewnij się, że korzystasz z najnowszej wersji VirtualBox


Korzystam z wtyczki vagrant-vbguest, ale to mnie nie naprawiło, dopóki nie zaktualizowałem VirtualBox-4.3.12-9.
mkirk

5
To jedyna rzecz, która mnie naprawiła. Po wykonaniu tej czynności goście VboxAdditions zaktualizowali się i dopasowali mój host. I wszystko w porządku bez żadnych problemów. Muszę tylko zachować równe wersje zarówno gościa, jak i hosta. Dzięki za wskaźnik @karlingen
Rixhers Ajazi

1
Ten problem zacząłem po zainstalowaniu wtyczki. odinstalowanie go nie rozwiązuje problemu.
Yamiko

13
jee Oszczędziłbym około 20 godzin googlingu, ponownej konfiguracji itp., wydając ten jeden linijka ... Gdzie jest twój „po prostu kup mi przycisk piwa” ...
Yordan Georgiev

1
Uwaga, ta wtyczka może spowodować niemal identyczny problem, jeśli go config.vbguest.auto_update = true(domyślne) github.com/dotless-de/vagrant-vbguest/issues/141
KCD

231

Znalazłem ten problem rozwiązany tutaj błędne problemy. Dwa sposoby na zrobienie tego:

  1. Uruchom to na gościu (tj. Po ssh do vbox przez vagrant ssh)

    sudo ln -s /opt/VBoxGuestAdditions-4.3.10/lib/VBoxGuestAdditions /usr/lib/VBoxGuestAdditions
    

    Następnie uruchom, vagrant reloadaby poprawnie zamontować foldery.

  2. Jak wskazał @klang, zaktualizuj plik VBoxGuestAdditions.iso na komputerze Mac:

    wget https://www.virtualbox.org/download/testcase/VBoxGuestAdditions_4.3.11-93070.iso‌​
    sudo cp VBoxGuestAdditions_4.3.11-93070.iso /Applications/VirtualBox.app/Contents/MacOS/VBoxGuestAdditions.iso
    

AKTUALIZACJA (16 maja 2014)

Ponieważ ISO nie jest już dostępne, możesz użyć wersji 4.3.12 ( http://dlc.sun.com.edgesuite.net/virtualbox/4.3.12/VBoxGuestAdditions_4.3.12.iso )

Uwaga: binarny vbox4.3.12 dla systemu OS X nie jest obecnie dostępny


5
Być może trzeba będzie później zrobić włóczęgę ponownie załadować, aby ponownie zamontować foldery współdzielone
d4nt

3
Czy ktoś zna sposób, aby włączyć to jako część VagrantFile, aby działało przed zamontowaniem dysków?
Jason Austin

3
@JasonAustin github.com/mitchellh/vagrant/issues/3341 wget https://www.virtualbox.org/download/testcase/VBoxGuestAdditions_4.3.11-93070.iso; sudo cp VBoxGuestAdditions_4.3.11-93070.iso /Applications/VirtualBox.app/Contents/MacOS/VBoxGuestAdditions.iso .. po tym, jak zwykle, prowadzisz działalność.
klang

5
Użycie Win 7pola z Vagrant 1.3.5i VirtualBox 4.3.10odpowiedź nr 1 nie zadziałała dla mnie. Nadal dostaję unable to mount ...błędy
Kevin Meredith

3
Zalecana poprawka to opcja pierwsza, jak pierwotnie opublikowano tutaj . Adres URL pliku ISO w opcji drugiej jest już nieważny i generuje wartość 404.
colinhoernig

49

Doszedłem do tej strony, szukając tego samego komunikatu o błędzie. Dla mnie przyczyna była inna: uruchomiłem yum updatesystem, który zainstalował nowe jądro. Dodatki gości były nieaktualne, więc nie można ich było załadować.

Przebudowałem je

sudo /etc/init.d/vboxadd setup 

A vagrant reloadpóźniej mój gość znów zaczął działać.

Po prostu dodaję to tutaj na wypadek, gdyby ktoś dotarł tutaj w ten sam sposób, co ja.

Edycja (według komentarza KCD):
Możliwe, że pojawi się błąd:

Nie znaleziono nagłówków dla bieżącego działającego jądra

Można to rozwiązać, instalując kernel-devel( yum install kernel-devel)


3
Dzięki. Zapomniałem, że prowadziłem yum update. Zostawiam ten komentarz, aby Future Austin go znalazł, kiedy to się powtórzy.
austin

1
I uruchomiłem apt-get update w Ubuntu, zostawiając komentarz do przyszłego skift, gdy to się powtórzy :-)
skift

Teraźniejszość i przyszłość Loïc właśnie dziękuję :) (zapomniałem, że yum updateteż
biegałem

Może nie powiedzieć The headers for the current running kernel were not foundi zapytać, yum install kernel-develktóre działa
KCD

1
Musiałem również zainstalować gcc, aby to działało. Podsumowując: 1) yum install kernel-devel-$(uname -r) i 2) yum install gcc; i na koniec wyjdź z VM i wykonaj vagrant reload. To było na pudełku Centos 7 Vagrant (bento / centos-7.1)
JDS

29

Napraw krok po kroku:

Jeśli nie masz wtyczki vbguest, zainstaluj ją:

$ vagrant plugin install vagrant-vbguest

Uruchom Vagrant

To pokazuje błąd.

$ vagrant up

Zaloguj się na VM

$ vagrant ssh

Naprawić!

W gościu (zalogowana maszyna wirtualna).

$ sudo ln -s /opt/VBoxGuestAdditions-4.3.10/lib/VBoxGuestAdditions /usr/lib/VBoxGuestAdditions

Wróć na hosta, załaduj ponownie Vagrant

$ vagrant reload

Myślę, że to najlepsze i najbardziej przejrzyste rozwiązanie
Mateusz Odelga

To działało, ale z Fedorą 22 musiałem to vagrant sshzrobić i to zrobić sudo ln -s /etc/dnf/dnf.conf /etc/yum.conf, ponieważ Fedora przeszła z yum na dnf. Dzięki temu wszystko dobiegło końca (tak myślę!). Dzięki @dadaso.
JZ

14

Aktualizacja z lutego 2016 r

Samodzielne rozwiązanie zajęło mi kilka godzin. Tak, ten problem nadal występuje w przypadku najnowszych instalacji Vagrant i Virtual Box:

△  vagrant -v
Vagrant 1.8.1
△  vboxmanage -v
5.0.14r105127

Objawami były dla mnie wiadomości w rodzaju:

Checking for guest additions in VM... The guest additions on this VM do not match the installed version of VirtualBox!

a następnie błąd montowania dysków NFS.

1). Zainstaluj vagrant-vbguestwtyczkę.

W zależności od używanej wersji Vagrant, wydaj jedno z następujących poleceń:

# For vagrant < 1.1.5
$ vagrant gem install vagrant-vbguest

# For vagrant 1.1.5+
$ vagrant plugin install vagrant-vbguest

Następnie wykonaj vagrant halt, a następnie vagrant up- są szanse, że nadal masz problemy.

2). ssh do gościa i skonfiguruj miękki link do właściwej wersji Dodatków gości (tutaj 5.0.14).

$ vagrant ssh

$ sudo ln -s /opt/VBoxGuestAdditions-5.0.14/lib/VBoxGuestAdditions /usr/lib/VBoxGuestAdditions
$ exit

$ vagrant reload

Powinieneś być dobry. Domyślnie zamontowany dysk gościa jest ustawiony na/vagrant

Końcowy komentarz:

Jeśli nadal masz problemy związane z montażem dysków NFS, oto obejście, które zadziałało dla mnie. Miałem vagrantfilez config coś takiego:

Po prostu usuń informacje o typie montażu i zmniejsz ustawienia mount_options , aby działały one uniwersalnie. Vagrant automatycznie wybierze teraz najlepszą opcję folderu synchronizowanego dla twojego środowiska.


2
Dzięki za to ... vagrantfilebrakuje twojej konfiguracji, tuż przed ostatnim akapitem - czy jest szansa, że ​​ją wrócisz?
Phil Gyford,

To wciąż nie działa dla mnie. Pobrałem nowego włóczęgę. vboxmanage pokazał już powyższą wersję. Miękki link zalecany przez PO już tam był.
Tony Ennis,

1
Gdzie jest twoja konfiguracja Vagrantfile? Brakuje w twojej odpowiedzi.
Aboelseoud,

12

Zainstaluj wtyczkę vagrant-vbguest, uruchamiając następujące polecenie:

vagrant plugin install vagrant-vbguest

6

Ten sam problem wystąpił z Centos 7, zakładam, że z powodu nieaktualnego jądra w połączeniu ze zaktualizowaną wersją VirtualBox. W oparciu o aktualizację Blizz, to działało dla mnie (wtyczka vagrant-vbguest jest już zainstalowana):

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

5

Dla mnie w przypadku VBoxGuestAdditions 5.1.20 problem polegał na tym, że /sbin/mount.vboxsfwskazywał na niewłaściwą lokalizację.

sudo ln -sf /opt/VBoxGuestAdditions-5.1.20/lib/VBoxGuestAdditions/mount.vboxsf /sbin/mount.vboxsf

naprawiłem to dla mnie


Nie jestem użytkownikiem Vagrant, ale miałem ten sam problem na gościu Fedory Core uruchomionym na hoście OSX. Myślę, że problem polega na tym, że zmieniono lokalizację mount.vboxsf, ale instalator łączy symbolicznie do starej lokalizacji.
Teddy

To jest potwierdzony błąd w dodatkach gości 5.1.20
Max Smolens 27.04.17


3

Wierzę, że jest to najbardziej zaktualizowane odpowiedź teraz i pracował dla mnie ( Guest Additions Version: 5.0.6, VirtualBox Version: 4.3.16, Ubuntu 14.04 LTS)

https://github.com/mitchellh/vagrant/issues/3341#issuecomment-144271026

Zasadniczo mówię:

Simple and Quick Solution for Failed to mount folders in Linux guest issue.

Add the following line to your Homestead/Vagrantfile:

config.vbguest.auto_update = false
Your Homestead/Vagrantfile should looks like this:

/...

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|

   # To avoid install and uninstall VBoxGuessAdditions during vagrant provisioning.
    config.vbguest.auto_update = false

.../
Save it and execute

$ vagrant destroy --force
$ vagrant up

3
Być może chcę zauważyć, że „włóczęgostwo niszczą” zdmuchuje twoją maszynę wirtualną ze wszystkim, co skonfigurowałeś / zainstalowałeś w niej, chyba że się mylę.
CargoMeister

To było dla mnie jedyne i najszybsze rozwiązanie. Wystąpiły problemy z obrazem „Virtual Ubxu Precision 64 VirtualBox” stąd . VirtualBox 5.1.2 i Vagrant 1.8.5 w systemie Windows.
Jamin

3

Na wszelki wypadek ten problem zdarzył się ze mną przy użyciu Vagrant 1.7.4 i VirtualBox 5.0.10 r104061, gdy udostępniono folder współdzielony /i utworzyłem symboliczne łącze do mojego folderu domowego. Coś takiego:

/folder
~/folder -> /folder

Najwyraźniej Vagrant nie zezwala na tę operację ze względów bezpieczeństwa i generuje opisany błąd.

Rozwiązałem go, udostępniając żądany folder bezpośrednio w moim katalogu domowym, takim jak /home/vagrant/folder.


1
Dziękuję bardzo. To był również mój problem.
Sarcastron

1
Prawidłowo, folder udostępniony w /jest również niedozwolony w mojej wersji Vagrant (1.8.1)
Amedee Van Gasse

2

W moim przypadku na wcześniej działającym obrazie Ubuntu 16.04 błąd zaczął się po zainstalowaniu vagrant-vbguest dla innego błędnego obrazu, a następnie uruchomieniu maszyny Wirtualnej Ubuntu. Zaktualizował dodatki gości do 5.1.20 i od tego czasu montowania zaczęły się nie udać. Zaktualizowałem pudełko, apt update + upgrade i to samo, vbguest zainstalowałby nowszą wersję 5.1.20.

Zostało to rozwiązane przez ręczne uruchomienie:

sudo apt-get update
sudo apt-get install virtualbox-guest-dkms 

A także wyłączenie: config.vbguest.auto_update = false dla tej maszyny wirtualnej (może nie być konieczne).


Miał dokładnie ten sam problem. Zignoruj ​​ostrzeżenie o niezgodnych wersjach gościa i hosta i włącz automatyczną aktualizację.
Henrik

1

(z mojego komentarza powyżej)

Podążając za problemem do jego korzeni: w szczególności część w komentarzach mówi:

wget https://www.virtualbox.org/download/testcase/VBoxGuestAdditions_4.3.11-93070.iso‌​ 
sudo cp VBoxGuestAdditions_4.3.11-93070.iso /Applications/VirtualBox.app/Contents/MacOS/VBoxGuestAdditions.iso

Po wykonaniu tej czynności mam jak zwykle interesy ze wszystkimi moimi maszynami wirtualnymi (i oczywiście ich aktualnymi plikami Vagrant)

Gdy musisz coś zrobić na świeżo utworzonej maszynie wirtualnej, aby działała, coś jest nie tak.


1
Jeśli jesteś na Linuksie, myślę, że musisz skopiować plik /usr/share/virtualbox/VBoxGuestAdditions.iso. Jednak tego nie przetestowałem!
tsusanka

1

W konfiguracji, w której Windows jest hostem, a Linux jest gościem, znalazłem rozwiązanie tego samego problemu w innym miejscu.

Tak więc znowu komunikat o błędzie był „Nie można zamontować folderów w systemie Linux gości. Zazwyczaj dzieje się tak, ponieważ system plików„ vboxsf ”jest niedostępny.” (...)

Było to spowodowane tym, że popełniłem błąd, robiąc dowiązanie symboliczne w systemie gościa z / vagrant do / home / vagrant / vagrant. Chodzi o to, że katalog / włóczęga jest normalnym katalogiem linuksa, który ma dowiązanie symboliczne (więc wszystko w porządku), ale podczas uruchamiania za pomocą „włóczęgi w górę” próbuje zamontować katalog systemu Windows w tym miejscu, a katalog systemu Windows nie może działać jako dowiązanie symboliczne. Host systemu Windows nie obsługuje linuksowych dowiązań symbolicznych.

Więc co możesz zrobić, to ssh do gościa, usunąć dowiązanie symboliczne, gdziekolwiek go masz, i ponownie załadować maszynę.

W mojej konfiguracji było to: Vagrant 1.7.2, VBoxGuestAdditions 4.3.28 i VBox 4.3.28.


1

Jest to rok 2017. Na wypadek, gdyby ktoś napotkał ten sam problem.

W przypadku bento / centos-6.7 otrzymywałem ten sam błąd. Zostało to rozwiązane poprzez dodanie wtyczki vagrant-vbguest (0.13.0). c:> vagrant plugin zainstaluj vagrant-vbguest

Adres URL skrzynki: http://opscode-vm-bento.s3.amazonaws.com/vagrant/virtualbox/opscode_centos-7.0_chef-provisionerless.box

Ta wersja centos-7 dawała mi ten sam błąd

Błąd:

==> build: Mounting shared folders...
    build: /vagrant => C:/projects/
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:

/sbin/mount.vboxsf: mounting failed with the error: No such device

Moja konfiguracja:

C:\projects>vagrant -v
Vagrant 1.9.1

C:\projects> vboxmanage -v
5.0.10r104061

C:\projects>vagrant plugin list
vagrant-cachier (1.2.1)
vagrant-hostmanager (1.8.5)
vagrant-hosts (2.8.0)
vagrant-omnibus (1.5.0)
vagrant-share (1.1.6, system)
vagrant-vbguest (0.13.0)
vagrant-vbox-snapshot (0.0.10)

Ponieważ mam już wtyczkę vagrant-vbguest, próbuje ona zaktualizować VBoxGuestAdditions w centos-7, gdy zobaczy inną wersję VBGuestAdditions zainstalowaną na hoście 5.0.10 i gościu 4.3.20.

Sprawdziłem nawet, czy istnieje dowiązanie symboliczne.

[root@build VBoxGuestAdditions]# ls -lrt /usr/lib
lrwxrwxrwx.  1 root root   53 Jan 14 12:06 VBoxGuestAdditions -> /opt/VBoxGuestAdditions-5.0.10/lib/VBoxGuestAdditions
[root@build VBoxGuestAdditions]# mount -t vboxsf -o uid=1000,gid=1000 vagrant /vagrant
/sbin/mount.vboxsf: mounting failed with the error: No such device

Nie działało to zgodnie z sugestią użytkownika 3006381

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

Rozwiązanie dla centos-7: podane przez psychok7 działało

Diabled autoupdate. config.vbguest.auto_update = false Następnie vagrant destroy --forceivagrant up

Wynik:

javareport: Guest Additions Version: 4.3.20
javareport: VirtualBox Version: 5.0
==> javareport: Setting hostname...
==> javareport: Configuring and enabling network interfaces...
==> javareport: Mounting shared folders...
javareport: /vagrant => C:/projects

C:\project>

Dla mnie to 2017 rok i nadal mam ten błąd. Twoja poprawka wygląda obiecująco. Spróbuję złożyć raport.
Eric Hepperle - CodeSlayer2010

1

do tej pory montaż działa na niektórych komputerach (ubuntu), a niektóre nie (centos 7), ale zainstalowanie wtyczki rozwiązuje to

vagrant plugin install vagrant-vbguest

bez konieczności robienia czegokolwiek innego, po prostu

vagrant reload

0

Twój dziennik narzeka na brak znalezienia eksportu: sudo: /usr/bin/exportfs: command not found

Exportfs udostępnia katalogi lokalne dla klientów NFS do zamontowania.


1
Rozwiązałem problem dotyczący sudo: /usr/bin/exportfs: command not foundustawienia dowiązania symbolicznego do rzeczywistej ścieżki za pomocą poleceniasudo ln -s /usr/sbin/exportfs /usr/bin/exportfs , jednak błąd związany z Failed to mount folders in Linux guestutrzymywaniem się nawet po tym.
Ek Kosmos

0

Wydaje się, że jest to spowodowane niekompatybilnością z wtyczką vbguest vagrant i najnowszą wersją wersji Vagrant. Próbuje zaktualizować dodatki gości, ale nie robi tego całkowicie / poprawnie.


2
Z tego, co widziałem, vagrant-vbguest poprawnie aktualizuje maszynę wirtualną do najnowszego (4.3.10) GuestAdditions - niestety najnowszy GuestAdditions ma błąd dla gości linuksowych.
iheggie,

0

Spróbuj jak to:

vagrant plugin install vagrant-vbguest

W Vagrantfile dodaj:

config.vbguest.iso_path = "http://download.virtualbox.org/virtualbox/VERSION/VBoxGuestAdditions_VERSION.iso"
config.vbguest.auto_update = false
config.vbguest.installer_arguments = %w{--nox11 -- --force}

Biegać:

vagrant vbguest --do install -f -b

vagrant reload

0

Uruchomiłem Vagrant z VirtualBox 5.1.X i musiałem obniżyć wersję VirtualBox 5.0.40 i zainstalować wtyczkę vbguest, aby rozwiązać ten problem.

Moje kroki to:

  • Odinstaluj VirtualBox 5.1.X
  • Zainstaluj Vagrant 5.0.40
  • Uruchom ponownie moją maszynę
  • Biegać vagrant up po mojego włóczęgę. To się nie powiedzie.
  • Biegać vagrant plugin install vagrant-vbguest podczas działania mojej maszyny wirtualnej, aby zainstalować plugawą wtyczkę. To zarządza synchronizacją wersji VirtualBox Guest między hostem a gościem.
  • Biegać vagrant reload aby ponownie załadować moją maszynę wirtualną
  • Magia!

-1

Kolejnym krokiem, który musiałem wykonać po wykonaniu pierwszej sugestii Kenziego, było uruchomienie mountpoleceń wymienionych w komunikacie o błędzie z sudopoziomu wiersza poleceń Ubuntu [Serwer 14.04]. Potem wszystko było już gotowe!


Zamiast tego należy biec vagrant reload.
Jerrod,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.