搞网络仿真的朋友,十有八九换到 Win11 之后都见过这个让人血压升高的弹窗:“启动设备 AR1 失败,错误码 40”。刚开始我以为是自己 eNSP 装坏了,重装好几遍都没用,后来把 AR 路由器的 VirtualBox 名字改了、镜像重新导入了,依然报 40,最后折腾一圈才发现,问题根本不在 eNSP 本身,而是 Win11 默认开启的基于虚拟化的安全(VBS)在底层卡住了 VirtualBox。
这篇博文就专门解决这个“Win11 启动 eNSP AR1 报错 40”的问题,核心手段是关闭 VBS(Virtualization-Based Security),我会把操作流程、原理、还有我踩过的所有坑一次讲清楚。不管你是刚开始用 eNSP 学 HCIA/HCIP 的在校生,还是正在做 OSPF、BGP、综合实验的网工,只要你的电脑是 Win11、启动 AR1 就报 40,这篇文章都能直接照着抄作业。
1. 报错40的现象与真正元凶
1.1 “启动设备AR1失败,错误码40”到底长啥样
先说现象,大家对照一下自己的情况是不是一样。在 eNSP 里随便拖一台 AR1 路由器到拓扑里,右键“启动”,设备状态栏先是变成“启动中”,然后过个几秒钟,设备图标直接变灰,弹窗提示“启动设备 AR1 失败,错误码 40”。
有个细节值得注意:AR1 报错 40,但有时候你多试几次,或者换一台 AR2、AR3 去启动,又能起来,这就迷惑性很强,让人以为是设备本身的问题。实际上,这台 AR1 在 VirtualBox 里对应的虚拟机可能已经被创建了一部分,或者 VirtualBox 进程在后台跟 Hyper-V 冲突导致虚拟机引擎初始化失败,于是报错 40。
更气人的是,eNSP 报错 40 的时候,VirtualBox 这边不一定有明确的提示,你打开 VirtualBox 界面看那台路由器虚拟机,状态列可能显示“已关机”,也可能是“异常退出”。我见过最离谱的情况是,点启动之后 VirtualBox 的进程占用了 CPU,但虚拟机窗口死活弹不出来,过几秒整个 VirtualBox 进程直接消失。
如果你也遇到了类似状况,先别急着重装 eNSP,也别把 AR1 的 VirtualBox 虚拟机删掉重建——大概率不是那一台虚拟机坏了,而是宿主机的虚拟化环境被 Win11 的安全机制锁住了。
1.2 VBS是如何把AR1卡死的
这里要解释一个关键概念:VBS(Virtualization-Based Security),中文叫“基于虚拟化的安全”。Win11 默认会开启这个功能,它把 Windows 的安全核心放进一个由 Hyper-V 管理程序创建的隔离内存区域里运行,这样即使系统被攻破了,攻击者也很难篡改安全内核。
听起来很美好,但它跟 eNSP 的关系完全是“水火不容”。eNSP 的 AR 路由器本质上是跑在 VirtualBox 里的虚拟机,而 VirtualBox 属于“Type-2 虚拟化”,需要自己直接管理 CPU 的虚拟化指令(VT-x/AMD-V)。当 VBS 开启时,Win11 的 Hyper-V 管理程序会抢先一步占住 CPU 虚拟化层,VirtualBox 再想用同样的指令集创建虚拟机,就会跟 Hyper-V 打架,轻则启动失败,重则直接 BSOD。
这么说吧,VBS 就像房东把房子里的主钥匙孔给焊死了,你自己带的钥匙设计得再好也拧不动。报错 40 就是 VirtualBox 发现自己“拧不动钥匙”之后躺平罢工的结果。
而且 Win11 的 VBS 不是单一开关,拆开看有三个层:内存完整性(HVCI)、凭据保护(Credential Guard)、以及 Hypervisor 本身。很多人只知道去 Windows 安全中心关“内存完整性”,关了之后发现 AR1 还是报 40,就是因为 Hyper-V 管理程序还开着,VBS 的根基还在。后面我会讲怎么彻底关干净。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 先确认VBS到底开没开
2.1 用系统信息看VBS状态
动手改系统设置之前,千万先确认这台 Win11 是不是真的开着 VBS。有些精简版系统或者老版本 Win11 可能默认没开,如果是那样,报错 40 就得去查别的方向,别白折腾。
最快的方法:按 Win + R,输入 msinfo32,打开“系统信息”,往下翻找到“基于虚拟化的安全”这一项。如果显示“未启用”,恭喜你,VBS 不是元凶,直接跳去看第 4 节排查其他问题;如果显示“正在运行”,那基本实锤了,继续往下看。
这里有个坑:有些机器 BIOS 里没开启 CPU 虚拟化,系统信息里“基于虚拟化的安全”会显示“固件中已启用但不运行”或者干脆空白。这种情况下 VBS 虽然没真正跑起来,但 VirtualBox 的表现也可能异常,因为 CPU 虚拟化没开的话任何虚拟机都起不来。顺手把 BIOS 里 Intel VT-x 或 AMD SVM 打开,这个我在第 4 节也会展开讲。
2.2 用PowerShell命令行精确查状态
系统信息里看到的只是一个聚合状态,如果我想知道 VBS 细分的各个功能到底开没开,得用 PowerShell 查。右键开始菜单选“终端(管理员)”,执行这条命令:
powershell复制Get-CimInstance -ClassName Win32_DeviceGuard -Namespace root\Microsoft\Windows\DeviceGuard
重点看这几个字段:
VirtualizationBasedSecurityStatus:0 表示未启用,1 表示启用但尚未运行,2 表示启用且正在运行。SecurityServicesConfigured:已经配置的安全服务,常见值是{1, 2},其中 1 是 Credential Guard,2 是 HVCI(内存完整性)。SecurityServicesRunning:实际正在运行的服务。
我自己查过一台报错 40 的机器,显示 VBS 状态是 2,SecurityServicesRunning 是 {1, 2},也就是说凭据保护和内存完整性都在跑,这情况不改设置是肯定起不来 AR1 的。
2.3 顺手排除Hyper-V的干扰
VBS 和 Hyper-V 是两兄弟,很多时候你开了 Hyper-V,VBS 也会跟着被打开。而且刚才说过,Hyper-V 管理程序本身也会占用虚拟化层,哪怕你 VBS 关了,只要 hypervisorlaunchtype 还是自动,VirtualBox 照样不干活。
所以检查完 VBS 之后,再用管理员终端执行:
bash复制bcdedit /enum {current}
看输出里的 hypervisorlaunchtype,如果显示 Auto,说明开机时会自动启动 Hyper-V 管理程序,这也是 AR1 报 40 的常见帮凶。这条命令不用急着改,到第 3 节一起处理。
3. 关闭VBS的完整实操
3.1 方法一:Windows安全中心关闭内存完整性
先给新手一条最温和的路径:进 Windows 安全中心,把 VBS 最外层的“内存完整性”关掉。
步骤:Win + I 打开设置 → 隐私和安全性 → Windows 安全中心 → 设备安全性 → 内核隔离 → 把“内存完整性”开关关掉 → 重启。
这个操作相当于把 VBS 的门窗拆了一半。部分机器、部分版本的 Win11 确实只做这一步就能让 eNSP 恢复正常,因为这台机器的 VBS 恰好只是靠内存完整性撑起来的。但我体验下来,Win11 24H2 往后的版本,这一招经常失灵,因为凭据保护还在后面顶着,AR1 还是报 40。
如果你用的是公司统一配发的电脑,Windows 安全中心里“内核隔离”选项可能被组策略置灰,这种情况不用慌,跳到 3.2 的注册表方案,权限够就能改。
3.2 方法二:注册表关闭VBS(通用且最彻底)
注册表方案是我最推荐的,对 Win11 家庭版、专业版都好使,而且能一次性把 VBS 的三层一次性关掉。
按 Win + R 输入 regedit 打开注册表编辑器,一路找到:
code复制HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\DeviceGuard
在右侧新建一个 DWORD(32 位)值,名字叫 EnableVirtualizationBasedSecurity,把数值数据改成 0。
然后继续展开到:
code复制HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\DeviceGuard\Scenarios\CredentialGuard
右侧找到 Enabled,双击把数值数据改成 0。如果没有 CredentialGuard 这个子项,就右键新建项,名字写 CredentialGuard,再新建 DWORD Enabled 设成 0。
再找到:
code复制HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\DeviceGuard\Scenarios\HypervisorEnforcedCodeIntegrity
同样把 Enabled 改成 0,没有子项就新建。HVCI 就是内存完整性的底层,这就是上面 Windows 安全中心那个开关的注册表形态。
改完注册表之后,我强烈建议顺手把 Hyper-V 的自动启动也关掉。回管理员终端执行:
bash复制bcdedit /set hypervisorlaunchtype off
这一行命令的意思就是告诉 Windows 开机不要自动加载 Hyper-V 管理程序。执行完会提示“操作成功完成”。到这一步,VBS 和 Hyper-V 的抑制才算彻底。
改注册表之前,建议在文件管理器里右键“导出”一下 DeviceGuard 这个注册表分支,存成 .reg 文件备份。万一以后想恢复 VBS,双击导入再把 hypervisorlaunchtype 改回 Auto 就行。
3.3 方法三:组策略关闭VBS(专业版/企业版专用)
Win11 专业版、企业版、教育版可以用组策略,比较直观,适合不喜欢碰注册表的人。Win + R 输入 gpedit.msc,依次展开:
计算机配置 → 管理模板 → 系统 → Device Guard
右侧找到“打开基于虚拟化的安全性”,双击,选择“已禁用”,确定。然后重启。
注意:Win11 家庭版没有 gpedit.msc,如果执行 gpedit.msc 提示找不到,就不要纠结,直接用注册表方案。组策略和注册表本质上改的是同一个地方,只是入口不同罢了。
3.4 重启后的验证与eNSP恢复测试
所有改动完成之后,关键一步是重启电脑,别偷懒,热重启有时候不会立刻让 VBS 完全退出。开机之后再跑一遍第 2 节的检查流程:
msinfo32里“基于虚拟化的安全”应该显示“未启用”。- PowerShell 命令里的
VirtualizationBasedSecurityStatus应该变成 0。 bcdedit /enum {current}里的hypervisorlaunchtype应该显示Off。
确认这三项都符合预期之后,再开 eNSP。我自己的经验是,第一次启动 AR1 时,VirtualBox 会重新初始化那台路由器虚拟机,速度会稍微慢一点,属于正常现象,等待时间从几秒到十几秒不等,图标从灰色变绿色就算成功了。
如果 AR1 起来了,再顺手把交换机、PC、云启动一遍,确认整张拓扑没有潜在问题。这里我要多说一句:报错 40 经常只出现在 AR1,是因为 eNSP 创建的第一台设备对应的 VirtualBox 虚拟机往往是在 VBS 开启状态下生成的,状态文件有残留,即使关了 VBS,那台虚拟机也可能需要“冷启动”一次才恢复。实际测试中,我第一次启动 AR1 还是弹了一次 40,但第二次启动就正常了,这跟我第 1 节提到的“多试几次可能起来”是同一个逻辑。别因为第一次又报 40 就以为方法无效。
4. 关了VBS还报40?还有这些坑要逐个排除
4.1 VirtualBox版本错乱是最常见的二房东问题
关完 VBS 还报 40 的情况我见多了,十次有八次是 VirtualBox 版本被偷偷换掉了。这里要先说清楚:eNSP 是自带 VirtualBox 的,你安装 eNSP 的时候它会问你要不要装 VirtualBox,建议直接勾选安装它配套的那个版本。
很多朋友电脑里已经装过 VirtualBox,或者手贱点了几次更新,结果 eNSP 调用的 VirtualBox 从 5.x 变成了 6.x、7.x。新版 VirtualBox 跟 eNSP 的老设备镜像兼容性很差,AR1 起不来、启动一会儿就闪退、拓扑里设备图标显示异常,基本都是这个原因。
如果确认自己 VirtualBox 版本不对,先卸载当前版本,然后到 eNSP 的安装目录下找找,通常会有 tools 或者 VirtualBox 子目录,里面就是配套的安装包。或者直接用 eNSP 安装包自带的一键安装工具重新装。装完之后记住:永远不要手动升级 VirtualBox,除非华为发布了对应新版本的 eNSP。
4.2 安装路径、镜像文件和管理员权限
这个属于老生常谈,但每次都能捞到一批小白。eNSP 和 VirtualBox 的安装路径,还有 AR 路由器的镜像路径,都不能带中文。老老实实装到 C:\eNSP、C:\Program Files\Oracle\VirtualBox 这种纯英文路径下面。
镜像文件也要检查。在 eNSP 菜单栏点“菜单 → 工具 → 注册设备”,会弹出设备镜像管理窗口,里面能看到 AR1/AR2/AR3 对应的镜像文件路径。如果路径名带着中文,或者指向了不存在的位置,重新选择镜像注册一次。
还有一个看起来没啥技术含量但非常致命的问题:eNSP 必须以管理员身份运行。右键 eNSP 图标选“以管理员身份运行”,或者在属性里勾选“以管理员身份运行此程序”。不这样做的话,VirtualBox 调用某些驱动和网络接口时会失败,报错内容也经常是 40。
4.3 Host-Only虚拟网卡与防火墙干扰
AR1 起来之后没有 IP、ping 不通?跟这个坑有关。VBS 关闭后,VirtualBox 需要用到它自带的 Host-Only 虚拟网卡,也就是 eNSP 拓扑里那几条虚拟网线的物理基础。如果之前 VBS 开启时把这块网卡搞崩了,或者网卡被禁用,拓扑里的设备之间就不通。
打开控制面板 → 网络和共享中心 → 更改适配器设置,看看有没有名为 VirtualBox Host-Only Network 的网卡。如果是禁用状态,右键启用。如果压根没有这块网卡,去 VirtualBox 的全局设置里的“网络”选项卡新建一个 Host-Only 网络,一般默认 IP 是 192.168.56.1/24。
另外,Win11 自带防火墙以及第三方安全软件可能会拦截 VirtualBox 的虚拟机进程。第 3 节改完设置之后,如果 AR1 还是各种不稳定,那就把 eNSP、VirtualBox 加入防火墙白名单,或者在测试阶段临时关掉第三方杀毒软件再看效果。
4.4 BIOS虚拟化开关
最后一个容易被忽略的底层因素:CPU 虚拟化功能本身。重启进 BIOS/UEFI,找到 Intel Virtualization Technology(Intel 平台)或者 SVM Mode(AMD 平台),确认是 Enabled。
现在的 Win11 对于虚拟化硬件的要求比较严格,但有些品牌机的 BIOS 默认把 VT-x 藏起来或者设成 Disabled,特别是在一些办公机型上。这个问题会导致所有虚拟机软件的异常,不仅仅报 40,有时候报 1、报 31 也都跟它有关。
进入 BIOS 的方法因品牌而异,常见的是开机狂按 Del 或 F2。如果电脑太新,可能需要在 Win11 设置里“恢复 → 高级启动”,然后从 UEFI 固件设置进去。改完保存退出,进系统之后再验证一次 VBS 状态,因为有些机器开 VT-x 之后 Win11 会重新把 VBS 拉起来。
5. 报错40排查速查表与经验心得
5.1 常见问题速查表
把我在处理这类报错过程中遇到过的典型情况整理成一张表,方便你直接按图索骥。这张表也适用于 AR2、AR3、USG6000V 以及其他设备启动失败的问题。
| 现象 | 优先排查方向 | 解决动作 |
|---|---|---|
| AR1 报 40,设备图标变灰 | VBS / Hyper-V 开启 | 关闭 VBS,bcdedit 关闭 hypervisorlaunchtype |
| 报 40 但 VBS 已是关闭状态 | VirtualBox 版本被更新或替换 | 卸载后重装 eNSP 配套 VirtualBox |
| 启动后设备一直“启动中” | Host-Only 网卡被禁用或缺失 | 检查适配器设置,重新添加 Host-Only 网络 |
| 启动后设备闪退,无明确提示 | 镜像文件路径含中文或注册丢失 | 重新注册设备镜像,确保路径全英文 |
| 多台设备只有 USG6000V 起不来 | 防火墙镜像未加载,或设备类型选错 | 菜单→工具→注册设备,加载正确镜像 |
| 打开 eNSP 就提示 VirtualBox API 失败 | eNSP 未以管理员运行 | 右键管理员身份运行 eNSP |
| VBS 关闭后 WSL2、Docker 不可用 | 这些工具依赖 Hyper-V | 在“启用或关闭 Windows 功能”里按需取舍 |
5.2 我的排障顺序和几条独家建议
在实际操作时,我建议你按“软件环境 → 虚拟化底层 → 网络组件 → 硬件开关”这个顺序走,不要一上来就重装系统。我遇到过有用户把 Win11 重装了两遍,AR1 还是报 40,问题根源就是没关 VBS。
根据我个人经验,最理想的修复路径是:
- 确认系统信息里“基于虚拟化的安全”是否是“正在运行”。
- 运行第 3 节的注册表 + bcdedit 方案,重启。
- 验证 VBS 已关、Hyper-V 已关。
- 以管理员身份启动 eNSP,测试 AR1。
这套流程我处理过至少几十台机器,成功率是最高的。如果你做完这套还有问题,再回头看第 4 节的项目,单独排查 VirtualBox 版本、Host-Only 网卡以及 BIOS 设置。
还有两个容易被忽视的小细节,一并分享出来。第一个是关闭 VBS 之后你可能会发现 Win11 “设备安全性”页面提示“内存完整性已关闭”,系统托盘也会弹出安全中心的提示,这是预期内的结果,不影响安全使用。第二个是如果你要用 WSL2、Docker Desktop 或者 Windows 沙盒,把这些功能也装在同一台机器上是会跟 eNSP 打架的,经常是这个修好了那个又坏了。我自己会在跑 eNSP 的时候临时把 hypervisorlaunchtype 关掉,要跑 WSL 或 Docker 的时候再打开,来回切换无非两次重启而已,比那种“装什么都用不了”的机器舒服多了。
最后说一句,报错 40 说难不难,但它逼着你去了解虚拟化、VBS、Hyper-V 这些平时接触不到的系统底层概念,仔细排查一遍之后反而对 Windows 的虚拟化架构更加清楚了。这种环境问题,只要摸清原理,以后不论换几台电脑都不怕。
