在Windows主机和linux guest上使用Vagrant创建SMB共享文件夹失败



我正在使用Vagrant在我的Windows 7 SP 1 PC上创建Ubuntu 14.04客户机。这一直工作正常,但是当访问从主机同步的文件时,客户机的性能很差。在做了一些阅读之后,我试图使同步的文件夹成为SMB共享,但是当我运行'vagrant up'时,这是失败的

请注意,我已经升级到powershell 3.0,如https://docs.vagrantup.com/v2/synced-folders/smb.html中所述。我还确保我的客户已经安装了cifs-util,如https://github.com/mitchellh/vagrant/issues/4642所指出的那样。我使用的是Vagrant 1.7.4和VirtualBox 4.3.28

我的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"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "npt"
  config.vm.provider "virtualbox" do |v|
    v.customize ["modifyvm", :id, "--cpuexecutioncap", "90"]
    v.customize ["modifyvm", :id, "--memory", "4096"]
    v.customize ["modifyvm", :id, "--cpus", 2]
  end
  config.vm.synced_folder "\", "/npt_root", type: "smb"
  config.vm.provision :shell do |shell|
    shell.inline = "puppet module install puppetlabs/vcsrepo --force"
  end
  config.vm.provision "puppet" do |puppet|
    puppet.manifests_path = "puppet"
    puppet.manifest_file  = "basic_build_reqs.pp"
  end
  config.ssh.username = 'root'
  config.ssh.password = 'vagrant'
  config.ssh.insert_key = 'true'
end

我看到的输出是:

Z:nptvagrant>vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Importing base box 'npt'...
==> default: Matching MAC address for NAT networking...
==> default: Setting the name of the VM: vagrant_default_1442502969737_66801
==> default: Preparing SMB shared folders...
    default: You will be asked for the username and password to use for the SMB
    default: folders shortly. Please use the proper username/password of your
    default: Windows account.
    default:
    default: Username: tdj@DCL
    default: Password (will be hidden):
Exporting an SMB share failed! Details about the failure are shown
below. Please inspect the error message and correct any problems.
Host path: Z:/
Stderr: System error 123 has occurred.
The filename, directory name, or volume label syntax is incorrect.
Error:

Stdout:

看起来Vagrant已经解释了我给它的相对路径"",并提出了"Z:/",带有unix风格的斜杠,Windows随后无法解析。

注意,我已经尝试用绝对路径"Z:"替换相对路径,但我仍然在"主机路径"行

上看到相同的输出

我怀疑"\"是下面一行的问题:

config.vm。Synced_folder "\", "/npt_root", type: "smb"

你能试着放入一个具体的文件夹名,你想与你的VM共享并测试它是否有效吗?

最新更新