前言※
ENSP是学习华为的网络设备配置不可或缺的一个模拟器,但是该软件在2019年之后便已经停止支持,便导致了现在的Win11系统新的一些安全设置等会导致ENSP的关键组件VirualBox出现无法启动,导致模拟器出现路由器报错40的现象,本文作为一个记录也给各位参考。

问题与解决方法※
华为ensp模拟器路由器设备是本质是通过的Virualbox中运行虚拟机实现的,如果出现AR40的话,基本上就是因为Virualbox无法运行导致。
以下提供集中解决方法,建议的处理流程是
执行一种方法 → 重启电脑 → 测试ENSP能否打开AR路由器 → 可以打开 → 结束
→ 无法打开 -> 回到开头,测试第二种方法
一直重复即可0x0 必要步骤:在BIOS中启用虚拟化※
一般,你能够正常运行vmware WorkStation的话,基本上你已经开启了,但是你如果没有运行过虚拟机软件的话,建议先检查。
要运行虚拟机,必须在主板的BIOS中启用CPU虚拟化技术(Intel的为VTD,AMD为VT),各家厂商的启用方式不同,以下贴出联想官方的技术支持文章,可供各位参考。建议自行搜索自己电脑品牌的开启方式。
0x1 无法安装VirualBox,提示不支持※
ensp在Windows10/11下运行的版本是5.2.44,该版本实测可以正常的进行安装。如果出现无法在此设备上加载驱动程序的情况,通常都是Windows的安全中心对其进行了拦截,可以尝试以下方法解决。
1.打开windows安全中心※

2.点击设备安全性※

3.点击内核隔离※

4.关闭内核隔离※
关闭内核隔离中的以下选项
- 内存完整性
Microsoft易受攻击的驱动程序阻止列表

5.重启电脑后重新打开安装包※
完成操作后重启电脑,再次打开安装包
不同版本的Win11的Windows安全中心的位置可能不太一样,但是都是找到内核隔离下的这几个选项关闭即可
0x2 方法一:未关闭Hyper-V※
VirualBox与Hyper-V并不兼容,不可以同时启用。因此如果需要使用Virualbox,必须把Hyper-V关闭。
可以按照以下方法关闭Hyper-V
1.管理员身份运行cmd※
按下Win键,输入cmd,在右侧的命令提示符下点击【以管理员身份运行】

弹出黑色命令提示符,窗口标题处标有 管理员:

2.执行命令关闭hyper-v※
在弹出的命令提示框中输入以下内容
bcdedit /set hypervisorlaunchtype off提示操作成功完成,重启电脑即可。

3.效果验证※
打开ensp,新建拓扑,拉入AR2220路由器,启动设备,查看是否还报错 40代码,不报错即完成。如果报错则尝试后续的几种方法。

0x3方法二:未关闭基于虚拟化安全性※
在Windows 11 24H2版本之后,系统会默认启用基于虚拟化安全性的这个功能,我们需要关闭这个功能才能让VirualBox正常运行。
1.查看基于虚拟化安全性是否已经启用※
Win+R 输入 msinfo32 按确定


在弹出的窗口下拉,找到

如果是正在运行的话,说明已经开启了,需要关闭
2.下载微软官方的工具※
工具链接:
https://www.microsoft.com/en-us/download/details.aspx?id=53337
打开工具连接,可以看到页面上有一个蓝色的Download按钮,点击它,


保存压缩包,解压到文件夹里

3.管理员身份运行Powershell※
按下Win键,输入Powershell

点击右侧的以管理员身份运行,看到弹窗,左上角写了管理员:,边成功运行了Powershell

4.切换到你的工具所在的目录※
打开你的工具所在目录

点击顶部的地址栏,可以看到出现了一个蓝色全选的地址,按Ctrl+C复制出来

切换到Powershell,输入cd 空格 然后按下鼠标右键(粘贴目录),随后按回车

可以看见这个PS 后面从C盘的 system32 变成了 你刚刚输入的目录地址

5.运行工具关闭基于虚拟化的安全※
在命令提示符中输入以下命令
Set-ExecutionPolicy RemoteSigned -Scope Process
然后按下Y,按回车

然后输入
.\DG_Readiness_Tool_v3.6.ps1 -Disable之后按回车,保存你的文件,重启电脑,开机会提示这个页面,在这个页面上,按几下F3。随后电脑会重启。

6.验证是否关闭完成※
重启完成,再次Win+R,输入msinfo32。

可以看到这个已经变成未启用,则关闭完成!
7.效果验证※
打开ensp,新建拓扑,拉入AR2220路由器,启动设备,查看是否还报错 40代码,不报错即完成。如果报错则尝试后续的几种方法。

0x4 方法三:修改Vbox的驱动启动方式※
部分系统可能因为VBOX驱动在注册表的启动方式设置问题导致无法正常启动虚拟机,通过一下方法修改
1.打开注册表编辑器※
Win+R输入regedit


2.找到对应目录的注册表※
在左侧依次点开文件夹下的子目录,寻找目标路径 或者 直接输入路径
计算机\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\VBoxDrv
注意!!
如果你找不到上述的路径,你可以尝试寻找有没有
计算机\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\VBoxSup这个路径,只是后缀变了,变成了Sup,内容都是一样的
如果两个都有,就两个都修改一下!
3.修改注册表值※

双击这个Start,修改数值数据为2,随后按确定。


完成后,重启计算机。
4.效果验证※
打开ensp,新建拓扑,拉入AR2220路由器,启动设备,查看是否还报错 40代码,不报错即完成。如果报错则尝试后续的几种方法。

结论※
解决这个问题的主要目的就是解决Virualbox无法启动虚拟机的问题。本文中介绍了三种方法,建议执行一种方法之后就重启电脑,打开ENSP做验证。避免多余步骤。
除此以外,如果出现网卡名称是#2的问题,可以参考以下文章。
https://www.cnblogs.com/amsilence/p/18573961
如果你的AR路由器已经成功启动,那就开始你的网络设备实验吧!
Cheers!