Hyper-V 虚拟机无法上网的解决方法

Hyper-V并不能对物理机的网卡进行识别,所以需要借助虚拟网卡通过物理机的网络共享实现网络链接。
在关闭Hyper-V虚拟机的情况下,选择Hyper-V管理界面中的“虚拟交换机管理器”。
Hyper-V 虚拟机无法上网的解决方法
文章图片

在弹出的对话框中“新建虚拟网络交换机”,选择“内部”,点击“创建虚拟交换机”。
Hyper-V 虚拟机无法上网的解决方法
文章图片

为虚拟交换机命名后点击“应用”。稍事等待后即可在左侧看到新添加的虚拟交换机。
Hyper-V 虚拟机无法上网的解决方法
文章图片

此时,在控制面板-网络和Internet-网络和共享中心中,可以看到如下未识别的链接:
Hyper-V 虚拟机无法上网的解决方法
文章图片

在“更改适配器设置”下面也可以见到如下设备:
Hyper-V 虚拟机无法上网的解决方法
文章图片

这就是刚刚创建出来的虚拟交换机。
虽然有了虚拟设备,但是此时虚拟机仍不能正常链接。
在网络与共享中心下面点击现有的Internet链接:
Hyper-V 虚拟机无法上网的解决方法
文章图片

在弹出的对话框中选择“属性”:
Hyper-V 虚拟机无法上网的解决方法
文章图片

切换到“共享”标签下,勾选“允许其他网络用户通过此计算机的Internet连接来连接”并在下方“家庭网络连接”中选择刚刚创建的虚拟交换机——vEthernet (Hyper-V Switch),点击“确定”。
Hyper-V 虚拟机无法上网的解决方法
文章图片

此时,在管理员模式运行的命令提示符(在屏幕左下角右键,选择“命令提示符 管理员”)中输入“route print”后会在IPv4路由表中找到关于192.168.137.1的信息:
Hyper-V 虚拟机无法上网的解决方法
文章图片

接下来,进入到Hyper-V虚拟机设置界面,在“硬件”下的“网络适配器”中,设置“虚拟交换机”为刚刚设置好的Hyper-V Switch虚拟交换机,点击“确定”。
Hyper-V 虚拟机无法上网的解决方法
文章图片

Hyper-V 虚拟机无法上网的解决方法
文章图片

此时再重新启动Hyper-V虚拟机,在对应的网络连接下面的TCP/IP协议中设置为“自动获取IP地址”和“自动获取DNS服务器”,则可进行网络连接。
Hyper-V 虚拟机无法上网的解决方法
文章图片

若使用手动设置,则设置IP地址为“192.167.137.X”,X为2~255任意数字,子网掩码为“255.255.255.0”,默认网关为 “192.168.137.1”,DNS服务器设置为“192.168.137.1”。注意此处的网关与DNS服务器为微软默认,没有需要请勿更改。
Hyper-V 虚拟机无法上网的解决方法
文章图片

确定之后会发现虚拟机已经可以进行网络连接了!
Hyper-V 虚拟机无法上网的解决方法
文章图片

若在此后更换了物理机的网络连接,需要重新设置共享,共享方式不变。
此外,如果发现虚拟机中的链接变为“未识别的网络连接”,在网络图标上带有黄色的叹号,可以按照前文在命令提示符中查看路由表是否正常,若不包含192.168.137.1内容(如下图)则说明网络共享不正常,可以先禁用网络共享再按照前文重新开启即可。
Hyper-V 虚拟机无法上网的解决方法
文章图片

【Hyper-V 虚拟机无法上网的解决方法】除了采用共享式的内部网络连接,还可以使用外部网络连接,但是此时物理机若只含有一个网卡设备,则物理机网络连接将会断开。(一块网卡在同一时间只支持一条网络连接,虚拟机也相当于一台计算机,故不能两者同时使用。)

    推荐阅读