问题描述
eNSP 启动设备时提示 “启动设备失败,错误代码:40”

查看 VirtualBox Host-Only Network 网卡在 Windows 更新后消失了,重新在 VirtualBox 中添加,添加和配置后,新网卡名称为 VirtualBox Host-Only Network #2 。在 eNSP 中重新注册设备仍提示该错误无法启动设备。
尝试修改网卡名称去掉 #2 ,提示 “无法重命名该连接。具有指定名的连接已经存在。指定一个不同的名称。”,但网络适配器列表中并没有 “VirtualBox Host-Only Network” ,在设备管理中勾选 “显示隐藏的设备” 也没有找到。

可能系统中保存有残留信息,打开注册表 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\NetworkSetup2
查看,提示 “由于某个错误无法打开该密钥。详细信息:拒绝访问”,未能成功查看,使用管理员身份运行注册表编辑器也无法访问。

解决方法
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\NetworkSetup2
注册表项需要 NetSetupSvc 或 TrustedInstaller 权限访问,管理员权限无法访问,所以需要借助工具以该身份打开,可以使用 RunAsTI (https://github.com/jschicht/RunAsTI) 或 PowerRun (https://www.sordum.org/9416/powerrun-v1-5-run-with-highest-privileges/) 。
本文以使用 RunAsTI 为例,下载并运行 RunAsTI64.exe 后会打开一个具有该权限的 cmd ,在此 cmd 中输入 regedit
运行注册表编辑器,即可访问这个注册表项。
在 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\NetworkSetup2\Interfaces
里可以查看到有很多 {XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX} ,再展开 Kernel 可以看到 IfAlias 中即是适配器的名称,找到 VirtualBox Host-Only Network 这一项并删除(删除前建议先导出保存),然后重启计算机。
重启完成后, 在 VirtualBox 中添加网卡时就能添加没有 #2 的网卡了,根据 eNSP 文档配置好该网卡 IP 和关闭 DHCP ,然后打开 eNSP 重新注册设备就可以正常启动了。

