Android无法找到虚拟机 安卓虚拟机出不来
  i4odJOYMx1TQ 2023年11月30日 37 0


1、环境:

window10 20H2,VMware workstation 15.5.6,安卓模拟器

2、问题现象:

不知道哪一次升级完毕win10后打开mumu安卓模拟器电脑就蓝屏,后续尝试了几个模拟器:夜神、雷电等等都显示VT未打开,可以肯定的是VT一直开着,之前一直好好的,而且VMware做虚拟机一直是好的,VMware有问题的地方就是开启虚拟化嵌套不行了;判断是由于升级了win10导致;

3、解决思路:

1、查看window10 20H2升级内容,除了说性能提升、UI之类的内容没有找到有用的内容;

2、搜索VMware不能看开启虚拟化嵌套的现象,提到“查看VMware Workstation 15.5.5 Pro 发行说明,才知道是因为开启了Hyper-V 和 VMWare 共存、同时运行,导致了这个已知的问题”,在VMware workstation 15.5.5之后,hyper-v可以和 VMware 共存,参考VMware的发行日志:https://docs.vmware.com/cn/VMware-Workstation-Pro/15.5/rn/VMware-Workstation-1555-Pro-Release-Notes.html



3、由上信息可以得出,之前VMware workstation的版本也不兼容window10 20H2 开启Hyper-V,15.5.x版本之后的兼容了,是由于虚拟化实现是使用了hyper-v的接口实现;

4、但是关闭了Hyper-V与虚拟化平台后,VMware workstation仍不能开启虚拟化嵌套;安卓模拟器仍不行

。。。。。。以上问题未解决卡了好久;

某天清理电脑,在用户名的目录下看到vmlogs文件夹,遂去看看了看文件内容,好像是夜神模拟器的日志,有个Repair.log里边有句话:DETAIL : fixed Raw-mode is unavailable courtesy of Hyper-V.应该是尝试夜神模拟器时,模拟器修复vt状态的日志,bing搜索这句话找到了一些线索,一个使用virtualbox打开有同样的报错,()夜神模拟器使用虚拟化的技术也是virtualbox一致的;

5、按照上面链接提供的思路,没看出什么来,无果,bcdedit设置没什么用;查看下一个搜索结果;

6、打开:,按照思路一步一步执行下去,前两个方法跟上面的思路一致,直接尝试第三步:一种可能是Virtualization Based Security导致的,所以即使Hyper-V被禁用了但仍然在运行。可以用这个官方工具关闭。解压后在Powershell中运行DG_Readiness_Tool_v3.4.ps1 -Disable;先搜索DG_Readiness_Tool_v3.4.ps1这个工具:下载路径:https://www.microsoft.com/en-us/download/details.aspx?id=53337

下载后用管理员运行powershell,执行DG_Readiness_Tool_v3.4.ps1 -Disable,由于window10默认的执行策略问题,默认为restricted,需要修改下powershell的执行策略,参考:https://docs.microsoft.com/zh-cn/powershell/module/microsoft.powershell.core/about/about_execution_policies?view=powershell-7.1

最终在powershell执行: 
Get-ExecutionPolicy
Restricted
PS C:\WINDOWS\system32> Get-ExecutionPolicy -List

        Scope ExecutionPolicy
        ----- ---------------
MachinePolicy       Undefined
   UserPolicy       Undefined
      Process       Undefined
  CurrentUser       Undefined
 LocalMachine    Unrestricted
 
 PS C:\WINDOWS\system32> Set-ExecutionPolicy -ExecutionPolicy MachinePolicy
Set-ExecutionPolicy : 无法绑定参数“ExecutionPolicy”。无法将值“MachinePolicy”转换为类型“Microsoft.PowerShell.Execut
ionPolicy”。错误:“无法将标识符名称 MachinePolicy 与有效的枚举器名称相匹配。请指定以下枚举器名称之一,然后重试:
Unrestricted, RemoteSigned, AllSigned, Restricted, Default, Bypass, Undefined”
所在位置 行:1 字符: 38
+ Set-ExecutionPolicy -ExecutionPolicy MachinePolicy
+                                      ~~~~~~~~~~~~~
    + CategoryInfo          : InvalidArgument: (:) [Set-ExecutionPolicy],ParameterBindingException
    + FullyQualifiedErrorId : CannotConvertArgumentNoMessage,Microsoft.PowerShell.Commands.SetExecutionPolicyCommand

有效的选项是:Unrestricted, RemoteSigned, AllSigned, Restricted, Default, Bypass, Undefined,修改成Unrestricted

PS C:\WINDOWS\system32> Set-ExecutionPolicy -ExecutionPolicy  Unrestricted

执行策略更改
执行策略可帮助你防止执行不信任的脚本。更改执行策略可能会产生安全风险,如 https:/go.microsoft.com/fwlink/?LinkID=135170
中的 about_Execution_Policies 帮助主题所述。是否要更改执行策略?
[Y] 是(Y)  [A] 全是(A)  [N] 否(N)  [L] 全否(L)  [S] 暂停(S)  [?] 帮助 (默认值为“N”):Y

 然后再执行:

PS C:\Users\zzh\Desktop\dgreadiness_v3.6> .\DG_Readiness_Tool_v3.6.ps1 -Disable

安全警告
请只运行你信任的脚本。虽然来自 Internet 的脚本会有一定的用处,但此脚本可能会损坏你的计算机。如果你信任此脚本,请使用
Unblock-File cmdlet 允许运行该脚本,而不显示此警告消息。是否要运行
C:\Users\zzh\Desktop\dgreadiness_v3.6\DG_Readiness_Tool_v3.6.ps1?
[D] 不运行(D)  [R] 运行一次(R)  [S] 暂停(S)  [?] 帮助 (默认值为“D”): R
###########################################################################
Readiness Tool Version 3.4 Release.
Tool to check if your device is capable to run Device Guard and Credential Guard.
###########################################################################
Disabling Device Guard and Credential Guard
Deleting RegKeys to disable DG/CG
错误: 系统找不到指定的注册表项或值。
del : 找不到路径“C:\WINDOWS\System32\CodeIntegrity\SIPolicy.p7b”,因为该路径不存在。
所在位置 行:1 字符: 1
+ del  "$env:windir\System32\CodeIntegrity\SIPolicy.p7b"
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (C:\WINDOWS\Syst...ty\SIPolicy.p7b:String) [Remove-Item], ItemNotFoundEx
   ception
    + FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.RemoveItemCommand

Disabling Hyper-V and IOMMU
Disabling Hyper-V failed please check the log file

Please reboot the machine, for settings to be applied.

 执行完重启,启动过程中会让你禁用Virtualization Based Security,按F3或者win徽键,按F3即可;

Android无法找到虚拟机 安卓虚拟机出不来_microsoft

 

重启后一切OK了。

另外上面提到的第四种方案,打开“内存完整性”开关时存在不兼容的驱动,主要是惠普OEM的驱动,查看微软官方解决方案https://go.microsoft.com/fwlink/?linkid=2105833,不建议删除不兼容的驱动,没有进行尝试(如果要尝试的话估计得删除惠普的软件与定制驱动,用公版的驱动搞);如果第三种方法不行的话可以再试试吧。


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月30日 0

暂无评论

推荐阅读
i4odJOYMx1TQ