使用 Hyper-V 在 Windows 10 上出现流浪错误
Vagrant Error on Windows 10 with Hyper-V
升级到windows10后运行:
$ 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:\HashiCorp\Vagrant\embedded\gems\gems\vagrant-1.7.4\plugins\providers\hyperv\scripts\get_vm_status.ps1 : Unable to
find type [Microsoft.HyperV.PowerShell.VirtualizationOperationFailedException].
At line:1 char:1
+ &('C:\HashiCorp\Vagrant\embedded\gems\gems\vagrant-1.7.4\plugins\prov ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (Microsoft.Hyper...FailedException:TypeName) [get_vm_status.ps1], Ru
ntimeException
+ FullyQualifiedErrorId : TypeNotFound,get_vm_status.ps1
使用 Vagrant 1.7.4.
有什么想法吗?
我在 Windows 10 Enteprise(第一次使用 Vagrant)上全新安装 Vagrant 1.7.4 时遇到了同样的问题。
在最新版本的 PowerShell 中,VirtualizationOperationFailedException 类型似乎已被替换为 VirtualizationException。
我将 C:\HashiCorp\Vagrant\embedded\gems\gems\vagrant-1.7.4\plugins\providers\hyperv\scripts\get_vm_status.ps1 的第 15 行从:
更改为
} catch [Microsoft.HyperV.PowerShell.VirtualizationOperationFailedException] {
至
} catch [Microsoft.HyperV.PowerShell.VirtualizationException] {
现在我可以无误地使用 vagrant up 和 vagrant status 了。这显然不是一个长期的解决方案,但可以让事情重新开始。可能还有其他损坏的脚本,但我还没有 运行 了解它们。
如果@jeff-r 的解决方案不适合您,您可以尝试更改:
} catch [Microsoft.HyperV.PowerShell.VirtualizationOperationFailedException] {
至:
} catch [Exception] {
小心,它也可能会引起一些副作用。
我在销毁然后重新创建 VM 后遇到了同样的错误。
我删除了 .vagrant/machines/hyperv
文件夹,一切正常。
在 win 10 上你必须禁用 "Hyper-V" 到 运行 vagrant/virtualbox
升级到windows10后运行:
$ 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:\HashiCorp\Vagrant\embedded\gems\gems\vagrant-1.7.4\plugins\providers\hyperv\scripts\get_vm_status.ps1 : Unable to
find type [Microsoft.HyperV.PowerShell.VirtualizationOperationFailedException].
At line:1 char:1
+ &('C:\HashiCorp\Vagrant\embedded\gems\gems\vagrant-1.7.4\plugins\prov ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (Microsoft.Hyper...FailedException:TypeName) [get_vm_status.ps1], Ru
ntimeException
+ FullyQualifiedErrorId : TypeNotFound,get_vm_status.ps1
使用 Vagrant 1.7.4.
有什么想法吗?
我在 Windows 10 Enteprise(第一次使用 Vagrant)上全新安装 Vagrant 1.7.4 时遇到了同样的问题。
在最新版本的 PowerShell 中,VirtualizationOperationFailedException 类型似乎已被替换为 VirtualizationException。
我将 C:\HashiCorp\Vagrant\embedded\gems\gems\vagrant-1.7.4\plugins\providers\hyperv\scripts\get_vm_status.ps1 的第 15 行从:
更改为} catch [Microsoft.HyperV.PowerShell.VirtualizationOperationFailedException] {
至
} catch [Microsoft.HyperV.PowerShell.VirtualizationException] {
现在我可以无误地使用 vagrant up 和 vagrant status 了。这显然不是一个长期的解决方案,但可以让事情重新开始。可能还有其他损坏的脚本,但我还没有 运行 了解它们。
如果@jeff-r 的解决方案不适合您,您可以尝试更改:
} catch [Microsoft.HyperV.PowerShell.VirtualizationOperationFailedException] {
至:
} catch [Exception] {
小心,它也可能会引起一些副作用。
我在销毁然后重新创建 VM 后遇到了同样的错误。
我删除了 .vagrant/machines/hyperv
文件夹,一切正常。
在 win 10 上你必须禁用 "Hyper-V" 到 运行 vagrant/virtualbox