ข้อผิดพลาดของ Vagrant: ไม่สามารถเมาต์โฟลเดอร์ใน Linux guest


277

ฉันมีปัญหากับโฟลเดอร์แชร์ของ Vagrant ระบบพื้นฐานของฉันคือ Ubuntu 13.10 เดสก์ท็อป

ฉันไม่เข้าใจว่าทำไมฉันมีข้อผิดพลาดนี้เป็นสิ่งที่ไม่ได้กำหนดค่าใช่มั้ย ปัญหา NFS หรือการเพิ่มผู้เยี่ยมชม Virtualbox? ฉันได้ลองกับกล่องหลายกล่อง แต่ปัญหาเดียวกัน

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

นี่คือกระบวนการที่สมบูรณ์หลังจาก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

การกำหนดค่า Vagrantfile ของฉันคือ:

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

ไฟล์การตั้งค่าส่วนบุคคลคือ:

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

ปลั๊กอินต่อไปนี้เปิดใช้งานใน 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)

5.1.20ปัญหานี้ยังเกิดขึ้นกับฉันหลังจากที่ฉันอัปเดตกล่องเสมือน ชนิดนี้ทำให้ฉันกังวลทุกครั้งที่ฉันอัปเดต VM ของฉันเพราะนี่ไม่ใช่ครั้งแรก :(
GusDeCooL

@GusDeCooL คุณอาจปิดการอัปเดตอัตโนมัติของข้อมูลเพิ่มเติมจากผู้เยี่ยมชมด้วยconfig.vbguest.auto_update = falseใน Vagrantfile
Henrik

คำตอบ:


356

ปลั๊กอิน vagrant-vbguest แก้ไขปัญหาของฉัน:GitHub RubyGems

$ vagrant plugin install vagrant-vbguest

เอาท์พุท:

$ 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

เพียงตรวจสอบให้แน่ใจว่าคุณกำลังใช้งาน VirtualBox เวอร์ชันล่าสุด


ฉันใช้ปลั๊กอิน vagrant-vbguest แต่นี่ไม่ได้แก้ไขอะไรให้ฉันจนกว่าฉันจะอัปเดตเป็น VirtualBox-4.3.12-9
mkirk

5
นี่เป็นสิ่งเดียวที่แก้ไขได้สำหรับฉัน หลังจากที่ฉันทำสิ่งนี้แล้วแขก VboxAdditions ก็อัพเดตและจับคู่โฮสต์ของฉัน และทั้งหมดที่เราทำได้ดีโดยไม่ต้องผูกปม ฉันต้องรักษาเวอร์ชันเท่ากันทั้งแขกและโฮสต์ ขอบคุณสำหรับตัวชี้ @karlingen
Rixhers Ajazi

1
ฉันเริ่มมีปัญหานี้หลังจากติดตั้งปลั๊กอิน การถอนการติดตั้งจะไม่แก้ไขปัญหา
Yamiko

13
jee ฉันจะได้บันทึก googling ประมาณ 20 ชั่วโมงอีกครั้งตั้งค่าใหม่โดยการออกหนึ่งซับ ... ที่ "เพียงแค่ซื้อปุ่มเบียร์" ของคุณอยู่ที่ไหน ...
Yordan Georgiev

1
ระวังปลั๊กอินนี้อาจทำให้เกิดปัญหาที่เหมือนกันเกือบทุกอย่างถ้าคุณปล่อยไว้config.vbguest.auto_update = true(ค่าเริ่มต้น) github.com/dotless-de/vagrant-vbguest/issues/141
KCD

231

ฉันพบปัญหานี้แก้ไขได้ที่นี่ปัญหาคนจรจัด สองวิธีในการทำ:

  1. เปิดใช้งานกับผู้เยี่ยมชม (เช่นหลังจากคุณ ssh เป็น vbox ผ่านvagrant ssh)

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

    จากนั้นเรียกใช้vagrant reloadเพื่อติดตั้งโฟลเดอร์อย่างถูกต้อง

  2. ตามที่ @klang ชี้แจงให้อัปเดตไฟล์ VBoxGuestAdditions.iso บน 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
    

อัปเดต (16 พฤษภาคม 2557)

เนื่องจาก iso ไม่สามารถใช้งานได้อีกต่อไปคุณสามารถใช้ 4.3.12 ( http://dlc.sun.com.edgesuite.net/virtualbox/4.3.12/VBoxGuestAdditions_4.3.12.iso )

หมายเหตุ: ไบนารี vbox4.3.12 สำหรับ OS X ไม่สามารถใช้ได้ในขณะนี้


5
คุณอาจต้องโหลดคนจรจัดอีกครั้งหลังจากนั้นเพื่อติดตั้งโฟลเดอร์ที่แชร์อีกครั้ง
d4nt

3
ใครรู้วิธีรวมสิ่งนี้เป็นส่วนหนึ่งของ VagrantFile เพื่อให้สามารถดำเนินการก่อนที่จะติดตั้งไดรฟ์
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 .. หลังจากนั้นคุณมีธุรกิจตามปกติ
klang

5
ใช้Win 7กล่องที่มีVagrant 1.3.5และVirtualBox 4.3.10คำตอบ # 1 ไม่ได้ผลสำหรับฉัน ฉันยังคงได้รับunable to mount ...ข้อผิดพลาด
Kevin Meredith

3
การแก้ไขที่แนะนำเป็นตัวเลือกอย่างใดอย่างหนึ่งเช่นเดิมนี่ URL ไปยังไฟล์ ISO ในตัวเลือกที่สองไม่สามารถใช้งานได้อีกต่อไปและส่ง 404
colinhoernig

49

ฉันมาที่หน้านี้ในขณะที่มองหาข้อความแสดงข้อผิดพลาดเดียวกัน สำหรับฉันสาเหตุที่แตกต่าง: ฉันวิ่งyum updateบนระบบที่ติดตั้งเคอร์เนลใหม่ แขกเพิ่มเติมที่ล้าสมัยจึงไม่สามารถโหลดได้

ฉันสร้างมันขึ้นมาใหม่ด้วย

sudo /etc/init.d/vboxadd setup 

และvagrant reloadต่อมาแขกของฉันก็กลับมาทำงานอีกครั้ง

ฉันแค่เพิ่มที่นี่ในกรณีที่คนอื่นมาที่นี่แบบเดียวกับฉัน

แก้ไข (ต่อความคิดเห็นของ KCD):
เป็นไปได้ว่าคุณได้รับข้อผิดพลาดที่บอกว่า:

ไม่พบส่วนหัวสำหรับเคอร์เนลที่รันอยู่ในปัจจุบัน

สามารถแก้ไขได้โดยการติดตั้งkernel-devel( yum install kernel-devel)


3
ขอบคุณ ฉันลืมไปyum updateเลยว่า ฉันจะออกความคิดเห็นนี้เพื่ออนาคต Austin จะพบว่ามันเกิดขึ้นอีกครั้ง
austin

1
และฉันก็ทำการอัปเดต apt-get ใน Ubuntu โดยแสดงความคิดเห็นสำหรับ skift ในอนาคตเมื่อสิ่งนี้เกิดขึ้นอีกครั้ง :-)
skift

ปัจจุบันและอนาคตLoïcเพิ่งขอบคุณคุณ :) (ลืมฉันก็วิ่งyum updateด้วย)
Loïc m

มันอาจล้มเหลวในการพูดThe headers for the current running kernel were not foundและขอให้คุณyum install kernel-develทำงานได้
KCD

1
ฉันยังต้องติดตั้ง gcc เพื่อให้ใช้งานได้ สรุป: 1) yum install kernel-devel-$(uname -r) และ 2) yum install gcc; และในที่สุดก็ออกจาก VM vagrant reloadและทำ นี่คือกล่อง Centos 7 Vagrant (bento / centos-7.1)
JDS

29

แก้ไขทีละขั้นตอน:

หากคุณไม่มีปลั๊กอิน vbguest ให้ติดตั้ง:

$ vagrant plugin install vagrant-vbguest

เรียกใช้ Vagrant

มันแสดงข้อผิดพลาด

$ vagrant up

เข้าสู่ระบบบน VM

$ vagrant ssh

แก้ไข!

ในเกสต์ (บันทึกของ VM)

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

กลับไปที่โฮสต์โหลด Vagrant อีกครั้ง

$ vagrant reload

ฉันคิดว่านั่นเป็นทางออกที่ดีที่สุดและโปร่งใสที่สุด
Mateusz Odelga

วิธีนี้ใช้ได้ผล แต่กับ Fedora 22 ฉันต้องvagrant sshลงในช่องและทำsudo ln -s /etc/dnf/dnf.conf /etc/yum.confเพราะ Fedora เปลี่ยนจาก yum เป็น dnf ด้วยสิ่งต่าง ๆ ทำให้เสร็จ (ฉันคิดว่า!) ขอบคุณ @ dadaso
JZ

14

อัปเดตกุมภาพันธ์ 2559

ฉันใช้เวลาหลายชั่วโมงในการแก้ปัญหาด้วยตนเอง ใช่ปัญหานี้ยังคงมีอยู่เมื่อติดตั้ง Vagrant และ Virtual Box ล่าสุด:

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

อาการของฉันคือข้อความที่ชอบ:

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

ตามมาด้วยความล้มเหลวในการติดตั้งไดรฟ์ NFS

1) ติดตั้งvagrant-vbguestปลั๊กอิน

ขึ้นอยู่กับเวอร์ชั่นของ Vagrant ที่คุณกำลังใช้ใช้คำสั่งอย่างใดอย่างหนึ่งต่อไปนี้:

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

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

ถัดไปทำvagrant haltตามvagrant up- คุณยังมีปัญหา

2) ssh เข้าสู่แขกของคุณและตั้งค่าลิงค์อ่อนไปยังเวอร์ชั่นที่ถูกต้องของการเพิ่มของผู้เยี่ยมชม (ที่นี่ 5.0.14)

$ vagrant ssh

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

$ vagrant reload

คุณควรจะดีทั้งหมด โดยค่าเริ่มต้นไดรฟ์ที่เมาท์บนเกสต์จะอยู่ที่/vagrant

ความคิดเห็นสุดท้าย:

หากคุณยังคงมีปัญหาเกี่ยวกับการติดตั้งไดรฟ์ NFS นี่เป็นวิธีแก้ปัญหาที่เหมาะกับฉัน ฉันมีvagrantfileกับการกำหนดค่าบางอย่างเช่น:

เพียงแค่ลบข้อมูลประเภทเมานต์และลดการตั้งค่าmount_optionsเพื่อให้ทำงานได้อย่างเป็นสากล ตอนนี้ Vagrant จะเลือกตัวเลือกโฟลเดอร์ซิงค์ที่ดีที่สุดสำหรับสภาพแวดล้อมของคุณโดยอัตโนมัติ


2
ขอบคุณสำหรับสิ่งนี้ ... การกำหนดค่าของคุณvagrantfileหายไปก่อนหน้าย่อหน้าสุดท้าย - มีโอกาสที่คุณจะสามารถเพิ่มกลับได้ไหม?
Phil Gyford

สิ่งนี้ยังใช้ไม่ได้สำหรับฉัน ฉันดาวน์โหลด Vagrant ใหม่ vboxmanage แสดงเวอร์ชันด้านบนแล้ว ซอฟต์ลิงค์ที่ OP แนะนำมีอยู่แล้ว
Tony Ennis

1
Vagrantfile ของคุณตั้งอยู่ที่ไหน มันหายไปจากคำตอบของคุณ
Aboelseoud


6

ฉันประสบปัญหาเดียวกันกับ Centos 7 ฉันถือว่าเนื่องจากเคอร์เนลที่ล้าสมัยร่วมกับ VirtualBox เวอร์ชันที่ปรับปรุงแล้ว จากการอัปเดตของ Blizz นี่คือสิ่งที่ใช้ได้กับฉัน (ปลั๊กอิน vagrant-vbguest ติดตั้งแล้ว):

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

5

สำหรับฉันด้วย VBoxGuestAdditions 5.1.20 ปัญหาคือ/sbin/mount.vboxsfชี้ไปที่ตำแหน่งที่ไม่ถูกต้อง

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

แก้ไขให้ฉัน


ฉันไม่ใช่ผู้ใช้ Vagrant แต่ฉันมีปัญหาเดียวกันนี้ในผู้ใช้ Fedora Core ที่ทำงานบนโฮสต์ OSX ฉันคิดว่าปัญหาคือตำแหน่งของmount.vboxsfมีการเปลี่ยนแปลง แต่ตัวติดตั้งกำลังเชื่อมโยงกับตำแหน่งเดิม
ตุ๊กตา

นี่เป็นข้อผิดพลาดที่ได้รับการยืนยันในการเพิ่มของผู้เยี่ยมชม 5.1.20: virtualbox.org/ticket/16670
Max Smolens

4

ดังที่กล่าวไว้ในปัญหา Vagrant # 3341นี่เป็นข้อผิดพลาด Virtualbox # 12879#

มันมีผลกับ VirtualBox 4.3.10 เท่านั้นและได้รับการแก้ไขอย่างสมบูรณ์ใน 4.3.12


นี่คือสิ่งที่ฉันทำเพราะพวกเขาได้ลบลิงก์ดาวน์โหลดนั้นแล้ว
Pat K

1
โปรดทราบว่าข้อผิดพลาดนี้ได้รับการแก้ไขใน VirtualBox 4.3.12
bbrame

5
ฉันมีข้อผิดพลาดเดียวกันใน VirtualBox 4.3.26
terbooter

4
4.3.28 สำหรับฉันและปัญหาเดียวกัน
Adam Parkin

5.0.14r105127 สำหรับฉันและปัญหาเดียวกัน
Philip Pryde

3

ผมเชื่อว่านี่เป็นคำตอบที่ปรับปรุงมากที่สุดในขณะนี้และจะทำงานให้ฉัน ( Guest Additions Version: 5.0.6, VirtualBox Version: 4.3.16,Ubuntu 14.04 LTS )

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

โดยทั่วไปฉันพูดว่า:

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
อาจต้องการที่จะทราบว่า 'คนพเนจรทำลาย' พัด VM ของคุณไปด้วยสิ่งใดก็ตามที่คุณได้กำหนดค่า / ติดตั้งไว้ภายในยกเว้นว่าฉันเข้าใจผิด
CargoMeister

นี่เป็นทางออกเดียวและเร็วที่สุดสำหรับฉัน ก็มีปัญหาใน "อูบุนตูที่แม่นยำ 64 VirtualBox" ภาพจากที่นี่ VirtualBox 5.1.2 และ Vagrant 1.8.5 บน Windows
Jamin

3

สำหรับการอ้างอิงในอนาคตปัญหานี้เกิดขึ้นกับฉันโดยใช้ Vagrant 1.7.4 และ VirtualBox 5.0.10 r104061 เมื่อฉันจัดเตรียมโฟลเดอร์แชร์ใน/และสร้างลิงก์สัญลักษณ์ไปยังโฟลเดอร์บ้านของฉัน บางสิ่งเช่นนี้

/folder
~/folder -> /folder

เห็นได้ชัดว่าการดำเนินการนี้ไม่ได้รับอนุญาตจาก Vagrant เนื่องจากวัตถุประสงค์ด้านความปลอดภัยและส่งข้อผิดพลาดที่อธิบายไว้

/home/vagrant/folderฉันจะแก้ไขได้โดยการจัดเตรียมโฟลเดอร์ที่ต้องการได้โดยตรงไปยังไดเรกทอรีบ้านของฉันเช่น


1
ขอบคุณมาก. นี่คือปัญหาของฉันเช่นกัน
Sarcastron

1
ถูกต้อง/ไม่อนุญาตให้ใช้โฟลเดอร์ที่แชร์ในเวอร์ชัน Vagrant ของฉัน (1.8.1)
Amedee Van Gasse

2

ในกรณีของฉันในอิมเมจ 16.04 ที่ใช้งานได้ก่อนหน้านี้ข้อผิดพลาดเริ่มต้นหลังจากติดตั้ง vagrant-vbguest สำหรับอิมเมจคนละคนและจากนั้นเริ่ม Ubuntu VM มันอัพเกรดการเพิ่มเติมของผู้เยี่ยมชมเป็น 5.1.20 และตั้งแต่นั้นการเมาต์เริ่มต้นล้มเหลว อัปเดตกล่อง, apt update + upgrade และรุ่นเดียวกัน, vbguest จะติดตั้งเวอร์ชัน 5.1.20 ที่ใหม่กว่า

มันแก้ไขได้ด้วยการรันด้วยตนเอง:

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

และปิดใช้งาน: config.vbguest.auto_update = false สำหรับ VM นี้ (อาจไม่จำเป็น)


มีปัญหาเดียวกันอย่างแน่นอน ละเว้นคำเตือนเกี่ยวกับการไม่จับคู่แขกและโฮสต์และจับคู่อัปเดตอัตโนมัติ
Henrik

1

(จากความคิดเห็นของฉันด้านบน)

การติดตามปัญหาไปยังรากของมัน: โดยเฉพาะส่วนในความคิดเห็นที่กล่าวถึงนี้:

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

หลังจากทำเช่นนั้นฉันมีธุรกิจตามปกติกับเครื่องเสมือนทั้งหมดของฉัน (และแน่นอนว่า Vagrantfiles ปัจจุบันของพวกเขา)

เมื่อคุณต้องทำบางสิ่งในเครื่องเสมือนที่สร้างขึ้นใหม่เพื่อให้ทำงานได้บางอย่างผิดปกติ


1
/usr/share/virtualbox/VBoxGuestAdditions.isoในกรณีที่คุณอยู่บนลินุกซ์ผมคิดว่าคุณต้องคัดลอกไฟล์ไปยัง อย่างไรก็ตามฉันไม่ได้ทดสอบ!
tsusanka

1

ในการกำหนดค่าที่ windows เป็นโฮสต์และ linux เป็นแขกฉันพบวิธีแก้ปัญหาเดียวกันในที่อื่น

ดังนั้นอีกครั้งข้อผิดพลาดคือ"ล้มเหลวในการติดตั้งโฟลเดอร์ใน Linux แขกซึ่งมักจะเป็นเพราะระบบไฟล์" vboxsf "ไม่สามารถใช้ได้ ( ... )

สิ่งนี้เกิดขึ้นเพราะฉันทำผิดโดยการเชื่อมโยง symlink ในระบบแขกจาก / คนจรจัดเข้าสู่ / บ้าน / คนจรจัด / คนจรจัด ประเด็นก็คือว่าไดเรกทอรี / คนจรจัดเป็นไดเรกทอรีปกติของลินุกซ์ที่มี symlink (ดังนั้นก็โอเค) แต่เมื่อบูตโดย "คนจรจัดขึ้น" มันพยายามที่จะติดตั้งไดเรกทอรี windows ในสถานที่นั้นและไดเรกทอรี windows ไม่สามารถทำงานได้เป็น symlink โฮสต์ของ Windows ไม่รองรับ symlink ของ linux

ดังนั้นสิ่งที่คุณสามารถทำได้คือการเข้าสู่แขกลบ symlink ทุกที่ที่คุณมีและโหลดเครื่องใหม่

ในการกำหนดค่าของฉันมันคือ: Vagrant 1.7.2, VBoxGuestAdditions 4.3.28 และ VBox 4.3.28


1

นี่คือ 2017 ในกรณีที่มีคนเผชิญปัญหาเดียวกัน

สำหรับ bento / centos-6.7 ฉันได้รับข้อผิดพลาดเดียวกัน แก้ไขได้ด้วยการเพิ่ม plugin vagrant-vbguest (0.13.0) c:> ปลั๊กอินคนจรจัดติดตั้ง vagrant-vbguest

ช่อง URL: http://opscode-vm-bento.s3.amazonaws.com/vagrant/virtualbox/opscode_centos-7.0_chef-provisionerless.box

รุ่น CentOS-7 นี้ทำให้ฉันมีข้อผิดพลาดเดียวกัน

ข้อผิดพลาด:

==> 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:\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)

เนื่องจากฉันมีปลั๊กอิน vagrant-vbguest อยู่แล้วจึงพยายามอัปเดต VBoxGuestAdditions ใน centos-7 เมื่อเห็น VBGuestAdditions รุ่นต่าง ๆ ถูกติดตั้งใน Host 5.0.10 และแขก 4.3.20

ฉันยังตรวจสอบลิงค์สัญลักษณ์ว่ามีอยู่จริง

[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

สิ่งนี้ไม่ทำงานตามที่แนะนำโดย user3006381

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

ทางออกสำหรับ centos-7: ตามที่กำหนดโดย psychok7 ทำงาน

อัปเดตอัตโนมัติถูกปิดใช้งาน config.vbguest.auto_update = false จากนั้นvagrant destroy --forceและvagrant up

ผลลัพธ์:

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>

มันเป็นปี 2017 สำหรับฉันและยังคงมีข้อผิดพลาดนี้ การแก้ไขของคุณดูมีแนวโน้ม ฉันจะลองและรายงานกลับ
Eric Hepperle - CodeSlayer2010

1

ตอนนี้การติดตั้งใช้งานได้กับเครื่องบางรุ่น (Ubuntu) และบางตัวไม่ได้ (centos 7) แต่การติดตั้งปลั๊กอินจะแก้ปัญหาได้

vagrant plugin install vagrant-vbguest

โดยไม่ต้องทำอะไรเลยนอกจากนั้นเพียงแค่

vagrant reload

0

บันทึกของคุณบ่นว่าไม่พบ exportfs: sudo: /usr/bin/exportfs: command not found

exportfs ทำให้โลคัลไดเร็กทอรีพร้อมใช้งานสำหรับไคลเอ็นต์ NFS เพื่อเมาต์


1
ฉันได้แก้ไขปัญหาที่เกี่ยวข้องsudo: /usr/bin/exportfs: command not foundด้วยการตั้งค่า symlink ให้เป็นเส้นทางจริงโดยใช้คำสั่งsudo ln -s /usr/sbin/exportfs /usr/bin/exportfsอย่างไรก็ตามข้อผิดพลาดเกี่ยวกับการFailed to mount folders in Linux guestคงอยู่แม้หลังจากนี้
Ek Kosmos

0

สิ่งนี้ดูเหมือนจะเกิดจากความไม่เข้ากันกับปลั๊กอิน vbguest และเวอร์ชั่นล่าสุดของคนเร่ร่อน กำลังพยายามอัปเดตข้อมูลเพิ่มเติมของแขกและไม่สามารถทำอย่างสมบูรณ์ / เหมาะสม


2
จากสิ่งที่ฉันได้เห็น Vagrant-vbguest อัปเดต VM อย่างถูกต้องไปเป็น GuestAdditions ล่าสุด (4.3.10) - น่าเสียดายที่ GuestAdditions ล่าสุดมีข้อบกพร่องสำหรับแขกของ linux
iheggie

0

ลองมัน:

vagrant plugin install vagrant-vbguest

ใน Vagrantfile เพิ่ม:

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}

วิ่ง:

vagrant vbguest --do install -f -b

vagrant reload

0

ฉันใช้ Vagrant กับ VirtualBox 5.1.X และต้องลดระดับเป็น VirtualBox 5.0.40 และติดตั้งปลั๊กอิน vbguest เพื่อแก้ปัญหานี้

ขั้นตอนของฉันคือ:

  • ถอนการติดตั้ง VirtualBox 5.1.X
  • ติดตั้ง Vagrant 5.0.40
  • รีบูตเครื่องของฉัน
  • วิ่ง vagrant upสำหรับคนจรจัดของฉัน มันจะล้มเหลว
  • วิ่ง vagrant plugin install vagrant-vbguestในขณะที่ VM ของฉันกำลังทำงานเพื่อติดตั้งปลั๊กอินคนจรจัด สิ่งนี้จัดการการซิงค์เวอร์ชัน VirtualBox Guest ระหว่างโฮสต์และแขก
  • วิ่ง vagrant reloadโหลดเครื่องเสมือนของฉันใหม่
  • มายากล!

-1

อีกหนึ่งขั้นตอนที่ฉันต้องทำหลังจากทำตามคำแนะนำแรกที่kenzieทำคือเรียกใช้mountคำสั่งที่แสดงในข้อความข้อผิดพลาดด้วยsudoจากบรรทัดคำสั่ง Ubuntu [14.04 เซิร์ฟเวอร์] หลังจากนั้นทุกอย่างก็ดีไป!


ควรจะวิ่งvagrant reloadแทน
Jerrod
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.