use*_*473 5 hyper-v vagrant windows-10 homestead
我无法使用 hyper-V 使用此处提供的说明https://laravel.com/docs/5.7/homestead启动 homestead 。最初的问题是机器无法启动,它会无限期地挂起。修复此问题后,在完成 vagrant up 命令之前,我又遇到了 2 个问题。
我不能 100% 确定这是发布此内容的正确位置,但我花了大约 2 周的时间来尝试解决此问题,希望我可以为遇到类似问题的其他人节省一点时间。我能够使用 virtual-box 使用 homestead,但是在我的 PC 上没有运行 Hyper-V 非常不方便,因此我卸载了 virtual-box 并尝试使用 Hyper-V 设置 homestead。对我来说,虚拟机根本无法启动。当我在 Hyper-V 管理器中查看它时,它只是在启动时挂起。事实证明,它被设置为第 1 代盒子,驱动器连接为 IDE。对我来说,解决方案是创建新一代第 2 代虚拟机并使用 SCSI 连接提供的驱动器。然后我禁用了安全启动,并且能够启动。然后,在配置脚本尝试挂载默认 vagrant 共享时失败。我不知道如何修改这个调用,所以最终禁用了它,因为据我所知,对于宅基地来说,它是不需要的。然后我的第三个问题是无法在 homestead.yaml 文件中安装任何用户定义的共享。对此进行的一些谷歌搜索表明,我需要在没有额外参数的情况下进行此调用,而脚本似乎没有提供执行此操作的选项。我修改了脚本,整个 vagrant up 命令成功完成。以下是我所采取步骤的详细信息。如果有更简单的方法让 Vagrant Homestead 使用 Hyper-V 运行,我将不胜感激。
问题 1:无法启动
描述:问题似乎是尝试使用 IDE 控制器作为第一代启动。这似乎不适用于我安装的 Windows 10 Pro。
解决:
1. Created a new VM using Generation 2 and attached the existing
"ubuntu-18.04-amd64.vhdx" to it using SCSI.
2. Boot this VM and then shutdown.
3. Turn off secure boot
4. Replace the Virtual machine files in [VagrantInstallFolder]\boxes\laravel-VAGRANTSLASH-homestead\6.4.0\hyperv with the new ones created above.
5. Delete newly created box from HyperV
Run Code Online (Sandbox Code Playgroud)
问题 2:不会挂载默认 Vagrant 共享
错误消息: ==> homestead-7:机器已启动并准备就绪!未向 NFS 同步文件夹实现提供有效 ID 来进行修剪。这是 Vagrant 的内部错误,应该提交问题。
描述:尝试挂载默认 vagrant 共享时,vagrant up 命令失败。我发现无法覆盖此调用的参数,因此它总是尝试使用 Windows 不支持的 nfs 进行调用。如果可以覆盖此呼叫设置,那么这将是更好的方法。但我能想到的让配置脚本继续执行的唯一方法是禁用此共享。
解决:
1. Modify the scripts\homestead.rb file and add the code below to the
Hyper V config settings section "Configure A Few Hyper-V Settings". This
will disable the default file share but you can still add your own from
the homestead.yaml file after completion of issue 3.
#Disable the default Vagrant file share
config.vm.synced_folder ".", "/vagrant", disabled: true
Run Code Online (Sandbox Code Playgroud)
问题 3:homestead.yaml 文件中的用户定义共享仍然错误。
错误信息:
无法在 Linux 来宾中装载文件夹。这通常是因为“vboxsf”文件系统不可用。请验证来宾添加项是否已正确安装在来宾中并且可以正常工作。尝试的命令是:
挂载-t cifs -o vers=3,凭证=/etc/smb_creds_vgt-96269f65d23acb279735d26264428995-66f0bd5cbca4d218f5f0b8a5f1712727,uid=1000,gid=1000,nolock,udp,noatime //192 .168.1.107/vgt-96269f65d23acb279735d26264428995-66f0bd5cbca4d218f5f0b8a5f1712727 /home/vagrant/代码
最后一个命令的错误输出是:
安装错误(22):无效参数 请参阅 mount.cifs(8) 手册页(例如 man mount.cifs)
描述:尝试在 homestead.yaml 文件中挂载用户定义的共享时,vagrant up 命令失败。安装似乎将不需要的参数传递给安装命令。我们需要覆盖scripts\homestead.rb 文件中的挂载调用以不使用任何参数。
解决:
1. In the "Register All Of The Configured Shared Folders" section replace the line below.
Replace
config.vm.synced_folder folder['map'], folder['to'], type: folder['type'] ||= nil, **options
With
config.vm.synced_folder folder['map'], folder['to'], type: "smb"
2. Then run "vagrant up --provider hyperv"
Run Code Online (Sandbox Code Playgroud)
小智 2
安装了哪些 Vagrant 插件 ( vagrant plugin list)?
我收到以下错误:
未向 NFS 同步文件夹实现提供有效 ID 来进行修剪。这是 Vagrant 的内部错误,应该提交问题。
以前,我一直使用 NFS 并安装了以下插件: https: //github.com/winnfsd/vagrant-winnfsd。
一旦我通过删除插件vagrant plugin uninstall vagrant-winnfsd,配置就起作用了。
| 归档时间: |
|
| 查看次数: |
1557 次 |
| 最近记录: |