
最近如果你刚到手一台预装 Windows 11 的新电脑想装华为 eNSP 做网络实验我打赌你大概率会卡在同一个地方软件全部装完拓扑拖完右键启动 AR1几秒后报一个 40 错误或者更折磨人的AR1 停在终端窗口里一整排#号刷完就没动静了。这十有八九不是 eNSP 本身的问题而是 Win11 默认开启的基于虚拟化的安全性VBS跟 eNSP 自带的那套老版本 VirtualBox 在底层权限上互相占道谁也绕不过谁。这篇文章把我实际折腾的一条完整路径写出来先从原理讲清楚为什么 Win11 这么容易翻车再给真机安装和关闭 VBS 的具体操作接着是 AR 设备启动失败 40、一直#号的排障链路最后讲为什么我后来改用 VMware17 虚拟机跑一个现成的干净环境。新手可以直接照着抄老手也能从排查思路里找到点参考。1. 为什么 eNSP 在 Windows11 上死活跑不起来VBS 与老版 VirtualBox 的冲突真相1.1 eNSP 到底是怎么运行网络设备的很多人把 eNSP 当成一个普通的“软件”其实它不是一个单体模拟器而是一个“三明治”结构。最上层是华为的图形界面和拓扑逻辑中间是设备镜像文件底层则是 Oracle 的 VirtualBox。你每拖一台 AR 路由器到拓扑图上eNSP 就会在后台调用 VirtualBox 启动一个对应的虚拟机VRP 系统在这个虚拟机里跑起来然后多个设备之间通过虚拟网卡互联最终形成你看到的拓扑。理解了这一层很多问题就通顺了只要 VirtualBox 起不来eNSP 的设备就一定起不来。而你看到的“启动 AR1 失败错误代码 40”本质上就是 eNSP 在向 VirtualBox 要虚拟机实例时VirtualBox 返回了异常。所以排查 eNSP 设备问题第一反应不应该是怀疑配置写错了而是应该先看底层的 VirtualBox 到底能不能正常工作。1.2 VBS 是怎么把老版 VirtualBox 卡死的Windows 11 从 22H2 开始安全机制比 Win10 时代激进得多。默认情况下它会打开基于虚拟化的安全性VBS里面最常见的就是“内存完整性”也叫内核隔离。VBS 的思路是Windows 自己先启动一个 Hypervisor虚拟机监控程序把内核关键区域隔离在一个受保护的内存环境里运行。问题就出在这里一旦 Hypervisor 启动它就接管了 CPU 的硬件虚拟化能力也就是 VT-x/AMD-V。VirtualBox 5.2 乃至 6.0 前中期的版本默认是直接访问 VT-x 指令来运行虚拟机的而不是像 VirtualBox 6.1 那样可以兼容 Hyper-V 后端。当 Windows 的 Hypervisor 已经占住 VT-x老版 VirtualBox 再想用同一套硬件指令就会跟系统管理程序打架最终表现为 VirtualBox 打开虚拟机失败eNSP 上层设备自然也就跟着报 40。这里有个反直觉的点很多人以为“只要任务管理器里 CPU 虚拟化显示已启用VirtualBox 就能跑”这是错的。任务管理器显示的是 BIOS 层面的 VT-x/AMD-V 开关而 VBS 是在这之上又套了一层 Hypervisor。相当于硬件虚拟化的大门是敞开的但门口被 Windows 自己的管理员堵住了VirtualBox 只能在外面干瞪眼。1.3 先判断你的电脑到底有没有中招在动手关闭之前先花十秒钟确认你机器到底是不是 VBS 引起的。按Win R输入msinfo32回车在系统摘要里往下找到一行“基于虚拟化的安全性”。如果显示“正在运行”或“已启用”那基本可以断定你的 eNSP 设备起不来跟 VBS 有直接关系。如果显示“未启用”那问题可能出在 VirtualBox 版本、驱动、防火墙或者安装顺序上后面第三章再细查。也可以用 PowerShell 查得更准确Get-CimInstance -ClassName Win32_DeviceGuard -Namespace root\Microsoft\Windows\DeviceGuard | Select-Object VirtualizationBasedSecurityStatus这个状态值含义大概是0 表示未启用1 表示启用但未运行2 表示启用且正在运行。如果你看到 2别犹豫往下走关闭流程。2. 真机路线关闭基于虚拟化的安全性的完整操作含 Win11 家庭版2.1 界面入口最快的方法先关“内存完整性”关闭 VBS 最快的方式是直接关掉“内存完整性”这个开关。路径在Windows 安全中心→设备安全性→核心隔离有的系统版本叫“内核隔离” →内存完整性→ 关闭。操作完系统会提示重启。这一步对大部分普通用户来说就够了因为很多 Win11 预装机器开 VBS 就是通过内存完整性实现的。但说实话只关这个开关并不一定能把 Hypervisor 彻底请走。有些系统上即使内存完整性关掉了底层 Hypervisor 还是被 Credential Guard 或者 Device Guard 占着。这就是为什么很多人明明关了“内存完整性”重启后msinfo32里“基于虚拟化的安全性”依然显示“正在运行”。所以真正干净的关闭建议把下面几招一起做。2.2 家庭版没有组策略注册表方案照样关Win11 家庭版没有gpedit.msc组策略编辑器这是很多教程最坑的地方——贴了一堆组策略步骤家庭版用户根本找不到入口。其实不用组策略用注册表也能把 Device Guard 和基于虚拟化的安全性关掉。新建一个文本文件把下面内容粘进去后缀改成.reg右键合并然后重启Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\DeviceGuard] EnableVirtualizationBasedSecuritydword:00000000 RequirePlatformSecurityFeaturesdword:00000000 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\DeviceGuard\Scenarios\HypervisorEnforcedCodeIntegrity] Enableddword:00000000如果你用的是 Win11 专业版或企业版更推荐走组策略路径如下gpedit.msc→计算机配置→管理模板→系统→Device Guard→打开基于虚拟化的安全性→ 选择“已禁用”。这里要注意的是组策略里的“已禁用”和注册表里的键值本质上是同一个东西在写注册表所以两套方案不需要重复执行挑你系统能用的那套就行。没有组策略的家庭版注册表是最靠谱的路。2.3 用 bcdedit 关掉 Hypervisor 自启以及后续影响关完内存完整性和 Device Guard还需要用bcdedit把 Hypervisor 的自启动关掉。这一步很关键因为负责 VBS 的 Hypervisor 是跟着 Windows Boot Manager 走的它不关Hypervisor 还会在开机阶段抢先加载。用管理员身份打开命令提示符或 Windows PowerShell执行bcdedit /set hypervisorlaunchtype off执行成功后重启。以后想恢复把off改回auto即可。但必须提醒一句这个命令会直接影响 Windows 的虚拟化全家桶包括 Windows 沙盒、Hyper-V、WSL2还有基于虚拟化的 Credential Guard。如果你日常工作重度依赖 WSL2关掉 hypervisorlaunchtype 后 WSL2 会直接不能用了。我的建议是这台电脑如果主要用来做网络实验那就关如果还要兼顾开发环境建议走第四章的 VMware 虚拟机方案把 eNSP 隔离到虚拟机里宿主这边保留 WSL2。2.4 重启后必须做的两项自检关闭操作做完重启之后别急着开 eNSP先确认两个东西。第一去任务管理器性能→CPU看“虚拟化”这一行是否显示“已启用”。这里只需要确认 BIOS 层面的虚拟化是打开的就行。如果这行显示“已禁用”说明你的 BIOS 里没开 VT-x/AMD-V需要重启进 BIOS在 CPU 或高级设置里找到 Intel Virtualization Technology / AMD SVM Mode打开后保存退出。第二再次运行msinfo32看“基于虚拟化的安全性”这一行。如果现在显示“未启用”说明 Hypervisor 已经把 VT-x 让出来了VBS 问题解决。如果还是“已启用”检查一下 BIOS 里的 Secure Boot 有没有被安全策略锁死以及你的系统是不是企业域环境。域环境有时会通过策略强制重新开启 VBS这种单靠本机设置是关不掉的只能请管理员放出策略或者走虚拟机方案。3. eNSP 安装、AR1 失败 40、路由器一直#号的完整排障链路3.1 安装前先把依赖环境搞干净VBS 关完之后eNSP 能不能顺利跑起来很大程度取决于安装顺序。我先讲最省心的安装路径如果有旧版 VirtualBox先卸载干净尤其别混着装 VirtualBox 7.x。eNSP 官方包在老版本常见如 1.3.00.100里配套的是 VirtualBox 5.2.x个别 SP 包会用到 6.0.x但核心原则是保持 eNSP 安装包自带的 VirtualBox 版本不要单独升级。安装 WinPcap。可以用官方 WinPcap 4.1.3。如果系统提示驱动不兼容可以换成 Npcap 的 WinPcap 兼容模式。但注意 Npcap 和 WinPcap 不要同时装这俩驱动会冲突装之前把老的清理干净。以管理员身份运行 eNSP 安装包安装路径用默认的英文路径别手动改成中文目录。装完 eNSP 后右键 eNSP 快捷方式选择“以管理员身份运行”。很多第一次接触的人会在第 2 步偷懒不装 WinPcap结果拓扑上的设备全起不来。这个依赖不用抓包功能但 eNSP 靠它创建底层虚拟链路缺了不行。3.2 AR 设备启动失败 40 的逐级排查如果你按上面装完还是报“启动 AR1 失败 40”先别急着卸载按这个顺序往下查。第一步确认 VBS 真的关了。不少人是关完“内存完整性”不重启就直接开 eNSP当然没用还有人是注册表没生效msinfo32显示还开着。这一步通过第二节的自检确认。第二步确认 VirtualBox 能单独启动。手动打开 VirtualBox 主界面看里面有没有 eNSP 导入的设备。如果 VirtualBox 里设备本身打着红色感叹号说明 VirtualBox 运行环境有问题如果 VirtualBox 主界面打不开或报错多半是 VBox 驱动被禁用、杀毒软件拦截了 VBoxSVC。第三步检查虚拟网卡。打开控制面板 → 网络连接看有没有 “VirtualBox Host-Only Network” 这张网卡。没有的话去 VirtualBox 全局设置 → 网络 → Host-Only 网络里新建一张或者直接卸载重装 VirtualBox。eNSP 设备间的通信全靠这张虚拟网卡缺了它设备即使能启动也互相不通。第四步临时退出杀毒软件和 Windows Defender 的实时防护再试一次。很多安全软件会在 eNSP 启动设备的瞬间锁定 VirtualBox 的进程和 .vdi 镜像文件导致启动超时报 40。如果退出安全软件后正常请把 eNSP 安装目录、VirtualBox 安装目录和你的拓扑保存目录加入白名单。我用一个表把这个链路的判断方式列出来方便你对号入座现象大概率原因先试哪一步启动设备立即报 40VBS/Hypervisor 还没关干净msinfo32确认 VBS 状态执行bcdedit /set hypervisorlaunchtype offVirtualBox 界面正常eNSP 启动失败杀毒/Defender 实时防护拦截添加白名单或临时退出安全软件缺少 Host-Only 网卡VirtualBox 网络组件损坏VirtualBox 全局设置新建 Host-Only 网络或卸载重装启动报错提示 VT-x 不可用BIOS 未开虚拟化或 VM 嵌套未开任务管理器确认“虚拟化”状态进 BIOS 开启装了新版本 VirtualBox与 eNSP 不兼容卸载改回 eNSP 自带的 5.2.x/6.0.x3.3 路由器启动一直#号别急着删除重来AR1 启动后终端里一直是#号很多人以为是死机了其实这更像是“卡在启动流程中”。eNSP 的路由器镜像本质上是完整在虚拟机上加载 VRP 系统首次启动时需要解压内存镜像比较慢尤其在你电脑内存小、硬盘是机械盘的情况下等个两三分钟都是正常的。但如果你等了五分钟以上还是#就需要排查了。最常见的两个原因一是设备文件被安全软件锁住虚拟机的 CPU 空转二是你的拓扑里拖了太多设备CPU 已经跑满每个设备分到的资源不够。我的习惯做法是遇到一直#先打开 VirtualBox 主界面右键对应设备看 CPU 占用率是不是在跳。如果在跳说明系统还在加载再等一会儿。如果 CPU 占用一直是 0%说明这个虚拟机的进程被卡住了右键删除设备重新拖一台出来再启动。还有一个小技巧右键 eNSP 的“启动”按钮不一定非要双击设备图标可以直接用 eNSP 工具栏里的批量启动。但批量启动会在同一时间拉起大量虚拟机电脑扛不住的话反而更容易出现#卡死。所以我的建议是逐个启动启动完一个等它#变成路由器命令行提示符再启动下一个。3.4 重装大法实用向与防火墙/杀毒例外如果以上都试过还是不行那确实可以上最后的兜底方案彻底卸载重装。但这里说的“彻底”不是简单添加删除程序而是清理干净所有残留。步骤是先卸载 eNSP再卸载 VirtualBox再卸载 WinPcap/Npcap然后重启。重启后搜索 C 盘里跟Huawei、eNSP、VirtualBox相关的目录和注册表残留有强迫症的话可以用系统优化工具清一次注册表但至少要把用户目录下的 eNSP 隐藏配置目录删掉位置一般在C:\Users\你的用户名下面名字带.eNSP开头。不删干净就重装大概率还是会复现同样的问题因为 eNSP 第一次启动时会尝试重新加载设备模板但残留的 VirtualBox 配置会干扰它。装完之后Windows Defender 里给 eNSP 和 VirtualBox 目录设置排除项再重启一次然后按第三章的顺序安装。这套组合拳我在好几台 Win11 机器上验证过成功率很高。4. 不愿动系统用 VMware17 虚拟机跑 eNSP绕开所有兼容性折磨4.1 为什么 VMware17 比在 Win11 真机硬扛靠谱说实话eNSP 是很多年前的老软件华为官方对 Win11 的适配一直不是很积极。就算你把 VBS 关了也可能碰到 Win11 某个更新后内核又变了、VirtualBox 老版本驱动又掉链子的情况。所以我自己实际用下来最省心的方案是不要在 Win11 真机里硬扛 eNSP而是在 VMware Workstation 17 里开一台 Windows 10 虚拟机eNSP 跑在虚拟机里。这个思路的好处有三个虚拟机里的系统环境是可控的不受宿主 Win11 更新影响。eNSP 需要的老版 VirtualBox 在 Win10 里兼容性更好不需要跟 VBS 死磕。打完干净快照后怎么折腾都行崩了恢复快照就回到原始状态。对普通学习来说VMware Workstation 17 个人使用现在是免费的不需要满网找破解和许可证。安装完提示许可证时按个人非商业用途注册登录即可。所以不要被网上一堆激活码帖子带偏免费路径是官方有的。4.2 导入现成模板时的三个关键设置如果你拿到的是已经装好的 VMware17 虚拟机模板操作会比从头搭建简单很多。解压到本地后用 VMware Workstation 17 打开.vmx文件如果是 OVA/OVF 则走“打开”导入流程。开机之前有三个地方一定要检查第一路径不能有中文。模板解压后如果放在D:\网工实验\ensp-wm这种带中文的路径里VMware 可能在启动时提示找不到文件或虚拟磁盘加载失败。改成全英文路径最稳妥。第二开机时如果弹出“该虚拟机是否已移动或复制”一定要选“我已移动该虚拟机”。这个选项影响虚拟网卡的 MAC 地址策略选“我已复制”会重置网卡可能导致虚拟机内 Wind 7/10 的网络标识变化。虽然 eNSP 主要靠 VirtualBox 的 Host-Only 网卡通信但避免节外生枝还是选“我已移动”最好。第三确认虚拟机的“虚拟化引擎”选项勾上了。方法是右键虚拟机 → 设置 → 处理器在“虚拟化引擎”区域勾选“虚拟化 Intel VT-x/EPT 或 AMD-V/RVI”。这个选项决定虚拟机内能不能再嵌套运行一层 VirtualBox。4.3 在 VMware 里再跑 VirtualBox 的嵌套虚拟化注意点很多人第一次听说“虚拟机里再跑虚拟机”会觉得别扭但 eNSP 在 VMware 虚拟机里的运行方式确实就是这样VMware 为客户机虚拟化出一台“完整的物理机”在这台 Win10 客户机里面再安装 VirtualBox 来跑 eNSP 的设备。只要三个阶段都满足它就能稳定跑宿主 Win11 的 VBS/Hypervisor 处于关闭状态或者在 VMware 设置里允许向客户机透传 VT-x。VMware 虚拟机的处理器设置里勾选了“虚拟化 Intel VT-x/EPT 或 AMD-V/RVI”。客户机 Win10 系统里不要开启 Hyper-V、内核隔离这些功能。如果中间断了一环你在 Win10 虚拟机里启动 eNSP 时通常会提示“虚拟机监控程序功能对该用户不可用”。这句话的意思是 VMware 没有把硬件虚拟化能力完整传递给这台客户机。优先检查宿主的 VBS 是否还开着其次检查 VM 设置里的虚拟化引擎有没有勾。很多人只看 VM 设置忽略了宿主 VBS所以一直解决不了。另外虚拟机的资源配置不要太抠门。eNSP 启动一台 AR 设备就要吃几百 MB 内存多台设备拓扑对内存和 CPU 都是压力。模板默认配置如果只有 2 核 4G跑三台设备可能就卡到怀疑人生。我的经验是最少给 4 核、8G 内存硬盘如果是 SSD 就更好。4.4 如何把虚拟机模板做成自己的“免折腾环境”拿到现成模板后建议先做一次“初始化快照”。开机进入 Win10 虚拟机桌面后确认 eNSP 能正常启动一台路由器、能跑通一个最小的两台路由器互联拓扑然后关机右键虚拟机 → 快照 → 拍摄快照命名“干净可用”。以后实验做到一半把系统搞崩了回到这个快照就是全新状态。如果以后想把这套环境搬到别的电脑或者分享给同学用 VMware 的“文件 → 导出为 OVF”功能直接导出c:\xxx.ova即可。再配合 VM 设置里把内存、CPU 改成新电脑合适的值一套可复制的 eNSP 环境就做好了。这台 VMware 虚拟机在我的工作流里某种程度上比实体机上的 eNSP 更重要——它负责屏蔽所有宿主系统带来的不确定性。5. 长期稳定使用 eNSP维护细节和几个必须记牢的坑5.1 系统更新后 VBS 可能又被打开我用 Win11 真机跑 eNSP 时踩过最防不胜防的坑就是 Windows 更新后msinfo32里“基于虚拟化的安全性”又从“未启用”变回了“正在运行”。这不是玄学安全补丁有时会把“内存完整性”开关重置为开启状态尤其大版本功能更新后很容易出现。所以我的习惯是每次系统更新完花三十秒跑一次第一节的检查。如果 VBS 被重新开启按第二节的流程再关一遍。这一步不能省因为 eNSP 报 40 的速度往往比发现系统更新还快。5.2 别把 WSL2、Hyper-V 和 eNSP 硬塞在一起前面提过关闭 VBS 会影响 WSL2 和 Hyper-V。如果你的工作流里必须保留 WSL2那我强烈建议直接放弃真机 eNSP改用第四章的 VMware 虚拟机方案。这样宿主 Win11 的 VBS/Hyper-V 可以按你的开发需求保留eNSP 在自己的 Win10 虚拟机里独立运行两边互不干扰。我自己就遇到过因为绷不住“既要 WSL2 又要 eNSP”的贪心反复开关hypervisorlaunchtype最后折腾到系统引导都出了小问题。后来老老实实分离到虚拟机里一劳永逸。5.3 杀毒软件白名单和拓扑备份在 eNSP 日常使用中最容易被忽略的是杀毒软件。Windows Defender 实时防护有时会对 eNSP 安装目录下的某些设备文件产生误报导致启动时设备文件被锁。我的做法是在 Defender 的“排除项”里加上 eNSP 安装目录、VirtualBox 安装目录、topo 文件保存目录这样既不用关闭实时防护又能保证 eNSP 正常读设备文件。拓扑文件本身很小建议养成定期备份的习惯。我的习惯是建立一个“实验版本”文件夹每个拓扑文件命名带上日期和实验名称比如2025-06-26-静态路由-三台路由攒一段时间后统一丢进网盘。eNSP 的软件问题和系统环境问题可以通过快照解决但自己手写的实验拓扑丢了才是真的血亏。最后说点个人体会。我在 Win11 上折腾 eNSP 那几天一度把问题归结为“Windows 太烂”后来冷静下来才发现本质原因就是老软件和新系统之间的虚拟化栈不兼容而 VBS 只是压垮骆驼的第一根稻草。所以如果你也在反复重装中烦躁我的建议是优先走 VMware 虚拟机这条路线而不是在真实系统上跟安全机制死磕。模板导入后先拍快照再把内存调到 8G后续的 eNSP 学习体验会稳定很多。这个方案陪我从静态路由做到了 OSPF 综合实验再也没有因为“设备启动失败”打断过实验节奏。