尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

Hyper-V虚拟机安装Win10实战:桥接、NAT与调优指南

Hyper-V虚拟机安装Win10实战:桥接、NAT与调优指南 很多人在第一次听说 Hyper-V 的时候第一反应都是“这不就是 Windows 自带那个虚拟机吗”。等到自己真正上手去创建一台 Hyper-V 虚拟机并安装 Win10才发现里面藏着不少门道虚拟交换机怎么选、桥接和 NAT 怎么配、装完系统分辨率为什么那么别扭、复制粘贴为什么总是失效。我在做开发环境的那些年电脑上长期跑着两个虚拟机一个是 Win10一个是 LinuxWin10 那个就是用 Hyper-V 拉起来的。放着 VMware 不用非选 Hyper-V原因是它原生集成在 Windows 里不依赖第三方驱动而且 WSL2、Windows Sandbox、Windows 沙盒这些工具都建立在同一个虚拟化平台上装一次 Hyper-V 可以同时解决好几个需求。这篇教程我想从场景讲起把创建 Hyper-V 虚拟机安装 Win10 的完整流程拆开揉碎讲清楚包括虚拟交换机怎么桥接、NAT 怎么配、装完系统之后怎么调优、报错怎么排查争取让新手能照着一步步操作也让折腾过的人能查漏补缺。1. Hyper-V 到底能干什么为什么它是 Win10 虚拟化的首选平台1.1 Hyper-V 是什么它和 VMware、VirtualBox 有什么区别Hyper-V 是微软推出的服务器级虚拟化平台最早出现在 Windows Server 2008 里后来逐步内置于 Windows 10 专业版、企业版和教育版。它的核心是一个 Hypervisor也就是虚拟化管理程序直接运行在硬件和操作系统之间负责把物理机的 CPU、内存、存储和网络资源划分给多个虚拟机使用。这一点和 VMware Workstation、VirtualBox 这类“应用级”虚拟化软件有本质区别后者是跑在操作系统之上的普通程序需要操作系统先接管硬件然后它们再向虚拟机“借”资源。做一个粗糙但直观的类比Hyper-V 更像房东直接把整栋楼的水电气主管道接到房间门口每个房间想怎么接自己说了算VMware 则是房东在楼下开了一个服务处所有房间都要通过服务处再转一道。所以 Hyper-V 在稳定性和隔离性上更接近服务器虚拟化的严格要求开销也相对更小。对这个平台的常见误解是“系统自带的东西一定很简陋”其实恰恰相反Hyper-V 的很多底层机制比如检查点快照、动态内存、嵌套虚拟化都是实实在在的生产级功能只是在图形界面和易用性上确实比 VMware Workstation 粗糙不少。1.2 什么场景最适合用 Hyper-V 安装 Win10Hyper-V 最适合的场景是开发者需要多个不同 Windows 版本的测试环境。我自己当年就是同时在跑一个 Win10 和一个 Windows Server用来验证应用在不同系统版本上的行为差异。Hyper-V 原生支持检查点也就是快照改系统配置之前打一个点出了问题一键回滚比重新装系统快得多。如果你日常还要用 WSL2 或者 Windows Sandbox那更离不开 Hyper-V因为它们底层都依赖同一个虚拟化平台开启 Hyper-V 之后这些功能可以共用一套底层资源省心很多。在企业环境里Hyper-V 还有一个优势它是 Windows 管理框架的一部分可以通过 PowerShell 脚本批量管理虚拟机和虚拟交换机。比如给团队里的一批人统一下发一个 Win10 测试虚拟机镜像或者定时开关虚拟机用代码就能完成根本不用一台台手动点鼠标。这是个人使用 VMware 时很难做到的。当然如果你只是想在电脑上偶尔装个别的系统体验一下VirtualBox 更轻量学习成本也更低但如果你想建立一套长期稳定、可复用、可自动化的虚拟化环境Hyper-V 是更值得投资的方向。1.3 用 Hyper-V 装 Win10 之前你需要接受的几个限制第一Hyper-V 对显卡和声卡的直通支持很弱所以不要指望在 Hyper-V 虚拟机里打 3A 游戏、剪视频或者做需要 GPU 加速的图形工作。第二Hyper-V 开启后宿主机本身也变成了一个虚拟机它运行在 Hypervisor 之上这会导致某些依赖硬件辅助虚拟化的第三方软件产生兼容性问题最典型的就是老版本 VMware Workstation 和 VirtualBox 无法直接运行。第三Windows 家庭版默认找不到“Hyper-V”开关虽然可以通过命令行手动添加功能但官方对这个路径支持得很有限所以如果你长期玩虚拟机尽量选择专业版或企业版系统。这些限制不是用来劝退你的而是为了让你在选择平台时心里有数。如果你需要的是快速、稳定、可回滚、可脚本化的 Win10 虚拟化方案Hyper-V 确实值得认真折腾如果你只是想开着虚拟机玩玩游戏或者尝鲜那随便装个 VirtualBox 反而省事。下面进入正题从最开始的准备工作一步步走。2. 准备工作开启 Hyper-V、检查固件设置、搞定 Win10 镜像2.1 确认你的 Windows 版本并开启 Hyper-V 功能先确认系统版本Win10 专业版、企业版、教育版才有完整的 Hyper-V 图形入口。查看方法右键开始菜单选择“系统”在“关于”里看 Windows 规格里的版本信息。专业版用户可以按 WinR 输入control打开控制面板进入“程序” - “启用或关闭 Windows 功能”在弹出的列表里找到“Hyper-V”把下面所有子项全部勾上点击确定系统会提示重启。我用过的绝大多数机器重启一次后 Hyper-V 管理器和虚拟交换机管理器就可以正常打开了。家庭版没有这个入口但也不是完全没救。用管理员身份打开 PowerShell执行下面这两条命令同样可以手动添加 Hyper-V 功能dism.exe /Online /Disable-Feature:Microsoft-Hyper-V-All Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All注意虽然命令行能强制装上但家庭版本身没有完整的虚拟化调试和管理体验而且后续 Windows 大版本更新时功能有可能被禁用。如果条件允许我建议直接升级到专业版一劳永逸。还有一个小坑开启 Hyper-V 之前先确认当前电脑里没有跑着其他需要独占虚拟化功能的软件否则后面可能冲突。2.2 检查 BIOS/UEFI 里是否开启了 CPU 虚拟化Hyper-V 依赖 CPU 的硬件虚拟化扩展Intel 平台叫 VT-xAMD 平台叫 AMD-V。如果 BIOS 里没开后续创建虚拟机时会直接报“此计算机上未启用虚拟化”或者虚拟机启动后黑屏不动。开机进入 BIOS/UEFI 设置界面找到 CPU 配置相关的选项一般是 Advanced、Processor、Virtualization Technology 之类把它设为 Enabled。不同品牌的主板名字不一样但关键词基本就那几个VT-x、Virtualization、SVM ModeAMD 的叫法。怎么确认 CPU 虚拟化是否已经生效最简单的办法是打开任务管理器切到“性能”选项卡点“CPU”看右下角的“虚拟化”状态是不是“已启用”。也可以打开命令提示符输入systeminfo在输出的“Hyper-V 要求”部分查看。如果显示“检测到虚拟机监控程序”或者“固件中已启用虚拟化”就说明硬件支持且已经开启。如果没开启先去 BIOS 里把它打开重启后再继续这是整个流程里面最容易踩的坑但也是最容易修的坑。2.3 下载原版 Win10 镜像文件创建虚拟机之前要先有一份 Win10 的安装镜像也就是 ISO 文件。我强烈建议只从微软官方渠道下载不要去第三方网站下载精简版或修改版。原版镜像的好处是干净、可更新、兼容性好而且在虚拟机里安装的时候不会遇到各种莫名其妙的驱动问题。微软官网的“下载 Windows 10 光盘映像ISO 文件”页面可以选择版本、语言然后生成官方下载链接下载完成后是一个大约 5GB 的 ISO 文件。如果你所在的网络访问官网下载过慢也可以考虑用“媒体创建工具”Media Creation Tool它会自动下载最新版的 Win10 镜像并且能直接生成可引导的 U 盘但对虚拟机来说直接用 ISO 就够了。下载完成后把 ISO 文件放在一个比较容易找到的路径建议路径不要带空格和中文避免后续挂载时出现意外比如D:\ISO\Win10_22H2.iso。顺便说一句如果你对稳定性要求特别高可以考虑 Win10 企业版 LTSC 版本少了一堆商店应用和后台更新跑虚拟机更清静但授权方式需要自己落实这里就不展开讲了。2.4 为虚拟机预留磁盘空间并想好网络方案安装 Win10 本身占用的磁盘空间不大推荐给虚拟机分配至少 64GB 虚拟硬盘实际使用中如果只做测试和开发64GB 完全够用。如果你想要更灵活也可以在虚拟机里用动态扩展的 VHDX 格式物理磁盘上的占用会随实际数据量增长不一定要一次性占满。内存方面Win10 虚拟机至少给 4GB最好给 8GB太少了系统会卡到让人怀疑人生。同样重要的是先想好网络方案。Hyper-V 里有三种虚拟交换机外部、内部和专用。外部交换机相当于把虚拟机的网卡直接接到物理网卡上虚拟机可以访问局域网里的其他设备宿主机也能直接访问虚拟机内部交换机只能让虚拟机和宿主机互相通信虚拟机想上外网需要额外做 NAT专用交换机则只允许虚拟机之间通信宿主机都进不去。普通人建虚拟机默认选外部交换机就对了先保证能上网再说后面我会专门讲桥接和 NAT 的详细配置。3. 创建虚拟交换机与虚拟机桥接、NAT 与关键参数说明3.1 三种虚拟交换机的原理和选择建议在“Hyper-V 管理器”右侧的操作面板里有“虚拟交换机管理器”入口。点开之后你会看到三种类型的交换机很多人在这里第一次犯迷糊。先说结论如果你想虚拟机既能上外网又能被局域网内其他设备访问选“外部”如果你只希望在宿主机和虚拟机之间通信临时做实验选“内部”再配合 NAT 共享上网如果只是想给多个虚拟机搭一个隔离的内网测试环境选“专用”。我用表格整理一下区别类型宿主机能否访问虚拟机虚拟机能否访问外网典型用途外部可以可以等同于局域网设备Web 服务测试、与物理机互通、多人联调内部仅通过虚拟网卡访问需要配置 NAT 或代理隔离实验、安全测试、仅宿主机访问的服务专用不能不能虚拟机之间通信完全隔离外部交换机本质上是在你的物理网卡上创建了一个桥接虚拟机的流量和物理机的流量通过同一个物理网卡进出所以需要额外注意如果物理网卡被多个网络服务占用比如你在同一块网卡上做了带宽限制或设置了多个 IP桥接的时候很容易出现“交换机创建失败”或者“虚拟机无法上网”的情况。如果遇到重启网卡或删除重新创建通常就能解决。3.2 创建外部虚拟交换机实现与物理网卡桥接打开“虚拟交换机管理器”点击“新建虚拟网络交换机”选择“外部”然后给它起个名字比如ExternalSwitch在“连接类型”里选择“外部网络”并在下面的下拉框里选中你当前正在上网的物理网卡。注意这里默认会勾选“允许管理操作系统共享此网络适配器”这个复选框一定要保留。它的意思是宿主机还能继续通过这块物理网卡上网如果取消勾选宿主机会直接断网虚拟机占用了整个物理网卡。创建完成之后打开控制面板里的“网络连接”你会看到多了一个叫“vEthernet (ExternalSwitch)”的虚拟网卡这就是 Hyper-V 自动创建的桥接网卡。宿主机通常会通过它继续获得 IP 地址虚拟机则直接连接到这个虚拟交换机上。验证桥接是否成功的方法很直接在虚拟机的网络设置里选择这个虚拟交换机开机后进 Win10 系统桌面打开命令行执行ipconfig看是否获取到了和物理网卡同一网段的 IP 地址再ping 一下网关能通就说明桥接正常。3.3 创建内部交换机并为虚拟机配置 NAT内部交换机的创建步骤和外部几乎一样只是连接类型选“内部”。创建之后宿主机上会多出一个虚拟网卡它的 IP 地址默认是169.254.x.x这不能直接用来给虚拟机上外网。Hyper-V 本身没有提供图形化的 NAT 配置功能需要靠 Windows 内置的 NAT 服务来支持。比较常见的方法是给这个虚拟网卡设置一个固定的私有网段 IP比如192.168.137.1然后在宿主机上启用 Internet 连接共享ICS把物理网卡的上网共享给这个虚拟网卡或者用 PowerShell 的New-NetNat命令创建一个 NAT 规则让虚拟机的流量可以经过宿主机出去。我自己更推荐用 PowerShell 的方式因为 ICS 经常会强制把网卡 IP 改成192.168.137.1还可能和已有网络冲突。PowerShell 命令如下New-NetIPAddress -InterfaceAlias vEthernet (InternalSwitch) -IPAddress 192.168.137.1 -PrefixLength 24 New-NetNat -Name InternalNAT -InternalIPInterfaceAddressPrefix 192.168.137.0/24执行之前把InternalSwitch换成你自己的内部交换机名称。配置完后虚拟机网卡设为 DHCP 自动获取或者手动指定192.168.137.x网关填192.168.137.1DNS 填物理网卡当前的 DNS 地址。这套 NAT 方案虽然配置起来比外部交换机麻烦但是可以做到宿主机和虚拟机之间完全隔离适合做一些需要避免干扰的环境。3.4 新建虚拟机时那些容易被忽略的配置项回到 Hyper-V 管理器点击“新建” - “虚拟机”进入向导。第一步会让你选择虚拟机的代数有“第 1 代”和“第 2 代”两个选项。第 2 代虚拟机基于 UEFI 固件启动更快支持安全启动能挂载更大的虚拟硬盘推荐的系统重装方案也是用第 2 代。但注意如果后续想从旧系统迁移或者要用某些特殊启动介质第 1 代更兼容。我自己的习惯是装 Win10 一律选第 2 代装老旧的 Win7 或 32 位 Linux 才会考虑第 1 代。接下来是内存分配。建议“启动内存”填 4096 MB 或 8192 MB如果勾选了“为这台虚拟机使用动态内存”那启动内存是下限虚拟机可以根据负载扩展到最大内存。动态内存在服务器场景很好用但在测试 Win10 时反而容易造成“宿主机内存看着没少虚拟机已经卡死”的现象所以如果你宿主机内存不太充裕还是固定分配更稳定。最后一个关键点在“安装选项”里选择“从可启动的 CD/DVD-ROM 安装操作系统”并在下拉框里选“映像文件”指定你下载好的 Win10 ISO。这样后面虚拟机会自动从光盘启动不需要再去改启动顺序。4. 从 ISO 安装 Win10完整实操流程与细节补充4.1 启动虚拟机并进入安装界面在 Hyper-V 管理器里右键新创建的虚拟机选择“连接”打开虚拟机窗口然后点击窗口里那个绿色的“启动”按钮。如果没有意外虚拟机会从你挂载的 ISO 文件启动屏幕上会出现 Windows 的安装界面和物理机安装一模一样。如果虚拟机直接黑屏或者跑到硬盘引导界面大概率是启动顺序不对。解决办法在虚拟机设置里找到“固件”调整“启动顺序”把“DVD 驱动器”拖到最上面同时确保 “网络适配器”没有排在 DVD 之前。第 2 代虚拟机还可以在开机时快速敲键盘但 Hyper-V 窗口有时会吃掉按键最稳妥的方法反而是在设置里把启动顺序调整好然后重新启动虚拟机。进入安装界面后语言、时间、键盘输入法按默认即可点“下一步”再点“现在安装”。这里有个细节如果你的 ISO 是包含多个版本的镜像比如同时包含家庭版和专业版安装向导会让你选择要装的版本。选专业版通常是通用选择功能最全如果有人想尽量精简且拿到了合法授权选企业版 LTSC 也可以。版本选择完成后接受许可条款进入“自定义仅安装 Windows”这时候就要处理磁盘分区了。4.2 分区和磁盘选择注意别选错虚拟硬盘到这一步你不是在一个物理硬盘上装系统而是在之前创建好的虚拟硬盘上操作。打开磁盘管理器后你会看到一块未分配的空间大小和你创建虚拟机时设置的虚拟硬盘容量一致。直接选中这块未分配空间点击“新建”然后直接点击“应用”。Windows 会自动分出几个隐藏的小分区EFI 分区、MSR 分区、恢复分区等这些不用管剩下的主分区才是系统盘。选主分区点“下一步”开始安装。整个过程大约十几分钟取决于物理机的磁盘速度和虚拟机配置。有几点值得注意第一如果安装过程中提示“无法在驱动器上安装 Windows”通常是因为虚拟机是第 1 代但不小心选了 GPT 分区或者 ISO 里的引导方式不匹配可以回虚拟机设置里看固件类型也可以尝试把所有分区删掉重新格式化再重装。第二除非你很清楚自己在做什么否则不要在同一块虚拟硬盘上同时装 Windows 和 Linux 双系统Hyper-V 引导管理对双系统支持不够友好搞得不好两个系统都起不来。第三如果在安装向导里不小心把虚拟硬盘分成了多个分区后续删除分区时一定要确保选的是虚拟硬盘不要碰宿主机的真正磁盘。4.3 安装后的基础设置分辨率、集成服务和复制粘贴Win10 安装完成后自动进入系统设置页面。这时如果你用的是外接网络直接选择网络连接即可如果在安装时没设置网络可以先跳过不影响系统使用。进入桌面后第一件事不是急着装软件而是设置虚拟机分辨率和剪贴板共享不然你看到的桌面分辨率极低图标巨大鼠标操作还总是不跟手。Hyper-V 的“增强会话模式”就是干这个的。在虚拟机连接窗口的上方菜单栏里有一个“查看” - “增强会话”的选项打开后系统会像远程桌面一样重新连接虚拟机。开启成功之后分辨率会自动适配窗口大小物理机和虚拟机之间可以直接复制粘贴文本和文件。如果这个选项是灰色的说明虚拟机的集成服务没装好。对 Win10 来说集成服务一般会随 Windows 更新自动安装但在某些镜像里不一定完整。打开“设备管理器”检查“系统设备”里是否有“Hyper-V 集成服务”如果没有可以在虚拟机设置里挂载一个vmguest.iso这个文件在你本机安装 Hyper-V 的目录下也可以手动从“Hyper-V 角色”里找到。挂载后在虚拟机里运行安装程序重启一次就正常了。4.4 别忘了给虚拟机打一个初始检查点系统刚装完、驱动和基础软件都配置好后我强烈建议立刻创建一个检查点。在 Hyper-V 管理器里右键虚拟机选择“检查点”系统会生成一个快照。之后你再怎么折腾系统比如安装测试软件、修改注册表、升级驱动只要出问题右键选择“应用”这个检查点几分钟之内就能回到一个干净可用的状态。这个习惯我后来一直保留因为开发环境里“试错再回滚”的周期被大大缩短了。检查点不是无限使用的虚拟机磁盘会随着检查点数量增多而膨胀。每隔一段时间建议右键检查点选择“删除检查点”把历史快照合并到主硬盘里。检查点合并期间宿主机的磁盘 IO 会比较高如果合并时间过长不要强制关机等着就好。5. 网络、性能与日常使用让 Win10 虚拟机真正好用起来5.1 桥接模式下如何确认虚拟机网络正常虚拟机里打开命令提示符输入ipconfig看看 IP 地址是否和物理机在同一网段。比如物理机是192.168.1.10虚拟机应该拿到192.168.1.x的地址再看看网关和 DNS 是否正常。能拿到 IP 不代表网络完全正常最好执行ping 192.168.1.1测一下网关再ping 一个公网域名比如ping baidu.com能通说明 DNS 也正常。如果ipconfig显示的是169.254.x.x说明 DHCP 没有生效也就是虚拟机没真正拿到物理网络的 IP。这个情况大概率是外部交换机桥接失败。先回虚拟交换机管理器删除当前外部交换机重新创建并重新选择一块物理网卡再回到虚拟机设置里把网络适配器重新选一次。还有一种可能是物理网卡驱动本身不支持 Hyper-V 的桥接常见于某些 USB 无线网卡解决方案是换用有线网卡或者改用内部交换机 NAT 的方案。5.2 在虚拟机里跑 Web 服务宿主机如何直接访问这个场景特别常见很多人装完 Win10 虚拟机只是为了起一个网站或者 API 服务然后用宿主机的浏览器去访问。桥接模式下很简单虚拟机的 IP 就是192.168.1.x宿主机直接在浏览器地址栏输入这个 IP 和端口就行。如果打不开先检查虚拟机里的 Windows 防火墙把对应端口入站规则打开。以 IIS 的 80 端口为例可以执行netsh advfirewall firewall add rule nameHTTP dirin actionallow protocolTCP localport80如果虚拟机是 Win10 专业版IIS 功能本身没装需要先到“启用或关闭 Windows 功能”里勾选 Internet Information Services。装好后在浏览器里输入http://localhost能看到 IIS 默认页面宿主机访问http://虚拟机IP应该也能看到。如果用的是 NAT 场景宿主机可以直接访问虚拟机的 NAT 内网地址但同一个局域网内的其他设备想访问虚拟机里的服务就不能走 NAT 了必须用外部桥接模式。5.3 手动调优几个性能选项让虚拟机跑得更稳第一虚拟机的“处理器”设置里可以给它分配多个虚拟处理器但别超过物理机逻辑核心数的一半。如果物理机是 8 核 16 线程给虚拟机 4 个虚拟处理器是比较合理的再多反而会因为 Hyper-V 调度开销而性能下降。第二动态内存不要盲目开启它更适合内存长时间空闲的虚拟机。如果 Win10 虚拟机整天都在编译、跑脚本固定 8GB 内存更可靠。第三虚拟硬盘尽量选择固定大小而不是动态扩展动态扩展虽然省硬盘空间但在极端情况下会产生磁盘碎片和性能波动。第四如果宿主机有 SSD确保虚拟硬盘文件放在 SSD 上顺序 IO 快了虚拟机开机和程序加载的体验会好很多。还有一个很多人容易忽略的点虚拟机里不要安装和宿主机重复的安全防护软件也不需要安装各种“清理大师”。一个干净的原版 Win10加上微软自带的防护跑在 Hyper-V 下完全够用。安全软件开得越多越多磁盘扫描冲突越严重虚拟机的启动速度也会肉眼可见地变慢。5.4 虚拟机开关机的一些小讲究别直接把窗口关掉很多人用完虚拟机直接点窗口右上角的 X以为虚拟机就关了。但实际上虚拟机会在后台继续运行继续消耗 CPU 和内存。正确做法是在虚拟机系统里正常关机或者在 Hyper-V 管理器右键虚拟机选择“关机”。比“关机”更快的是“保存”相当于休眠虚拟机状态会存到磁盘里下次启动可以瞬间恢复。我平时测试完一个环境又不想重启的时候经常用“保存”代替关机恢复速度非常快而且资源立刻释放。如果把 Hyper-V 管理器关掉虚拟机不会停止它只是在后台继续跑。这一点跟 VMware 不太一样VMware 关了主程序虚拟机就停了Hyper-V 的虚拟机更像是一个 Windows 服务独立于管理器存在。刚开始用 Hyper-V 的人经常被这个差异搞懵但习惯了之后你会觉得这反而更方便毕竟可以远程管理、自动启动。6. 常见问题速查表与排障实录6.1 Hyper-V 功能不显示或管理工具打不开打开“启用或关闭 Windows 功能”之后找不到 Hyper-V有几种可能。最常见的是系统版本不支持家庭版默认没有这个功能项解决办法前面讲过要么升级专业版要么用 DISM 命令强制添加。第二种可能是系统更新不完整Windows 功能列表加载异常可以尝试重启 Windows Module Installer 服务或者运行sfc /scannow修复系统文件。第三种情况是注册表组件损坏一般在企业环境里被组策略禁用了 Hyper-V 安装需要找管理员修改策略。还有个小技巧如果你能打开“Hyper-V 管理器”但里面是空的看不到任何虚拟机别急右键 Hyper-V 管理器根节点选择“连接到服务器”确保连接的是本机而不是某个远程服务器。很多人第一次用的时候不小心连到了默认的一台不存在的远程主机结果界面空白还以为安装失败了。6.2 创建虚拟机时或启动时报虚拟化未启用错误这类报错长这样“由于虚拟机监控程序未运行虚拟机无法启动”或者“请确保此计算机的固件设置中已启用虚拟化”。这个问题其实分两层第一层是 CPU 虚拟化功能确实没开解决方法是进 BIOS/UEFI 开启 VT-x 或 AMD-V第二层是功能已经开了但 Windows 本身没有加载 Hyper-V 的 Hypervisor。如果是第二层在管理员 PowerShell 里执行bcdedit /set hypervisorlaunchtype auto然后重启电脑问题通常就能解决。另外要注意某些品牌的电脑会在插电和电池模式下对虚拟化功能进行不同的处理比如部分笔记本在电池供电时自动关闭 VT-x这时候接上电源重启一次再试。如果你在 Windows 安全中心里开启了“内核隔离”或“内存完整性”在个别硬件组合下也可能和 Hyper-V 产生冲突可以临时关掉看看。6.3 外部交换机创建失败或虚拟机桥接后无法上网创建虚拟交换机时报“以太网端口配置失败”多半是物理网卡绑定了多个协议或者网卡上还有旧的管理软件。先到“网络连接”里右键物理网卡打开属性把除了“Microsoft 网络客户端”“Microsoft 网络的文件和打印机共享”“Internet 协议版本 4 (TCP/IPv4)”“Internet 协议版本 6 (TCP/IPv6)”之外的所有项都取消勾选然后重新创建虚拟交换机。如果还不行把物理网卡禁用再启用一次或者把虚拟交换机删除重启电脑后再建。创建成功但虚拟机上不了网先检查虚拟机的网络适配器是否已经绑定了你新建的外部交换机。Hyper-V 管理器里右键虚拟机 - 设置 - 网络适配器把虚拟交换机选成ExternalSwitch。其次进入宿主机“网络连接”右键外部交换机对应的 vEthernet 网卡检查是否拿到 IP。有时候系统会把这个虚拟网卡当作无网络连接来处理在网卡属性里重新选择“Internet 协议版本 4”手动填上物理网卡的 DNS问题也就解决了。如果实在不行重置一下 TCP/IP 协议栈命令是netsh int ip reset然后重启宿主机。6.4 增强会话灰色或无法复制粘贴文件增强会话模式是 Hyper-V 里最实用的功能之一但它在 Win10 虚拟机里偶尔失灵。先看环境宿主机和虚拟机都必须是 Win10 或 Windows Server 2016 以上否则增强会话默认不提供。然后在 Hyper-V 设置里确认“服务器设置” - “增强会话模式策略”已经勾选允许。如果虚拟机的集成服务已经安装但增强会话依然灰色尝试在虚拟机窗口里按 CtrlAltDelete选择“断开”然后重新连接有时候只是连接会话状态卡住了。如果增强会话能连上但复制粘贴还是不行检查虚拟机里的“剪贴板历史记录”设置是否开启了同步Win10 的云剪贴板有时会干扰 Hyper-V 的剪贴板重定向。再不行直接把虚拟机的远程桌面打开用宿主机上的“远程桌面连接”软件连过去也能获得和增强会话几乎一样的复制粘贴体验而且性能更好。这个方法尤其适合虚拟机窗口经常卡顿的情况。6.5 宿主机安装了 VMware 之后 Hyper-V 不太对劲这个坑是很多双修用户踩过的。当你开启 Hyper-V 后老版本 VMware Workstation 会直接报错无法启动虚拟机因为 Hyper-V 接管了硬件虚拟化层。VMware 从 15.5 版本开始支持与 Hyper-V 共存前提是 Windows 的“Windows 虚拟机监控程序平台”功能必须打开同时 VMware 也要检测到 Windows Hypervisor 平台存在。实际操作中即便共存VMware 虚拟机的性能也会有轻微损耗高级虚拟化功能如嵌套虚拟化可能受限。如果腿比较稳坚决要同时用 VMware 和 Hyper-V最好的办法是不要同时运行两者的虚拟机比如日常开发用 Hyper-V偶尔需要模拟旧操作系统时先用bcdedit /set hypervisorlaunchtype off关闭 Hyper-V重启后再用 VMware用完再用bcdedit /set hypervisorlaunchtype auto恢复。这个方法虽然要重启两次但两个平台的兼容性都能保持最好不会因为互相抢占底层资源而留下隐患。7. 最后的几点经验Hyper-V 用久了才明白的事我个人在长期使用 Hyper-V 的过程中慢慢发现一个规律问题大多不是出在 Hyper-V 本身而是出在“宿主机的状态太乱”上。比如物理网卡装了一堆安全软件网络协议绑定得乱七八糟比如 BIOS 被人动过虚拟化功能被关掉又比如系统更新没打全导致 vmbus 驱动和虚拟化组件不匹配。所以在排查任何 Hyper-V 问题之前先把宿主机环境清理干净真的能省去很多时间。还有一个小经验值得单独说虚拟机的“检查点”不要一直留着不清理尤其是长时间运行的生产环境检查点越多虚拟硬盘膨胀越严重最后可能导致磁盘空间耗尽而影响宿主机运行。我一般每两周检查一次删除过期的检查点把虚拟机在稳定状态下重新打一个检查点作为新的“干净基线”。这套操作下来我的 Win10 虚拟机已经连续稳定运行了将近一年中途经历过系统大版本更新也折腾过各种软件基本没出过什么大问题。如果你打算长期用 Hyper-V 跑 Win10最后再分享一个建议给虚拟机设置一个固定 IP。默认 DHCP 虽然方便但当虚拟机重启后 IP 地址变了你之前配置的所有端口转发、远程桌面连接、Web 服务访问地址就全部失效。在虚拟机里设置固定 IP或者在宿主机上给虚拟网卡做一个 MAC 地址绑定可以彻底避免这种“地址漂移”带来的麻烦。这个细节很多人过了很久才意识到我希望你从一开始就避开。
返回列表