2017-01-23 64 views
4

我有以下错误:流浪汉 - 我如何安装virtualbox共享文件夹? (“vboxsf”不可用)

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:

id -u vagrant

The error output from the command was:

id: 'vagrant': no such user

所以我试图寻找关于解决方案。我看到很多人说需要一个特殊的vbguest vagrant插件,然后运行vagrant并在ssh中添加vbguest应该被修改。

所以,我做以下步骤:

$ vagrant plugin install vagrant-vbguest 这就增加了插件:

Installing the 'vagrant-vbguest' plugin. This can take a few minutes... Installed the plugin 'vagrant-vbguest (0.13.0)'!

$ vagrant up

$ vagrant ssh

$ sudo ln -s /opt/VBoxGuestAdditions-4.3.10/lib/VBoxGuestAdditions /usr/lib/VBoxGuestAdditions 这不会打印出任何消息,所以我认为这是正确的。 然后我重新加载了流浪汉。

$ vagrant reload 

而且我不幸再次遇到了这个错误。

$ vagrant reload 
==> Project-Yii: Attempting graceful shutdown of VM... 
==> Project-Yii: Clearing any previously set forwarded ports... 
==> Project-Yii: Clearing any previously set network interfaces... 
==> Project-Yii: Preparing network interfaces based on configuration... 
    Project-Yii: Adapter 1: nat 
    Project-Yii: Adapter 2: hostonly 
==> Project-Yii: Forwarding ports... 
    Project-Yii: 22 (guest) => 2222 (host) (adapter 1) 
==> Project-Yii: Running 'pre-boot' VM customizations... 
==> Project-Yii: Booting VM... 
==> Project-Yii: Waiting for machine to boot. This may take a few minutes... 
    Project-Yii: SSH address: 127.0.0.1:2222 
    Project-Yii: SSH username: ubuntu 
    Project-Yii: SSH auth method: password 
    Project-Yii: Warning: Remote connection disconnect. Retrying... 
==> Project-Yii: Machine booted and ready! 
[Project-Yii] GuestAdditions 5.1.14 running --- OK. 
==> Project-Yii: Checking for guest additions in VM... 
==> Project-Yii: Setting hostname... 
==> Project-Yii: Configuring and enabling network interfaces... 
==> Project-Yii: Mounting shared folders... 
    Project-Yii: /app => /home/xxx/Projects/project-shop 
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: 

id -u vagrant 

The error output from the command was: 

id: 'vagrant': no such user 

当然,我试过这种情况时,我删除了流浪汉,再次运行vagrant并重新从草图,但同样的问题。 是的,我也试过用vagrant-hostmanager插件(这是在yii文档,但同样的问题)

这是我的vagrant文​​件,也许它可以是有用的你。

require 'yaml' 
require 'fileutils' 

domains = { 
    frontend: 'frontend-yii.com', 
    backend: 'backend-yii.com' 
} 

config = { 
    local: './vagrant/config/vagrant-local.yml', 
    example: './vagrant/config/vagrant-local.example.yml' 
} 

# copy config from example if local config not exists 
FileUtils.cp config[:example], config[:local] unless File.exist?(config[:local]) 
# read config 
options = YAML.load_file config[:local] 

# check github token 
if options['github_token'].nil? || options['github_token'].to_s.length != 40 
    puts "You must place REAL GitHub token into configuration:\n/project-yii/vagrant/config/vagrant-local.yml" 
    exit 
end 

# vagrant configurate 
Vagrant.configure(2) do |config| 
    # select the box 
    config.vm.box = 'ubuntu/xenial64' 

    # should we ask about box updates? 
    config.vm.box_check_update = options['box_check_update'] 

    config.vm.provider 'virtualbox' do |vb| 
    # machine cpus count 
    vb.cpus = options['cpus'] 
    # machine memory size 
    vb.memory = options['memory'] 
    # machine name (for VirtualBox UI) 
    vb.name = options['machine_name'] 
    end 

    # machine name (for vagrant console) 
    config.vm.define options['machine_name'] 

    # machine name (for guest machine console) 
    config.vm.hostname = options['machine_name'] 

    # network settings 
    config.vm.network 'private_network', ip: options['ip'] 

    # sync: folder 'yii2-app-advanced' (host machine) -> folder '/app' (guest machine) 
    config.vm.synced_folder './', '/app', owner: 'vagrant', group: 'vagrant' 

    # disable folder '/vagrant' (guest machine) 
    config.vm.synced_folder '.', '/vagrant', disabled: true 

    # hosts settings (host machine) 
    config.vm.provision :hostmanager 
    config.hostmanager.enabled   = true 
    config.hostmanager.manage_host  = true 
    config.hostmanager.ignore_private_ip = false 
    config.hostmanager.include_offline = true 
    config.hostmanager.aliases   = domains.values 

    # provisioners 
    config.vm.provision 'shell', path: './vagrant/provision/once-as-root.sh', args: [options['timezone']] 
    config.vm.provision 'shell', path: './vagrant/provision/once-as-vagrant.sh', args: [options['github_token']], privileged: false 
    config.vm.provision 'shell', path: './vagrant/provision/always-as-root.sh', run: 'always' 

    # post-install message (vagrant console) 
    config.vm.post_up_message = "Frontend URL: http://#{domains[:frontend]}\nBackend URL: http://#{domains[:backend]}" 
end 

无业游民的版本是1.9.1VirtualBox的版本是5.1.14 r112924(最新)

是否somebady有同样的问题?我应该采取哪些措施来解决这个问题?

+0

我想安装guest添加仍然失败。要解决此问题,请检查此答案中的步骤:https://stackoverflow.com/questions/43492322/vagrant-was-unable-to-mount-virtualbox-shared-folders/43497420#43497420 – Daviz

回答

0

它与5.1.18一起工作。

https://www.virtualbox.org/wiki/Changelog 5.1.18固定以下看似相关的问题:

  • 共享文件夹:固定不区分大小写的文件名访问(5.1.16 回归;只有Windows客户;错误#16549)

  • 共享文件夹:固定 访问长路径(5.1.16回归;仅Windows客户;错误

    14651,#16564)

+0

单行:vagrant up; vagrant ssh -c'sudo ln -s /opt/VBoxGuestAdditions-4.3.10/lib/VBoxGuestAdditions/usr/lib/VBoxGuestAdditions';流浪者重新加载 – vpdeva

相关问题