Windows 11安装eNSP启动失败40?全套排坑与VMware隔离方案
最近不少人在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也能凑合但兼容性差一些。VirtualBoxeNSP内置的路由器、交换机镜像都是跑在VirtualBox里的虚拟机。Wireshark抓包分析用安装eNSP的时候会一起装上但版本冲突也会导致启动失败。eNSP的运行逻辑是你在画布上拖出来的每台设备本质上就是VirtualBox里面的一台虚拟机。这些虚拟机的CPU虚拟化要求很高Windows 11一旦开启了VBS或Hyper-VVirtualBox就没办法直接访问硬件虚拟化层设备自然起不来。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到底开没开按WinR输入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在右侧新建一个DWORD32位值名称是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-启用基于虚拟化的安全性”。WinR输入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 问题排查速查表把高频问题整理成表格方便对照现象最常见原因优先处理方案启动设备失败40VirtualBox版本不匹配卸载VirtualBox装5.2.44启动卡井号WinPcap驱动失效管理员运行net start npf重装WinPcap找不到虚拟网卡Host-Only网卡未创建成功VirtualBox全局设定手动添加Host-Only网卡VBS已关闭但设备起不来Hyper-V残留运行bcdedit /set hypervisorlaunchtype offVMware里AR启动失败未开启嵌套虚拟化勾选VMware处理器的VT-x/AMD-V选项拓扑设备互ping不通虚拟网卡顺序混乱删除设备后重新拖入使用默认网络类型6. 实测心得宿主机直装还是VMware里跑之后我用了两天时间分别验证了“宿主机直装eNSP”和“VMware 17里的Windows 10虚拟机安装eNSP”这两条路都成功跑通了拓扑实验但体验上有明显区别。宿主机直装胜在启动简单双击eNSP就能用不需要提前开机进虚拟机。但因为关掉了VBS和Hyper-VDocker Desktop、WSL2都跳闸了。如果你主力机不跑容器这方案确实够用。坏处是Windows 11一更新VirtualBox的驱动随时可能翻车翻车又要花时间重来。VMware 17隔离方案有门槛但对长期做实验的人来说太值了。系统更新、驱动兼容、VBS这些问题全都被隔离在虚拟机的边界外宿主机的配置随便怎么折腾都不会影响eNSP。我日常操作是开机先启动VMware虚拟机登录Windows 10系统再打开eNSP画拓扑。反正做实验本身就必须坐在电脑前多花20秒启动虚拟机完全能接受。如果让我给一个最省心的组合那就是Windows 11宿主机不关VBS正常开Hyper-V装VMware 17VMware里跑Windows 10Windows 10里装eNSP、VirtualBox 5.2.44、WinPcap 4.1.3。平时宿主机的Docker照跑实验时进虚拟机开eNSP两条路的坑都能避开。我还有一个小习惯分享在虚拟机里装完eNSP之后立刻做一个“初始环境正常”的快照然后在eNSP的安装包目录里再放一份VirtualBox 5.2.44和WinPcap的安装包。以后虚拟机哪里出了问题恢复快照就能回到干净状态重装环境也用不着重新找安装包花不了多少时间但能给以后省下一大堆麻烦。
上一篇/下一篇内容由系统自动关联
返回资讯列表 →