我在装有 Windows 10 的物理笔记本电脑上运行带有 Windows Server 2019 的 HyperV VM。我想在 Widnows 2019 上访问互联网,因此我在 Windows 10 上创建了 NAT。我在 PowerShell 中执行了以下命令:
New-NetNAT -Name "HyperVNAT" -InternalIPInterfaceAddressPrefix 192.168.10.0/24
192.168.10.1 是我的虚拟适配器(hyperV 内部交换机)的 IP 地址。Windows Server 2019 的 IP 地址是 192.168.10.101。只要我更改互联网连接(以前我在工作时通过以太网连接到网络,目前我通过 WiFi 连接到移动网络),它就可以正常工作。NAT 现在处于非活动状态,我无法从 VM 访问互联网。我无法删除 NAT,因为我收到异常。
Get-NetNat
Name : HyperVNAT
ExternalIPInterfaceAddressPrefix :
InternalIPInterfaceAddressPrefix : 192.168.10.0/24
IcmpQueryTimeout : 30
TcpEstablishedConnectionTimeout : 1800
TcpTransientConnectionTimeout : 120
TcpFilteringBehavior : AddressDependentFiltering
UdpFilteringBehavior : AddressDependentFiltering
UdpIdleSessionTimeout : 120
UdpInboundRefresh : False
Store : Local
Active : False
如您所见,Active 设置为 False。
Remove-NetNat -name HyperVNAT
Confirm
Are you sure you want to perform this action?
Performing operation Delete on Target HyperVNAT PolicyStore Local
[Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is "Y"): y
Remove-NetNat : The requested operation is not supported.
At line:1 char:1
+ Remove-NetNat -name HyperVNAT
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (MSFT_NetNat (InstanceID = "HyperVNAT;0"):root/StandardCimv2/MSFT_NetN
at) [Remove-NetNat], CimException
+ FullyQualifiedErrorId : Windows System Error 50,Remove-NetNat
我不确定是否有一些命令可以将我的 NAT 状态更改为活动状态,我尝试了以下步骤但没有成功:
Set-NetNat -Name HyperVNAT
Set-NetNat : The request is not supported.
At line:1 char:1
+ Set-NetNat -Name HyperVNAT
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (MSFT_NetNat (InstanceID = "HyperVNAT;0"):root/StandardCimv2/MSFT_NetN
at) [Set-NetNat], CimException
+ FullyQualifiedErrorId : Windows System Error 50,Set-NetNat
几天前我也遇到过同样的问题,但我使用了嵌套虚拟化,问题出现在虚拟机上。在谷歌上搜索并尝试修复几次失败后,我放弃了,并从头开始创建了新的虚拟机。现在我的物理笔记本电脑也遇到了同样的问题,我不想重新安装操作系统。如何解决?
答案1
您可以尝试以下步骤来清除一些可能锁定幽灵适配器并硬重置设备的问题:
- 打开 Hyper-V 管理器 > 删除虚拟交换机
- 使用 Windows 设备管理器 > 网络适配器删除连接到 VM 或 Hyper-V 的所有网络适配器
- 在 Windows 服务中禁用 Hyper-V
- 重启电脑
- 重新启用 Hyper-V 并
Remove-NetNat -name HyperVNAT
再次运行。