流浪者 - 如何挂载虚拟盒子共享文件夹?( "vboxsf"不可用)



我有以下错误:

Vagrant无法装载VirtualBox共享文件夹。这通常是因为文件系统"vboxsf"不可用。这文件系统通过VirtualBox Guest Additions和内核模块。请验证这些访客添加是否正确安装在来宾中。这不是Vagrant中的bug,通常由Vagrant盒子故障引起。对于上下文,命令尝试是:

id-u流浪

命令输出的错误为:

id:"流浪者":没有这样的用户

所以我试着继续搜索解决方案。我看到很多人说,需要一个特殊的vbguest流浪者插件,然后运行流浪者,并在ssh中修改额外的vbgue斯特。

所以我做了以下步骤:

$ vagrant plugin install vagrant-vbguest然后添加了插件:

安装"流浪vbguest"插件。这可能需要一些时间分钟已安装插件"流浪者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-hostmanager插件(在yii文档中,但问题相同)

这是我的流浪档案,也许对你有用。

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.1,我的Virtualbox版本是5.1.14 r112924(最新)

有人也有同样的问题吗?我还应该采取哪些步骤来解决这个问题?

它适用于5.1.18。

https://www.virtualbox.org/wiki/Changelog5.1.18修复了以下看似相关的问题:

  • 共享文件夹:修复了不区分大小写的文件名访问(5.1.16回归;仅限Windows来宾;错误#16549)

  • 共享文件夹:已修复访问长路径(5.1.16回归;仅限Windows来宾;错误

    14651,#116564)

最新更新