Lỗi Vagrant: Không thể gắn kết các thư mục trong Linux khách


277

Tôi có một số vấn đề với các thư mục chia sẻ Vagrant, hệ thống cơ sở của tôi là máy tính để bàn Ubuntu 13.10.

Tôi không hiểu tại sao tôi có lỗi này là một cái gì đó không được cấu hình đúng? Là một vấn đề NFS hoặc Virtualbox Guest Additions? Tôi đã thử với nhiều hộp khác nhau nhưng cùng một vấn đề.

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

Đây là quá trình hoàn chỉnh sau 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

Cấu hình Vagrantfile của tôi là:

# -*- 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

Tệp Cá nhân hóa là:

# 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"

Các plugin sau được bật trong Vagrant:

$ 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)

vấn đề này cũng xảy ra với tôi sau khi tôi cập nhật hộp ảo 5.1.20. Kiểu này làm tôi lo lắng mỗi khi tôi cập nhật VM vì đây không phải là lần đầu tiên :(
GusDeCooL

@GusDeCooL bạn có thể tắt cập nhật tự động các bổ sung của khách config.vbguest.auto_update = falsetrong Vagrantfile
Henrik

Câu trả lời:


356

Plugin vagrant-vbguest đã giải quyết vấn đề của tôi:GitHub RubyGems

$ vagrant plugin install vagrant-vbguest

Đầu ra:

$ 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

Chỉ cần đảm bảo rằng bạn đang chạy phiên bản VirtualBox mới nhất


Tôi đang sử dụng plugin vagrant-vbguest, nhưng điều này không khắc phục được gì cho đến khi tôi cập nhật lên VirtualBox-4.3.12-9.
mkirk

5
Đây là điều duy nhất đã sửa nó cho tôi. Sau khi tôi làm điều này thì VboxAdditions của khách đã cập nhật và khớp với máy chủ của tôi. Và tất cả chúng ta tốt mà không gặp một trở ngại. Tôi chỉ phải duy trì các phiên bản bằng nhau trên cả khách và chủ nhà. Cảm ơn con trỏ @karlingen
Rixhers Ajazi

1
Tôi bắt đầu gặp vấn đề này sau khi cài đặt plugin. gỡ cài đặt nó không khắc phục vấn đề.
Yamiko

13
jee Tôi đã tiết kiệm được khoảng 20 giờ để làm quen, cấu hình lại, v.v. bằng cách phát hành chính nó một lần ... Trường hợp của bạn "chỉ cần mua cho tôi một nút bia" ...
Yordan Georgiev

1
Coi chừng, plugin này có thể gây ra sự cố gần như giống hệt nhau nếu bạn để nó config.vbguest.auto_update = true(mặc định) github.com/dotless-de/vagrant-vbguest/issues/141
KCD

231

Tôi tìm thấy vấn đề này được giải quyết ở đây các vấn đề mơ hồ. Hai cách để làm điều đó:

  1. Chạy cái này trên máy khách (tức là sau khi bạn ssh vào vbox qua vagrant ssh )

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

    Sau đó chạy vagrant reloadđể gắn chính xác các thư mục.

  2. Như @klang đã chỉ ra, hãy cập nhật tệp VBoxGuestAdditions.iso trên máy mac của bạn:

    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
    

CẬP NHẬT (16 tháng 4 năm 2014)

Vì iso không còn nữa, bạn có thể sử dụng 4.3.12 ( http://dlc.sun.com.edgesuite.net/virtualbox/4.3.12/VBoxGuestAdditions_4.3.12.iso )

lưu ý: vbox4.3.12 nhị phân cho os X không có sẵn tại thời điểm này


5
Bạn có thể chỉ cần thực hiện tải lại một cách mơ hồ sau đó để gắn lại các thư mục được chia sẻ
d4nt

3
Bất cứ ai cũng biết một cách để bao gồm điều này như là một phần của VagrantFile để nó thực thi trước khi gắn các ổ đĩa?
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 .. sau đó, bạn có công việc như bình thường.
klang

5
Sử dụng một Win 7hộp với Vagrant 1.3.5VirtualBox 4.3.10, câu trả lời số 1 không hiệu quả với tôi. Tôi vẫn nhận được unable to mount ...lỗi
Kevin Meredith

3
Các sửa chữa được đề nghị là tùy chọn một, như ban đầu được đăng ở đây . URL tới tệp ISO trong tùy chọn hai không còn hợp lệ và ném 404.
colinhoernig

49

Tôi đến trang này trong khi tìm kiếm thông báo lỗi tương tự. Đối với tôi nguyên nhân là khác nhau: Tôi đã chạy một yum updatehệ thống đã cài đặt kernel mới. Khách bổ sung nơi hết hạn để không thể tải chúng.

Tôi xây dựng lại chúng với

sudo /etc/init.d/vboxadd setup 

vagrant reloadsau đó khách của tôi đã lên và chạy lại.

Tôi chỉ thêm nó ở đây trong trường hợp người khác đến đây giống như tôi đã làm.

Chỉnh sửa (Nhận xét của mỗi KCD):
Có thể bạn gặp lỗi khi nói:

Không tìm thấy các tiêu đề cho kernel đang chạy

Điều này có thể được giải quyết bằng cách cài đặt kernel-devel( yum install kernel-devel)


3
Cảm ơn. Tôi quên rằng tôi đã chạy a yum update. Tôi sẽ để lại bình luận này để Tương lai Austin sẽ tìm thấy nó khi điều này xảy ra một lần nữa.
austin

1
Và tôi đã chạy bản cập nhật apt-get trong Ubuntu, để lại một bình luận cho skift trong tương lai khi điều này xảy ra một lần nữa :-)
skift

Loïc hiện tại và tương lai chỉ cảm ơn bạn :) (quên tôi đã chạy yum updatequá)
loïc m.

Nó có thể không nói The headers for the current running kernel were not foundvà yêu cầu bạn yum install kernel-devellàm việc gì
KCD

1
Tôi cũng đã phải cài đặt gcc để làm việc này. Tổng hợp: 1) yum install kernel-devel-$(uname -r) và 2) yum install gcc; và cuối cùng, thoát VM và làm vagrant reload. Đây là trên hộp Centos 7 Vagrant (bento / centos-7.1)
JDS

29

Sửa từng bước:

Nếu bạn không có plugin vbguest, hãy cài đặt nó:

$ vagrant plugin install vagrant-vbguest

Chạy Vagrant

Đó là một lỗi.

$ vagrant up

Đăng nhập vào VM

$ vagrant ssh

Sửa chữa!

Trong khách (VM đăng nhập).

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

Trở lại máy chủ, tải lại Vagrant

$ vagrant reload

Tôi nghĩ đó là giải pháp tốt nhất và minh bạch nhất
Mateusz Odelga

Điều này đã làm việc, nhưng với Fedora 22 tôi phải vagrant sshvào hộp và làm sudo ln -s /etc/dnf/dnf.conf /etc/yum.conf, khi Fedora chuyển từ yum sang dnf. Cùng với đó, mọi thứ chạy đến hoàn thành (tôi nghĩ vậy!). Cảm ơn @dadaso.
JZ

14

Cập nhật tháng 2 năm 2016

Điều này khiến tôi mất hàng giờ để giải quyết độc lập. Có, sự cố này vẫn tồn tại với các bản cài đặt Vagrant và Virtual Box mới nhất:

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

Các triệu chứng đối với tôi là những thông điệp như:

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

theo sau là lỗi gắn ổ đĩa NFS.

1). Cài đặt vagrant-vbguestplugin.

Tùy thuộc vào phiên bản Vagrant bạn đang sử dụng, hãy đưa ra một trong các lệnh sau:

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

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

Tiếp theo, làm vagrant halt, tiếp theo vagrant up- rất có thể bạn vẫn có vấn đề.

2). ssh vào khách của bạn và thiết lập một liên kết mềm đến phiên bản chính xác của Bổ sung khách (ở đây, 5.0,14).

$ vagrant ssh

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

$ vagrant reload

Bạn nên được tất cả tốt. Theo mặc định, ổ đĩa gắn trên máy khách là tại/vagrant

Nhận xét cuối cùng:

NẾU bạn vẫn có vấn đề liên quan đến việc gắn ổ đĩa NFS, thì đây là một cách giải quyết phù hợp với tôi. Tôi đã có mộtvagrantfile cấu hình với cái gì đó như:

Chỉ cần xóa thông tin loại gắn kết và giảm các cài đặt mount_options để chúng hoạt động phổ biến. Vagrant giờ sẽ tự động chọn tùy chọn thư mục được đồng bộ hóa tốt nhất cho môi trường của bạn.


2
Cảm ơn vì điều này ... vagrantfilecấu hình của bạn bị thiếu, ngay trước đoạn cuối cùng - bất kỳ cơ hội nào bạn có thể thêm lại?
Phil Gyford

Điều này vẫn không làm việc cho tôi. Tôi đã tải xuống một Vagrant mới. vboxmanage đã hiển thị phiên bản trên. Liên kết mềm mà OP khuyến nghị đã có sẵn.
Tony Enni

1
Cấu hình Vagrantfile của bạn ở đâu? Nó thiếu từ câu trả lời của bạn.
Aboelseoud

12

Cài đặt plugin vagrant-vbguest bằng cách chạy lệnh này:

vagrant plugin install vagrant-vbguest

6

Tôi gặp vấn đề tương tự với Centos 7, tôi cho rằng do một hạt nhân lỗi thời kết hợp với một phiên bản cập nhật của VirtualBox. Dựa trên bản cập nhật của Blizz, đây là những gì hiệu quả với tôi (plugin vagrant-vbguest đã được cài đặt):

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

5

Đối với tôi, với VBoxGuestAdditions 5.1.20, vấn đề là /sbin/mount.vboxsfchỉ vào vị trí sai.

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

sửa nó cho tôi


Tôi không phải là người dùng Vagrant, nhưng tôi cũng gặp vấn đề tương tự với khách Fedora Core đang chạy trên Máy chủ OSX. Tôi nghĩ vấn đề là vị trí của mount.vboxsfđã được thay đổi, nhưng trình cài đặt đang liên kết với vị trí cũ.
Teddy

Đây là một lỗi đã được xác nhận trong các bổ sung của khách 5.1.20: virtualbox.org/ticket/16670
Max Smolens

4

Như đã đề cập trong vấn đề Vagrant # 3341, đây là lỗi Virtualbox # 12879 .

Nó chỉ ảnh hưởng đến VirtualBox 4.3.10 và đã được sửa hoàn toàn trong 4.3.12.


đó là những gì tôi đang làm kể từ khi họ gỡ xuống liên kết tải xuống đó
Pat K

1
Lưu ý rằng lỗi này đã được sửa trong VirtualBox 4.3.12.
bbrame 20/03/2015

5
Tôi có chính xác lỗi tương tự trong VirtualBox 4.3.26
terbooter

4
4.3.28 cho tôi, và cùng một vấn đề.
Adam Parkin

5.0,14r105127 đối với tôi và cùng một vấn đề
Philip Pryde

3

Tôi tin rằng đây là câu trả lời mới nhất hiện nay và nó làm việc cho tôi ( Guest Additions Version: 5.0.6, VirtualBox Version: 4.3.16, Ubuntu 14.04 LTS)

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

Về cơ bản tôi nói:

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
Có thể muốn lưu ý rằng 'phá hủy mơ hồ' sẽ thổi bay VM của bạn, với bất cứ thứ gì bạn đã cấu hình / cài đặt bên trong nó, trừ khi tôi nhầm.
CargoMeister

Đây là giải pháp duy nhất và nhanh nhất cho tôi. Đã có vấn đề về hình ảnh "Ubuntu chính xác 64 VirtualBox" từ đây . VirtualBox 5.1.2 và Vagrant 1.8.5 trên Windows.
Jamin

3

Chỉ để tham khảo trong tương lai, vấn đề này đã xảy ra với tôi, sử dụng Vagrant 1.7.4 và VirtualBox 5.0.10 r104061, khi tôi cung cấp một thư mục dùng chung /và tạo một liên kết tượng trưng đến thư mục nhà của tôi. Một cái gì đó như thế này:

/folder
~/folder -> /folder

Rõ ràng, hoạt động này không được Vagrant cho phép do mục đích bảo mật và ném lỗi được mô tả.

Tôi đã giải quyết nó bằng cách cung cấp thư mục mong muốn trực tiếp vào thư mục nhà của tôi, chẳng hạn như /home/vagrant/folder.


1
Cảm ơn bạn rất nhiều. Đây là vấn đề của tôi là tốt.
Sarcastron

1
Chính xác, một thư mục chia sẻ trong /cũng không được phép trong phiên bản Vagrant của tôi (1.8.1)
Amedee Van Gasse

2

Trong trường hợp của tôi trên một hình ảnh Ubuntu 16.04 đang hoạt động trước đó, lỗi bắt đầu sau khi cài đặt vagrant-vbguest cho một hình ảnh mơ hồ khác, và sau đó khởi động Ubuntu VM. Nó đã nâng cấp các bổ sung của khách lên 5.1.20, và kể từ đó các thú cưỡi bắt đầu thất bại. Đã cập nhật hộp, cập nhật apt + nâng cấp và tương tự, vbguest sẽ cài đặt phiên bản 5.1.20 mới hơn.

Nó đã được giải quyết bằng cách chạy thủ công:

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

Và cũng vô hiệu hóa: config.vbguest.auto_update = false cho VM này (có thể không cần thiết).


Đã có chính xác cùng một vấn đề. Bỏ qua cảnh báo về việc không phù hợp với các phiên bản của khách và máy chủ lưu trữ và lần lượt cập nhật tự động.
Henrik

1

(từ nhận xét của tôi ở trên)

Theo dõi vấn đề gốc rễ của nó: đặc biệt là phần trong các bình luận nói điều này:

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

Sau khi làm điều đó, tôi có công việc như bình thường với tất cả các máy ảo của mình (và tất nhiên cả Vagrantfiles của họ)

Khi bạn phải làm một cái gì đó trong một máy ảo mới được tạo, để làm cho nó hoạt động, có gì đó không ổn.


1
Trong trường hợp bạn đang dùng linux, tôi đoán bạn phải sao chép tập tin vào /usr/share/virtualbox/VBoxGuestAdditions.iso. Tuy nhiên tôi đã không kiểm tra nó!
tsusanka

1

Trong cấu hình nơi windows là máy chủ lưu trữ và linux là khách tôi đã tìm thấy giải pháp cho cùng một vấn đề ở nơi khác.

Vì vậy, một lần nữa, thông báo lỗi là "Không thể gắn kết các thư mục trong máy khách Linux. Điều này thường là do hệ thống tệp" vboxsf "không khả dụng." (...)

Điều này được gây ra bởi vì tôi đã phạm sai lầm khi thực hiện symlink bên trong hệ thống khách từ / vagrant vào / home / vagrant / vagrant. Vấn đề là, thư mục / vagrant là một thư mục linux bình thường có symlink (vì vậy tất cả đều ổn), nhưng khi khởi động bằng "vagrant up", nó cố gắng gắn thư mục windows vào vị trí đó và thư mục windows không thể hoạt động như một liên kết tượng trưng. Máy chủ Windows không hỗ trợ symlink linux.

Vì vậy, những gì bạn có thể làm sau đó, là ssh thành khách, xóa liên kết tượng trưng bất cứ nơi nào bạn có và tải lại máy.

Trong cấu hình của tôi, đó là: Vagrant 1.7.2, VBoxGuestAdditions 4.3.28 và VBox 4.3.28.


1

Đây là năm 2017. Chỉ trong trường hợp ai đó phải đối mặt với cùng một vấn đề.

Đối với bento / centos-6.7, tôi cũng gặp lỗi tương tự. Điều đó đã được giải quyết bằng cách thêm plugin vagrant-vbguest (0.13.0). c:> plugin vagrant cài đặt vagrant-vbguest

Url hộp: http://opscode-vm-bento.s3.amazonaws.com/vagrant/virtualbox/opscode_centos-7.0_chef-provisionerless.box

Phiên bản centos-7 này đã cho tôi lỗi tương tự

Lỗi:

==> 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

Cấu hình của tôi:

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)

Vì tôi đã có plugin vagrant-vbguest, nên nó cố cập nhật VBoxGuestAdditions trong centos-7 khi thấy phiên bản VBGuestAdditions khác nhau được cài đặt trong Host 5.0.10 và khách 4.3.20.

Tôi thậm chí đã kiểm tra liên kết tượng trưng tồn tại.

[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

Điều này không hoạt động như đề xuất của user3006381

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

Giải pháp cho centos-7: được đưa ra bởi psychok7 đã hoạt động

Tự động cắt xén. config.vbguest.auto_update = false Sau đó vagrant destroy --forcevagrant up

Kết quả:

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>

Đó là năm 2017 đối với tôi và vẫn có lỗi này. Sửa chữa của bạn trông đầy hứa hẹn. Tôi sẽ thử và báo cáo lại.
Eric Hepperle - CodeSlayer2010

1

bây giờ việc gắn kết hoạt động trên một số máy (ubfox) và một số không (centos 7) nhưng cài đặt plugin sẽ giải quyết nó

vagrant plugin install vagrant-vbguest

mà không phải làm bất cứ điều gì khác trên đó, chỉ cần

vagrant reload

0

Nhật ký của bạn phàn nàn về việc không tìm thấy exportfs: sudo: /usr/bin/exportfs: command not found

Các exportfs làm cho các thư mục cục bộ có sẵn cho các máy khách NFS để gắn kết.


1
Tôi đã khắc phục sự cố liên quan sudo: /usr/bin/exportfs: command not foundbằng cách đặt liên kết tượng trưng thành đường dẫn thực bằng cách sử dụng lệnh sudo ln -s /usr/sbin/exportfs /usr/bin/exportfs, tuy nhiên lỗi Failed to mount folders in Linux guestvẫn tồn tại ngay cả sau đó.
Ek Kosmos

0

Điều này có vẻ là do sự không tương thích với plugin vbguest vagrant và phiên bản mới nhất của vagrant. Nó đang cố gắng cập nhật các bổ sung của khách và không thực hiện được hoàn toàn / đúng cách.


2
Từ những gì tôi đã thấy, vagrant-vbguest đang cập nhật chính xác VM lên GuestAdditions mới nhất (4.3.10) - không may là GuestAdditions mới nhất có lỗi cho khách linux.
iheggie

0

Hãy thử như thế:

vagrant plugin install vagrant-vbguest

Trong Vagrantfile thêm:

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}

Chạy:

vagrant vbguest --do install -f -b

vagrant reload

0

Tôi đã chạy Vagrant với VirtualBox 5.1.X và phải hạ cấp xuống VirtualBox 5.0.40 và cài đặt plugin vbguest để giải quyết vấn đề này.

Các bước của tôi là:

  • Gỡ cài đặt VirtualBox 5.1.X
  • Cài đặt Vagrant 5.0.40
  • Khởi động lại máy của tôi
  • Chạy vagrant upcho tôi mơ hồ. Nó sẽ thất bại.
  • Chạy vagrant plugin install vagrant-vbguesttrong khi VM của tôi đang chạy, để cài đặt plugin mơ hồ. Điều này quản lý đồng bộ hóa các phiên bản VirtualBox Guest giữa máy chủ và khách.
  • Chạy vagrant reloadđể tải lại máy ảo của tôi
  • Ma thuật!

-1

Một bước nữa tôi phải hoàn thành sau khi làm theo gợi ý đầu tiên mà kenzie đưa ra là chạy các mountlệnh được liệt kê trong thông báo lỗi với sudotừ dòng lệnh Ubuntu [14.04 Server]. Sau đó, mọi thứ đều tốt để đi!


Thay vào đó nên chạy vagrant reload.
Jerrod
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.