Windows 10 Pro和Hyper-V在SMB共享文件夹上出现流浪汉“常规访问被拒绝错误”

时间:2019-12-03 09:17:03

标签: windows vagrant homestead hyper-v samba

环境

带有Hyper-V的Windows 10专业版
流浪者v.2.2.6

状态

尝试通过Powershell和管理员用户使用SMB共享文件夹启动Homestead VM,但是没有运气。

共享“站点”文件夹,并创建了一个对共享文件夹具有完全访问权限的专用用户(usr:vagrant,pwd:vagrant)。

真的为此苦苦挣扎。

将共享文件夹设置为Sites\mysite(没有完整路径),因为我仅共享此特定文件夹,对吗?

错误

PS C:\Users\sgrat\Desktop\Sites\Homestead> vagrant up --provision
Bringing machine 'homestead' up with 'hyperv' provider...
==> homestead: Verifying Hyper-V is enabled...
==> homestead: Verifying Hyper-V is accessible...
    homestead: Configuring the VM...
==> homestead: Starting the machine...
An error occurred while executing a PowerShell script. This error
is shown below. Please read the error message and see if this is
a configuration error with your system. If it is not, then please
report a bug.

Script: start_vm.ps1
Error:

Failed to start VM 'homestead' failed to start.

Synthetic SCSI Controller (Instance ID 480D9BCD-B214-461F-976E-2A9A546F9BB8): Failed to Power on with Error 'General access denied error'.

 Account does not have permission to open attachment 'C:\Users\sgrat\Desktop\Sites\Homestead\.vagrant\machines\homestead\hyperv\Virtual Hard Disks\ubuntu-18.04-amd64.vhdx'. Error: 'General access denied error'.

'homestead' failed to start. (Virtual machine ID 555B1C43-AC2B-4B9C-A9B2-94BF40753C40)

'homestead' Synthetic SCSI Controller (Instance ID 480D9BCD-B214-461F-976E-2A9A546F9BB8): Failed to Power on with Error 'General access denied error' (0x80070005). (Virtual machine ID 555B1C43-AC2B-4B9C-A9B2-94BF40753C40)

'homestead':  Account does not have permission to open attachment 'C:\Users\sgrat\Desktop\Sites\Homestead\.vagrant\machines\homestead\hyperv\Virtual Hard Disks\ubuntu-18.04-amd64.vhdx'. Error: 'General access denied error' (0x80070005). (Virtual machine ID 555B1C43-AC2B-4B9C-A9B2-94BF40753C40)

Homestead.yaml

ip: "192.168.10.10"
memory: 2048
cpus: 2
provider: hyperv

authorize: c:/Users/sgrat/.ssh/id_rsa.pub

keys:
    - c:/Users/sgrat/.ssh/id_rsa

folders:
    - map: Sites\mysite
      to: /home/vagrant/mysite
      php: '7.2'
      type: "smb"
      smb_host: 127.0.0.1
      smb_username: vagrant
      smb_password: vagrant

sites:
    - map: mysite.test
      to: /home/vagrant/mysite

databases:
    - mysitedb

features:
    - mariadb: true
    - ohmyzsh: false
    - webdriver: false

2 个答案:

答案 0 :(得分:0)

我不能说使用相对文件路径的有效性,我只是记得我在不使用完整文件时遇到了一些问题。我正在使用Git Bash,但与您使用的设置不同:Win 10,Hyper-V,Vagrant 2.2.6。

这是我的Homestead.yaml文件:

---
ip: "192.168.10.10"
memory: 2048
cpus: 2
provider: virtualbox

authorize: ~/.ssh/id_rsa.pub

keys:
    - ~/.ssh/id_rsa

folders:
    - map: C:\Users\leif.lundberg\code
      to: /home/vagrant/code
      type: "nfs"

sites:
    - map: homestead.test
      to: /home/vagrant/code/symfobase/public

databases:
    - homestead

features:
    - mariadb: false

此外,我不知道您的keys映射是否正确,并且使用正斜杠“ /”而不是反斜杠“ \”可能会导致问题。

答案 1 :(得分:0)

Hyper-V 中的 Vagrant 需要共享两个文件夹。

  1. 脚本文件夹(例如 C:\Users\<username>\Homestead
  2. 代码文件夹(例如 C:\Users\<username>\code

您可以关注此详细信息 step-by-step guide。详细介绍了Hyper-V vagrant box的设置细节。