Windows 11 启用 Hyper-V 之后网络上传速度异常慢解决方案

Posted 张晓栋 - .NET 技术博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Windows 11 启用 Hyper-V 之后网络上传速度异常慢解决方案相关的知识,希望对你有一定的参考价值。

最近在开发用的台式机上启用了 Windows 的 Hyper-V 虚拟化功能,利用虚拟机运行了一台 Windows Server 2022 和 一台 Ubuntu Server,为了方便别的机器直接访问这两台虚拟机,所以网络采用了外部网络桥接的模式,让虚拟机和物理机保持在了同一网段。

为了实现在这一目的,所以创建了一个虚拟的外部网络交换机,我这边的网卡是 Intel AX210 无线网卡。

在这样使用一段时间之后总感觉电脑网络上传速度特别卡,外网上传速度大概只剩下平时的一半,如果访问内网设备速度则慢的更离谱,只有 1M 不到的速度,有时候还会卡死,我内网中有一台 群晖 NAS,这个速度问题也是在文件上传到群晖时才注意到的,因为通过 smb 协议内网上传文件时经常会出现资源管理器无响应甚至直接卡死,然后测试上传到百度网盘发现速度也变慢了一半左右。

以前正常外网网速的测试:

开启 Hyper-V 的虚拟外部网络交换机之后的外网测速

可以看到外网上传速度慢了一半左右,下载速度无差异。

开启 Hyper-V 的虚拟外部网络交换机之后的内网上传速度

基本无法上传了,长时间卡死在 100多Kbps 左右,最快的时候有 1Mbps

以前正常的内网上传速度

其实这个问题从 2018年开始用 Windows10 系统上的 Hyper-V 虚拟机时就遇到了,当时的网卡是 Intel AC9260,后面陆续用过 Intel AX200 、Intel AX211 几款无线网卡的笔记本电脑,都存在同样的问题,所以初步怀疑是网卡配置的问题,因为以前2013年到2017年之间用的笔记本或者台式机也长期使用 Hyper-V 但是时并没有遇到过这么奇怪的问题。

针对这个问题也看了网络上很多教程,大部分是都指向了网卡的如下几个配置

  • IPv4 Checksum Offload
  • IPv6 Checksum Offload
  • TCP Checksum Offload(IPV4)
  • TCP Checksum Offload(IPV6)
  • UDP Checksum Offload(IPV4)
  • UDP Checksum Offload(IPV6)

但是我将网卡的这几项都设置为 Disabled 之后进行测试,并没有什么用,网速还是一样的慢,所以继续研究。

然后发现了如下两项设置

  • Large Send Offload Version 2(IPV4)
  • Large Send Offload Version 2(IPV6)

尝试将这两项设置调整为 Disabled 之后进行测试,内外网的速度都回归正常了。

具体操作如下:
在电脑的设置中找到网络设置,点击高级网络设置

在界面的最下方点击更多网络设配器选项

选中 Hyper-V 创建的虚拟网卡

右击网卡,查看属性,然后点击配置按钮

找到 Large Send Offload Version 2(IPV4)Large Send Offload Version 2(IPV6) 都调整为 Diabled 然后确定保存即可。

这个原因其实就是因为 Hyper-V 创建出的虚拟网卡默认启用了这两个选项,但是我们的 Intel 无线网卡硬件实际上并不支持这两项功能,所以会造成这样一个副作用。

可以看到 Intel 的无线网卡的配置界面并没有那两项的配置。

顺便查看了台式机的有线网卡,就支持 Hyper-V 虚拟网卡需要的那两项功能,从硬件上是支持的,有线网卡的型号是 Realtek Gaming 2.5Gbe Family Controller

从2018年到现在一直被这个问题所困惑,今天总算解决了,特此记录希望可以帮到各位小伙伴。
至此关于 Windows 11 启用 Hyper-V 之后网络上传速度异常慢解决方案 就讲解完了,有任何不明白的,可以在文章下面评论或者私信我,欢迎大家积极的讨论交流,有兴趣的朋友可以关注我目前在维护的一个 .NET 基础框架项目,项目地址如下
https://github.com/berkerdong/NetEngine.git
https://gitee.com/berkerdong/NetEngine.git

无法使用安装了启用 Hyper-V 和 WSL2 的 VirtualBox 启动 Windows 10 来宾 [关闭]

【中文标题】无法使用安装了启用 Hyper-V 和 WSL2 的 VirtualBox 启动 Windows 10 来宾 [关闭]【英文标题】:Unable to boot Windows 10 guest using VirtualBox with enabled Hyper-V and WSL2 installed [closed] 【发布时间】:2020-09-22 20:41:41 【问题描述】:

我最近将我的 Windows 10 版本更新到版本 2004。我还将 WSL 更新为 WSL2。

我在尝试通过 VirtualBox 6.1.8 使用虚拟机(Windows 10 主机/Windows 10 来宾)时遇到问题。每次我尝试启动它时,它都会变得非常缓慢,并且无法通过启动加载屏幕。

我认为最新版本的 VB 解决了这个问题(根据this documentation from Microsoft)。

我能做些什么来解决这个问题?

【问题讨论】:

这不是一个很好的解决方案,但我找到了一种改进工作流程的方法。如果您不需要同时使用两者,但又不想禁用 Windows 功能(并每次都重新启动),则可以打开一个 powershell 会话并暂时关闭 wsl。 wsl --suthdown 【参考方案1】:

降级到 WSL1,如果您不想浪费几天的精力。

我已经升级到 WSL2 并尝试让 VirtualBox 使用它,但我找不到任何有用的东西。很少有指南建议关闭 VirtualBox 的某些功能可以使其正常工作,但它会使其比现在更慢,这确实违背了目的。

https://github.com/MicrosoftDocs/WSL/issues/536

https://superuser.com/q/1531337

【讨论】:

遗憾的是,MS docs 问题已关闭,并声称它有效。我开了一个新案例:github.com/MicrosoftDocs/WSL/issues/798 如果有人对降级感到困惑,请关注github.com/MicrosoftDocs/WSL/issues/590#issuecomment-602029634【参考方案2】:

自从 VirtualBox 6.0 添加了对 Hyper-V 的支持,但它仍处于试验阶段,这解释了性能不佳 (https://docs.oracle.com/en/virtualization/virtualbox/6.0/admin/hyperv-support.html)。

我可以通过在 Windows 功能中禁用 WSL2 来解决此问题。 如果您进入Control Panel > All Control Panel Items > Programs and Features > Windows Features,您会找到一个列表,您可以在其中禁用或启用某些 Windows 功能。

可能 Hyper-V 在功能中已被禁用,您可能想知道为什么 VirtualBox 仍然无法正常工作。这是因为 WSL2 在底层使用 Hyper-V,即使它没有为您的自定义使用启用。

要使您的 VirtualBox 再次可用,您还必须取消选中功能 Virtual Machine PlatformWindows Subsystem for Linux 并重新启动您的 PC 才能生效。

显然,这将使您的 PC 无法使用 WSL2,但您可以随时重新激活这些功能以再次使用 WSL2。如果您没有被强迫同时使用 VirtualBox 和 WSL2,这就像一个魅力。

【讨论】:

谢谢。我应该猜到了。因为在安装 WSL2 之后,我的 Docker 在没有激活 Hyper-V 的情况下开始工作。【参考方案3】:

您必须激活“Windows Hypervisor Platform”。

为此,请在“开始”菜单中搜索“Windows 资源”。在搜索结果中打开“激活/停用 Windows 资源”。

在列表中选择“Windows Hypervisor Platform”选项,然后单击“确定”。这是 Microsoft 公开的 API,用于使第三方虚拟化提供商与 Hyper-V 兼容,WSL2 使用它。

这是因为主机上一次只能运行一个管理程序。因此,WSL2 使用的 Microsoft Hyper-V 管理程序会阻止 VirtualBox 使用处理器虚拟化扩展。

请参阅下面的常见问题解答:

https://docs.microsoft.com/en-us/windows/wsl/wsl2-faq#will-i-be-able-to-run-wsl-2-and-other-3rd-party-virtualization-tools-such-as-vmware-or-virtualbox

【讨论】:

我已经启用了它。我尝试将加速半虚拟化界面更改为每个选项,但没有任何改进。启用/禁用嵌套分页加速似乎也没有什么区别。我不知道为什么这么慢。 这实际上称为“打开或关闭 Windows 功能”,而不是“激活/停用 Windows 资源”。

以上是关于Windows 11 启用 Hyper-V 之后网络上传速度异常慢解决方案的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Windows 8 中禁用 Hyper-V 并安装 HAXM

win10专业版无法启用Hyper-V功能,求大神指导

windows 10 关闭Hyper-V(或者Credential Guard or Device Guard)以运行vmware

Win10启用Hyper-V

无法使用安装了启用 Hyper-V 和 WSL2 的 VirtualBox 启动 Windows 10 来宾 [关闭]

Hyper-V 2016 系列教程38 在 Windows 10 上安装 Hyper-V