升级到windows 10后运行:
$ vagrant up
我们得到以下错误信息
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: get_vm_status.ps1
Error:
C:HashiCorpVagrantembeddedgemsgemsvagrant-1.7.4pluginsprovidershypervscriptsget_vm_status.ps1 : Unable to
find type [Microsoft.HyperV.PowerShell.VirtualizationOperationFailedException].
At line:1 char:1
+ &('C:HashiCorpVagrantembeddedgemsgemsvagrant-1.7.4pluginsprov ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (Microsoft.Hyper...FailedException:TypeName) [get_vm_status.ps1], Ru
ntimeException
+ FullyQualifiedErrorId : TypeNotFound,get_vm_status.ps1
与Vagrant 1.7.4.
任何想法?
我在Windows 10 enterprise上新安装了Vagrant 1.7.4(第一次使用Vagrant)时遇到了同样的问题。
在最新版本的PowerShell中,看起来类型VirtualizationOperationFailedException已被VirtualizationException所取代。
我修改了C:HashiCorpVagrantembeddedgemsgems Vagrant -1.7.4pluginsprovidershypervscriptsget_vm_status的第15行。ps1:
} catch [Microsoft.HyperV.PowerShell.VirtualizationOperationFailedException] {
} catch [Microsoft.HyperV.PowerShell.VirtualizationException] {
现在我可以使用游移向上和游移状态没有错误。这显然不是一个长期的解决方案,但使事情再次工作。可能还有其他脚本被打破了,但我还没有运行到他们。
在销毁然后重新创建虚拟机后出现了相同的错误。
我删除了.vagrant/machines/hyperv
文件夹,一切正常。
如果@jeff-r的解决方案不适合您,您可以尝试更改:
} catch [Microsoft.HyperV.PowerShell.VirtualizationOperationFailedException] {
:
} catch [Exception] {
在win10上你必须禁用Hyper-V才能运行vagrant/virtualbox