最近不少人在Windows 11上装eNSP,装完一启动AR路由器就卡在井号,或者直接报错“启动设备AR1失败40”。网上说法很多,什么WinPcap没装好、VirtualBox版本不对、要关Hyper-V,看得人头晕。我前前后后折腾了三天,把Windows 11专业版、家庭版、还有VirtualBox和VMware 17的组合都试了个遍,最后才把整条路走通。
这里把完整的踩坑经过和可用方案整理出来,包括eNSP在Windows 11上的安装顺序、基于虚拟化的安全性(VBS)如何关闭,以及为什么“用VMware 17装一个干净虚拟机再跑eNSP”反而是最省心的路子。这篇东西适合所有被eNSP启动问题折磨的人,也适合刚准备在Windows 11上做网络实验的新手。
1. 问题背后:为什么eNSP在Windows 11上跑不起来
很多人一上来就怀疑是eNSP安装包有问题,其实Windows 11本身给eNSP挖了两个大坑:一个是默认开启的基于虚拟化的安全性(VBS),另一个是Hyper-V和虚拟机平台这些Windows功能。不把这两个东西搞清楚,换哪个版本的eNSP都一样废。
1.1 先看eNSP依赖什么才能跑
eNSP叫“企业网络模拟平台”,实际干活的时候要调用三个外部组件:
- WinPcap:用于抓包和虚拟网卡通信,替代品Npcap也能凑合但兼容性差一些。
- VirtualBox:eNSP内置的路由器、交换机镜像,都是跑在VirtualBox里的虚拟机。
- Wireshark:抓包分析用,安装eNSP的时候会一起装上,但版本冲突也会导致启动失败。
eNSP的运行逻辑是:你在画布上拖出来的每台设备,本质上就是VirtualBox里面的一台虚拟机。这些虚拟机的CPU虚拟化要求很高,Windows 11一旦开启了VBS或Hyper-V,VirtualBox就没办法直接访问硬件虚拟化层,设备自然起不来。
1.2 罪魁祸首:基于虚拟化的安全性(VBS)和Hyper-V
基于虚拟化的安全性(VBS)是Windows 11的安全机制,它会在Windows内核下面再套一层虚拟化隔离。听上去很安全,但对于VirtualBox这种需要直接调用虚拟化指令的软件来说,这层隔离就是“拦路虎”。
实际表现是:
- eNSP拓扑里的设备启动后一直显示井号(####),等多久都没反应。
- 设备直接报“启动设备AR1失败40”,点开详情会看到VirtualBox内部错误。
- 偶尔能启动,但运行一会儿路由器就自动退出,或者设备图标变成灰色。
Hyper-V也是同一个道理。Windows 11的“Hyper-V”、“虚拟机平台”、“Windows 虚拟机监控程序平台”这几个功能只要开着,VirtualBox就默认走不了硬件加速,AR路由器直接罢工。
1.3 什么时候用VMware 17绕开坑
如果只是跑eNSP,关掉VBS和Hyper-V就够用了。但实际场景里很多人电脑上还装了Docker Desktop、WSL2、安卓模拟器,这些又必须开虚拟机平台。一关一开之间来回重启,实在太折腾。
我在测试中发现:用VMware 17装一个纯净版的Windows 10虚拟机,再把eNSP装进虚拟机里,是最干净的隔离方案。这样宿主机该开Hyper-V开Hyper-V,该跑Docker跑Docker,完全不影响eNSP。缺点是虚拟机里跑eNSP对内存要求高,建议宿主机至少16GB内存,给虚拟机分配8GB以上。
2. eNSP安装的正确打开方式(Windows 11版)
我试过很多种安装顺序,最后稳定复现成功的组合是:WinPcap 4.1.3 + VirtualBox 5.2.44 + Wireshark 3.4.x + eNSP V100R003C00SPC100。这个版本组合不是我拍脑袋想出来的,是华为官方文档里明确标注的兼容版本,网上那些“可以用新版VirtualBox替换”的说法不太靠谱,我亲自试过,能开拓扑但设备之间通信经常莫名其妙丢包。
2.1 装之前先把环境理顺:WinPcap、VirtualBox、Wireshark
安装顺序必须严格按这个来:
- 先装WinPcap 4.1.3。装的时候右键管理员身份运行,别改默认目录。WinPcap老版本和Windows 11的网卡驱动偶尔不兼容,装完记得打开设备管理器看看有没有“NPF”相关设备。
- 再装VirtualBox 5.2.44。不用选太新的版本,eNSP对VirtualBox版本非常敏感,装到6.0以上反而会出现设备创建失败。注意VirtualBox安装时会装虚拟网卡驱动,如果Windows 11弹出“不兼容的驱动程序”警告,不要忽略。
- 安装Wireshark。eNSP内置的是3.2版本,但实际装3.4版本也没问题。安装过程中WinPcap会提示是否安装USBPcap,不用勾选。
- 最后装eNSP本体。解压的时候不要让压缩包直接运行安装程序,先解压到纯英文目录,比如
D:\soft\eNSP,再右键管理员身份运行setup.exe。
2.2 eNSP安装顺序与目录禁忌
eNSP安装有俩硬性要求:
- 安装路径不能有中文、空格、特殊符号。
D:\Program Files\eNSP这种都不建议,别问为什么,VirtualBox主机网络管理界面会直接识别不到。 - 安装时最好断网。eNSP安装程序会做在线环境检测,断网安装反而能跳过一些不必要的检测步骤。
安装完成之后,打开eNSP看看左下角有没有警告图标。我遇到过装好后VirtualBox图标显示正常,但Wireshark显示“未安装”,原因是我先装了eNSP再补Wireshark,顺序反了导致eNSP没检测到抓包路径。遇到这种问题不用卸载重装,找到eNSP安装目录下的ensp.ini文件,检查里面关于抓包工具的路径配置是否有误即可。
2.3 安装后第一件事:检查VirtualBox/网卡/服务
装完eNSP别急着拖设备,先把环境自检一遍。打开VirtualBox管理界面,点“管理”菜单,看“虚拟介质管理”里有没有“eNSP”开头的虚拟机模板。再打开“全局设定-网络”,看有没有名为“VirtualBox Host-Only Network”的网卡。
如果VirtualBox里没有eNSP设备模板,说明eNSP和VirtualBox没对接上。常见的处理办法是:打开eNSP目录下的vbox文件夹,确认里面存在eNSP_Switch.vbox等设备文件,然后用VirtualBox的“注册虚拟机”功能手动注册一遍。
服务方面,VirtualBox相关的服务叫什么名字我记不清了,但网上有人说要启动VirtualBoxSDS服务,其实eNSP依赖的是VirtualBox主服务。如果你用Microsoft工具查看服务列表看到VirtualBox相关的服务状态是“已停止”,手动启动并设置为自动。这个细节在Windows 11上尤其重要,我自己第一次就是因为这个服务没启动,白折腾了一个多小时。
3. 关闭基于虚拟化的安全性(VBS)实操
VBS不是非要全关,如果你电脑上不跑Docker和WSL,直接把VBS关掉是最省事的。很多人分不清“VBS”和“内存完整性”是两个不同层级的东西:内存完整性只是VBS的一个子功能,VBS还包括内核隔离、凭据保护等功能。只关内存完整性有时候不够,AR设备照样起不来。
3.1 先查VBS到底开没开
按Win+R输入msinfo32打开系统信息,拉到最底下看“基于虚拟化的安全性”这一项。如果显示“正在运行”,说明VBS开着;显示“未启用”就跳过本章剩余部分去做第4章。
这个信息也可以在命令行里查。以管理员身份打开PowerShell,输入:
Get-CimInstance -ClassName Win32_DeviceGuard -Namespace root\Microsoft\Windows\DeviceGuard看VirtualizationBasedSecurityStatus,为1就是开启,2是启用但未运行。注意Server版本和部分企业版系统即使显示“未启用”,实际仍有残留功能,这种情况建议把Hyper-V相关功能也一并关掉。
3.2 方法一:在Windows安全中心里关内存完整性
最简单的方法,先试这个。打开Windows安全中心,进入“设备安全性-内核隔离”,把“内存完整性”的开关关掉。关掉之后系统一般会提示重启。这个方法能解决大部分eNSP启动问题,因为“内存完整性”开启时VirtualBox无法加载它自己的驱动。
但注意,内存完整性只是VBS的一个功能,只关它有时候不够。如果关了内存完整性重启后,系统信息里VBS显示的还是“正在运行”,继续往下看。
3.3 方法二:用注册表彻底关闭VBS
管理员身份运行regedit,转到:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\DeviceGuard在右侧新建一个DWORD(32位)值,名称是EnableVirtualizationBasedSecurity,数值数据改成0。然后继续在:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\DeviceGuard\Scenarios\HypervisorEnforcedCodeIntegrity把Enabled的值也改成0。如果没有这个键,手动创建就行。
注册表改完重启,VBS基本就关了。如果重启后还是“正在运行”,需要执行以下命令,一步到位:
bcdedit /set hypervisorlaunchtype off这个命令用来关闭Hyper-V后残留的hypervisor启动项。注意执行完这一条之后,虚拟化平台功能对VirtualBox就完全放开了,但Docker和WSL2会受影响,这也是为什么建议用虚拟机方案的原因。
3.4 方法三:组策略关闭凭据保护
有些系统版本,例如部分企业版和教育版,即使注册表和bcdedit都改了,VBS还是会自动开启。这时需要检查“计算机配置-管理模板-系统-Device Guard-启用基于虚拟化的安全性”。Win+R输入gpedit.msc打开本地组策略编辑器,找到“启用基于虚拟化的安全性”,选“已禁用”。
顺带把“打开安全策略”设置为“已禁用”。如果gpedit.msc打不开,说明你是Windows 11家庭版,可以先运行一下:
bcdedit /set {0cb3b5c5-5715-4f5b-b594-2c2e9b8a5c4b} loadoptions DISABLE-LSAISO再重启。这个命令在家庭版上通常有效。
3.5 关完VBS后检查Hyper-V和虚拟机平台的开关状态
关完VBS不一定万事大吉,还要检查Windows功能里有没有开Hyper-V、虚拟机平台、Windows虚拟机监控程序平台。控制面板-程序-启用或关闭Windows功能,如果这三项里任何一项打勾,VirtualBox还是要被压着打。
一个更直接的判断方式是:打开VirtualBox首选项,看看虚拟化引擎里是否有“仅限软件”的提示。关掉这些功能后,纯硬件加速模式就能跑了。需要注意,如果你还指望着WSL2正常干活,这一步会把WSL2废掉,所以我才反复强调“虚拟机隔离方案”。
4. 用VMware 17搭一个“干净版”运行环境(可选方案)
折腾完第3章,eNSP在宿主机上基本能跑了。但如果你的电脑是Windows 11装了一些必要开发工具,不巧还要用Docker,那VBS和Hyper-V始终是个矛盾。我在实际使用中逐渐接受了一个方案:宿主机保持原有配置不动,用VMware 17开一台虚拟机,在虚拟机里装eNSP。这样两边互不干扰,反而是长期使用最稳的状态。
4.1 为什么推荐VMware 17而不是直接在Win11里折腾
先说清楚,VMware Workstation 17现在个人使用已经免费了,直接去官网下载就行,不需要去找什么许可证密钥。不像某些解压即用的版本,官方个人版省心得多。
VMware 17和VirtualBox同时装在一台电脑上确实有冲突风险,但你只是想用VMware来跑一个带eNSP的系统,平时又在宿主机上还要用VirtualBox,这个冲突面就很小。我实测在Windows 11宿主机上装好VMware 17,再在它里面创建Windows 10虚拟机,性能损耗很小,eNSP设备启动速度比在宿主机上直接跑还快——因为虚拟机里没有乱七八糟的安全机制干扰。
4.2 VMware 17安装要点与虚拟机配置参数
VMware 17安装很简单,一路Next就行,注意不用在安装时改配置。装完后创建虚拟机时,建议选“自定义硬件”,按下面的参数来:
- 操作系统:Windows 10 x64(兼容性比Windows 11更好,eNSP本来就是华为在Win7/Win10时代开发的)。
- 内存:至少8GB,如果你的宿主机是16GB,就把虚拟机内存设成8GB。eNSP跑3-4台设备大概吃4-5GB内存,8GB很稳妥。
- 处理器:2核起步。在处理器设置里勾选“虚拟化Intel VT-x/AMD-V”,否则AR设备还是起不来。
- 网络:NAT模式。eNSP实验里很多时候要配DHCP或外部通信,NAT模式最通用。
- 加速3D图形:不用勾,eNSP是二维拓扑软件,不需要3D加速。
创建完虚拟机后,在安装系统前先进“处理器设置”,确认“虚拟化引擎”里的“虚拟化Intel VT-x/AMD-V”和“嵌套虚拟化”都勾上。这一点是eNSP在VMware里能不能正常启动AR设备的关键,漏掉的话报错情况和宿主机开VBS时一模一样。
4.3 把eNSP安装在VM里的注意事项
在虚拟机里装eNSP,步骤和在第2章里一样,唯一多出来的一步是:Windows 10虚拟机里的系统更新建议先暂停,避免自动更新把WinPcap或VirtualBox的驱动覆盖掉。
虚拟机里装完eNSP后,建议做一个快照。快照保存的是当前状态,做一次实验前存个快照,实验做坏了或者eNSP崩了,恢复快照一秒钟回去。这点在宿主机上很难做到,在虚拟机里就是个常规操作。我自己习惯做三个快照:刚装好系统的、刚装好eNSP的、配置好基础实验的开始状态。
为什么不直接提供一个装好的VMware 17虚拟机文件?一是虚拟机会包含Windows系统授权信息,分享出去容易踩授权红线;二是每个实验室的网络拓扑、预置配置都不一样,给一个万能模板反而不接地气。按照上面的步骤自己创建,二十分钟能搞定,还能顺手练练虚拟机基本操作。
5. 常见问题排查:把坑填平再上车
就算按上面步骤装,还是会遇到各种问题。这里整理几个出现频率高、并且我在Windows 11上实测过的典型故障。
5.1 AR设备启动失败40号错误
这个可以说是eNSP在Windows 11上最经典的报错。点启动设备,弹窗提示“启动设备AR1失败40”,然后控制台显示VirtualBox内部错误。先不要怀疑镜像文件损坏,优先检查这三项:
- VirtualBox版本是否正确。eNSP内置的AR设备镜像对VirtualBox版本敏感,我刚才说过要装5.2.44,如果已经装了新版VirtualBox,要么卸载重装,要么在eNSP里切换VirtualBox路径时手动指到
VBoxManage.exe所在的旧版本。 - 检查CPU虚拟化是否开启。任务管理器-性能-CPU,看右下角“虚拟化”是否显示“已启用”。如果显示“已禁用”,需要进BIOS打开Intel VT-x或AMD-V。
- 检查VirtualBox里是否残留了旧eNSP虚拟机。打开VirtualBox的“全部分组”,找到所有包含“eNSP”的虚拟机,全部删除后重新启动eNSP。
5.2 路由器启动一直停在井号(#####)
设备能启动,但控制台一直无限刷新井号,根本进不去命令行。这通常是两个原因:一是WinPcap抓包驱动没有绑定到虚拟网卡上,二是VBS没关干净。
处理方式:关掉eNSP,管理员身份运行命令提示符,输入net start npf,如果提示服务启动失败,去设备管理器里找到“网络适配器”下的“WinPcap NPF”驱动,右键更新驱动或重新安装WinPcap。
另外,检查一下eNSP的“工具-注册设备”里,挂载的设备镜像路径是否都正确。AR路由器镜像后缀是.img,如果路径错了或文件损坏,也会一直卡井号。
5.3 eNSP提示找不到虚拟网卡
打开eNSP提示“virtual network card not found”,多数是VirtualBox安装后创建Host-Only网卡失败。在Windows 11上,如果之前装过WSL或Docker,系统里可能残留虚拟网卡相关的冲突。
重新安装VirtualBox时要勾选“创建Host-Only Network”,或者安装完成后手动创建:打开VirtualBox,全局设定-网络,新增一个Host-Only网卡。如果列表是空的,说明驱动没装上,右键“此电脑-管理-设备管理器”,看看是否有带黄色感叹号的VirtualBox设备,有的话右键“更新驱动程序”试试。
打开命令提示符输入ipconfig /all,只要看到VirtualBox Host-Only Network说明网卡已经正常。
5.4 装了Windows更新后eNSP又挂了
Windows更新是eNSP的头号天敌。更新后重启,eNSP设备列表还在,但点启动直接G了,多半是更新把VirtualBox的驱动签名挡了。Windows 11的驱动保护机制很激进,VirtualBox 5.2.44的老驱动很容易被系统判定为“不兼容”。
临时对策是进Windows安全中心-设备安全性-内核隔离,确认“内核隔离-兼容性检查”里没有报“你的设备与此版本不兼容”的提示。也可以把Windows更新暂停几周,我本人习惯在“设置-Windows更新”里把暂停更新选到5周,毕竟跑实验的时候突然重启一次,拓扑状态全没了,比谁都要崩溃。
5.5 问题排查速查表
把高频问题整理成表格,方便对照:
| 现象 | 最常见原因 | 优先处理方案 |
|---|---|---|
| 启动设备失败40 | VirtualBox版本不匹配 | 卸载VirtualBox,装5.2.44 |
| 启动卡井号 | WinPcap驱动失效 | 管理员运行net start npf,重装WinPcap |
| 找不到虚拟网卡 | Host-Only网卡未创建成功 | VirtualBox全局设定手动添加Host-Only网卡 |
| VBS已关闭但设备起不来 | Hyper-V残留 | 运行bcdedit /set hypervisorlaunchtype off |
| VMware里AR启动失败 | 未开启嵌套虚拟化 | 勾选VMware处理器的VT-x/AMD-V选项 |
| 拓扑设备互ping不通 | 虚拟网卡顺序混乱 | 删除设备后重新拖入,使用默认网络类型 |
6. 实测心得:宿主机直装还是VMware里跑
之后我用了两天时间分别验证了“宿主机直装eNSP”和“VMware 17里的Windows 10虚拟机安装eNSP”这两条路,都成功跑通了拓扑实验,但体验上有明显区别。
宿主机直装胜在启动简单,双击eNSP就能用,不需要提前开机进虚拟机。但因为关掉了VBS和Hyper-V,Docker Desktop、WSL2都跳闸了。如果你主力机不跑容器,这方案确实够用。坏处是,Windows 11一更新,VirtualBox的驱动随时可能翻车,翻车又要花时间重来。
VMware 17隔离方案有门槛,但对长期做实验的人来说太值了。系统更新、驱动兼容、VBS这些问题全都被隔离在虚拟机的边界外,宿主机的配置随便怎么折腾都不会影响eNSP。我日常操作是:开机先启动VMware虚拟机,登录Windows 10系统,再打开eNSP画拓扑。反正做实验本身就必须坐在电脑前,多花20秒启动虚拟机完全能接受。
如果让我给一个最省心的组合,那就是:Windows 11宿主机不关VBS,正常开Hyper-V,装VMware 17;VMware里跑Windows 10,Windows 10里装eNSP、VirtualBox 5.2.44、WinPcap 4.1.3。平时宿主机的Docker照跑,实验时进虚拟机开eNSP,两条路的坑都能避开。
我还有一个小习惯分享:在虚拟机里装完eNSP之后,立刻做一个“初始环境正常”的快照,然后在eNSP的安装包目录里再放一份VirtualBox 5.2.44和WinPcap的安装包。以后虚拟机哪里出了问题,恢复快照就能回到干净状态,重装环境也用不着重新找安装包,花不了多少时间但能给以后省下一大堆麻烦。