虚拟化安全无法关闭导致的ENSP之40报错 终极解决方法及排错思路!
前言:
此处特别感谢字云同学的协助,期间他的电脑重启了数十次,并且依然没有任何怨言,值得表扬!同时他也独立解决了一个VTX如何关闭的问题,对于一个学生来说,我觉得也是非常不错了!在我遇到的大多数学生乃至刚毕业的实习生中,很少有独立解决问题的精神了!
初次发现该问题大概是8月底,9月4日我正式写下文档,记录该问题。https://www.cnblogs.com/never-say-die/p/16654116.html
期间我断断续续遇到该问题(大约有8个左右,windows专业版和家庭版都遇到过),由于不是我的个人电脑,都是淘宝客户远程咨询我,我处于工作时间或客户要求解决的时间不匹配,要么选择重装系统,要么选择放弃解决该问题。直到今天,正好我休息日,事情少可以摸鱼,又正好遇到字云同学这个问题,所以得以最终解决并形成文档。(此处再次感谢字云同学和他的联想Y7000P)
同时也证明了我一个猜想,即ENSP在windows10或者11中的大多数新电脑中必须要开启VTX,而不是ENSP文档所说的不开虚拟化也能运行。如果不开虚拟化,打开ENSP的AR设备就会导致电脑死机或者蓝屏。
接下来,我将讲解我的分析经过和所用的解决方法(包括没用和有用的方法,有用的方法我会用红字加粗标注)
问题报错提示:
打开ENSP AR40系列,提示报错信息-AR40。然后我们打开virtual box 里面的AR设备,就会报错,并提示hyper-v正在运行。(此处为英文提示,请大家注意观察)
问题解决方法:
1.首先确保你的电脑hyper-v(家庭版看不到就不管),windows虚拟机监控程序以及虚拟机平台都没有开启。
2.上面都正常的情况下,问题没被解决,我选择了用在CMD管理员模式中用命令行关闭hyper-V,然后重启该计算机,同时打开系统信息(运行msinfo32),发现虚拟化安全并没有被关闭!(注意这条命令,他在后面还坑了我一次)
3.第三步,由于该同学是家庭版,我无法使用组策略方法(哪怕你在家庭版安装组策略也是无效的,专业版,有一台电脑有效有一台win11无效。家庭版你开了组策略也找不到Device/Credential Guard),所以我又选择了注册表方法!
同时给家庭版也加载了hyper-v组件并手动勾选关闭(这个方法就是个垃圾,不推荐。)
组策略方法(需要你是专业版或者企业版),组策略适用于部分电脑,不是所有!
注册表方法:
如果你的电脑有DWORD32的值为1,请改为0。(此方法实测过,能解决部分电脑的问题)
如果此方法没用,你可以继续往下看了。
4.我选择了让该同学关闭了CPU的虚拟化支持,果然打开ENSP的AR就蓝屏或者死机了。这验证了我的一个猜想的同时让我决定用接下来的一个方法。(基本上前三步已经能解决90%的问题了,剩下来极少数的情况才会用到该方法)
5.终极解决方法和排错思路,此处参考了https://blog.csdn.net/AbrahamCui/article/details/109422297这位老哥的方法,不过老哥写的不够详细,我补充一下。
首先我们需要一个工具:dgreadiness_v3.6(不知道这个工具干嘛的去百度或者google)
然后我们打开PowerShell(管理员模式)输入 set-ExecutionPolicy RemoteSigned 并且选择y
接下来我们把dgreadiness_v3.6 解压到桌面路径如下:C:\Users\XXX\Desktop\test,并且进入当该目录下
大家可以通过dir查询下是不是有这个工具,不要进错了地方
然后我们输入命令 执行该程序 .\DG_Readiness_Tool_v3.6.ps1 -Disable
你会看到如上的提示,不要管他,等一分钟左右选择重启电脑。接下来你会看到如下信息:(这是字云同学提供的照片,我是远程,没法拍照。)
然后我们按F3后进入到windows系统桌面。重启完成后我打开系统信息,发现VBS已经显示关闭,截图如下
然后我高兴的打开Virtual box 并开启AR设备,结果死机并蓝屏了,我次奥,我心中一万头草泥马飘过,非常失望。同时我开始思考我上面的步骤是不是哪里有问题,发现都是OK的。
等重启我又再打开了windows服务,截图如下,并且我在系统信息里面发现虚拟化安全正在运行:
我当时就有种日了狗的想法,然而我还没有意识到一个问题,就是此前的bcdedit /set hypervisorlaunchtype off这条命令欺骗了我,
我心里想着停止服务改为手动触发总可以了把。然后我美滋滋的重启了电脑,结果不出意外的出意外了,我再次打开ENSP的AR路由器时又再次蓝屏了!!!!!!!
我不信邪,重新检查了一遍,发现hyper-v果然有猫腻,此时的报错截图如下:
我瞬间恍然大悟,原来hyper-v并没有被关闭(此前的第一步用命令行关闭的hyper-v又悄悄开启了),我赶紧在在CMD管理员模式下用命令行关闭了hyper-v,截图如下:
等我又一次重启后,果然系统信息显示VBS关闭,同时hyper-v所有服务统统没有运行。
接来来就是激动人心的时刻,打开ENSP,重新注册设备,并开启了AR,SW,AC AP,FW所有设备均能正常开启。
自此,这个困扰了我2个月左右时间的一个虚拟化安全的报错,我终于解决了!!!
感谢字云同学在我休息的时候找到了我(之前一直苦于没有测试环境而无法实际使用此方法测试,百分之九十九的电脑不会遇到该问题。)
同时这也算了把我之前9月4日挖的坑给填上了。
如果你也遇到了同样的问题,欢迎使用此方法排错,具体思路如上。也许你不需要这么看到最后,你的问题就已经解决了!
如果有其他问题,请参考我的华为ENSP模拟器其他文档。
如果还是解决不了,可以留言给我或者去华为的社区看一下模拟器版块,那里大神挺多的,自己看一下。如果没方法,那就听天由命,重装吧。
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。
如果文章有错误的地方,欢迎随时指正,提前感谢所有帮助指正的老哥!