【问题标题】:Failing to create SMB shared folder using Vagrant on Windows host with linux guest无法在带有 Linux 来宾的 Windows 主机上使用 Vagrant 创建 SMB 共享文件夹
【发布时间】:2015-09-17 15:51:08
【问题描述】:

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

请注意,我已升级到 powershell 3.0,如 https://docs.vagrantup.com/v2/synced-folders/smb.html 中所述。正如https://github.com/mitchellh/vagrant/issues/4642 中指出的那样,我还确保我的客人安装了 cifs-util。我正在使用 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:\npt\vagrant>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 已经解释了我给它的相对路径“\”,并提出了带有 unix 样式斜杠的“Z:/”,然后 Windows 无法解析。

请注意,我已尝试将相对路径替换为绝对路径“Z:\”,但我仍然在“主机路径”行看到相同的输出

【问题讨论】:

    标签: vagrant virtualbox samba smb


    【解决方案1】:

    我怀疑“\\”是以下行中的问题:

    config.vm.synced_folder "\\", "/npt_root", 类型:"smb"

    您能否尝试输入一个您想与您的虚拟机共享的具体文件夹名称并测试它是否有效?

    【讨论】:

      猜你喜欢
      • 2017-12-10
      • 1970-01-01
      • 2018-11-29
      • 1970-01-01
      • 2014-06-24
      • 2011-06-25
      • 2018-07-09
      • 1970-01-01
      • 2014-12-14
      相关资源
      最近更新 更多