背景

笔者最近找到了手游的脚本,既然有自己的服务器,干嘛不试试在ESXI 6.7下跑?便开始了折腾之旅。

  1. 最开始是想在现有的Linux虚拟机上跑Android模拟器的。尝试了Genymotion,发现无法正常启动系统;用xdroid发现能跑应用,但没有开放root权限。遂放弃之。
  2. 开了新的Win10虚拟机,开启硬件虚拟化后,可以正常运行Android模拟器(雷电),但很卡顿,而且游戏打开黑屏,估计是虚拟机的显卡性能太弱。

正片

综上,我需要在WIN10虚拟机上直通一张显卡(闲鱼200多淘来的公版950),并开启嵌套虚拟化。

1. 准备Win10虚拟机

关于Win10系统选择:
我推荐不喜欢折腾的用Ltsc 2021版,相对稳定,但内存占用相对多,开机就约2G了。
喜欢折腾也可以用网上的简化版系统,确实内存占用很低(不到1g),但问题也不少,我遇到的有:网卡无法设置手动地址、任务管理器找不到显卡。所以,能折腾的可以多看几个系统。

2. 直通显卡

直通显卡有比较多教程了,这里不赘述,想看详情看参考链接的1和2。

  1. 在ESXI中设置显卡直通
  2. SSH在ESXI编辑/etc/vmware/esx.conf 和 /etc/vmware/passthru.map 两个文件(后者不确定是否必须)
  3. WIN10虚拟机添加参数(这一步并非必须,可以先不添加,若有问题再添加试试):
作用
hypervisor.cpuid.v0 FALSE NVIDIA显卡直通配置,否则驱动错误,代码43
  1. WIN10虚拟机添加PCI设备。

到这里,先别急着重启ESXI或者打开WIn10

3. 开启嵌套虚拟化并允许直通

正常情况下,打开硬件虚拟化并添加PCI直通设备,会无法启动虚拟机。提示:

启用了嵌套硬件辅助的虚拟化时无法添加pcie设备。


但不开硬件虚拟化,Android模拟器又无法运行,不直通显卡,模拟器又卡死,属于是死锁了,但其实这个限制是可以绕过去的。

方法一(稳定但麻烦)

  1. 找到Win10虚拟机的vmx文件并下载
  2. 在本地打开并添加以下两行:
vhv.enable = "TRUE"
vhv.allowPassthru = "TRUE"
  1. 上传回刚刚的目录,替代掉原文件。

为什么要替代文件,不能在web上配置呢?

因为vhv.enable = "TRUE",在web端无法配置:在添加后在保存设置时,会自动去除。
再次打开设置,会发现这一项没有了。从而是无法应用到虚拟机的。
直接使用编辑文件,可以绕过这一限制。
甚至编辑文件后,打开编辑设置,也会把这一项消除。所以,配置好后,再文件编辑

方法二(简单但可能有稳定性问题)

  1. SSH在ESXI用编辑文件:vi /etc/vmawe/config,在末尾增加 vhv.enable="TRUE"。从而开始全局的硬件虚拟化。
  2. 所有有直通的虚拟机上(不仅是WIN10,因为上面这个配置是全局的)添加参数:
作用
vhv.allowPassthru TRUE 嵌套虚拟化下允许直通
  1. 确保所有有直通的虚拟机都添加上参数后重启ESXI,否则重启后无法启动虚拟机

4. 切换显卡,解决Android模拟器无法启动问题

重启之后,WIN10虚拟机理应可以正常启动了。装上显卡驱动后,应该可以任务管理器上看到显卡信息了。
(可以去设备管理器确认一下,显卡是否正常运行,若出现43,可以尝试禁用设备后,再启用

启动Android模拟器!但却卡在50%,或者提示OpenGL版本过低。无法进入模拟器。
原因是Android模拟器默认运行在虚拟显卡上,没有真正在独显上运行。
此时在显卡上外接一个显示器,并在那上面运行Android模拟器,是可以正常运行的。

禁用虚拟显卡

既然原因是虚拟显卡,那把它禁用不就可以了。
先在WIN10上配置好远程关机后。在WIN10虚拟机添加参数:

作用
svga.present FALSE 关闭ESXI默认提供的虚拟显卡

再次启动WIN10虚拟机,此时你会发现ESXI上看不到WIN10的画面了。
此时使用远程连接,此时,负载就都在显卡上了。运行Android模拟器也没问题了。

若你嫌外接一个显示器太麻烦,可以去某宝上买个几块钱的显卡假负载或者整一个虚拟显示器,来解决这个问题。

总结

  1. 要用SSH在ESXI中配置以下文件:
/etc/vmware/esx.conf
/etc/vmware/passthru.map
/etc/vmawe/config(可选)
  1. WIN10虚拟机上需要配置参数:
作用
hypervisor.cpuid.v0 FALSE 非必须,若有问题,可以尝试添加
vhv.allowPassthru TRUE 嵌套虚拟化下允许直通
svga.present FALSE 关闭ESXI默认提供的虚拟显卡

参考链接

  1. 书童级如何完美直通独立显卡,独立输出画面,NVIDIA 2080TI 2070S,ESXI6.7-7.0适用
  2. ESXi 7.0 开启 NVIDIA 2070 显卡直通 Win10 - 折腾成功的经历
  3. ESXI的嵌套虚拟化后无法直通PCIE的问题
  4. 删除默认虚拟显卡

虚拟机套娃折腾之路:在ESXI的WIN10上跑Android模拟器并直通显卡相关推荐

  1. android模拟器找不到sd卡,在Android模拟器bluestacks中打开虚拟SD卡的方法的详细说明...

    安装Android模拟器后,每个人都可以在计算机上的Android手机上玩一些游戏,但不是全部. 由于某些游戏带有数据包,我该如何使用Android模拟器运行带有数据包的游戏?以下5068QQ游戏将告 ...

  2. 一个IT老兵六年的折腾之路!

    转眼科技公司成立快两个月了,加上好久也没更新过博客,趁今天周末写点东西,讲讲我毕业6年的故事或者事故吧,6年说短也不短说长也不长,可是人生有几个6年呢? 1.毕业杭州第一份工作(2009.07-201 ...

  3. 玩客云折腾之路 - (Armbian/Armv7l) 搭建Gitea - 通过二进制文件安装

    玩客云折腾之路 基于Armbian,完成docker.挂载U盘.gitea部署等 文章目录 玩客云折腾之路 前言 一.Git托管工具的选择? 二.Gitea安装步骤 1. docker安装(失败) 2 ...

  4. ESXI 6.7全面系统教程~esxi安装win10

    ESXI 6.7全面系统教程-esxi安装win10 创建/注册虚拟机 创建新虚拟机 设置虚拟机名称.平台信息.系统版本 这里不要选择虚拟化的安全性,否则后面就无法直通显卡了: 选择虚拟机存储位置 设 ...

  5. 如何隐藏Android模拟器的虚拟按键

    如何隐藏Android模拟器的虚拟按键 在我们做屏幕适配的时候,就务必需要使用模拟器进行适配.但是在编辑的过程中,总是发现令人恶心的黑不溜秋的虚拟按键,很影响我们进行屏幕适配,如下图: 那么如何才能如 ...

  6. ElasticSearch (ES)学习之路(二)Win10安装ES,可视化界面,Kibanna

    ElasticSearch (ES)学习之路(二)Win10安装ES,可视化界面,Kibanna 我前一段时间学习的时候ES 还是7.6.x 现在看ES 官网已经到了7.8.X了,迭代维护的速度还是挺 ...

  7. Android模拟器虚拟串口实现串口通信

    第一步: 根据博文<Android SDK安装及配置模拟器>安装JDK,Android SDK,设置环境变量. 第二步: 运行android-sdk下的SDK Manager.exe 安装 ...

  8. Android 模拟器下使用虚拟摄像头

    Android 模拟器下使用虚拟摄像头 前言 最近在做相关工程的测试项目,经过大量环境搭建尝试,我总结出下面两个 Android 虚拟摄像头调用的可行方案. Windows 10 方案 方案概况 1. ...

  9. 如何隐藏Android模拟器下方的虚拟按键(隐藏模拟器属性即可)

    如何隐藏Android模拟器下方的虚拟按键(隐藏模拟器属性即可) 在我们做屏幕适配的时候,就务必需要使用模拟器进行适配.但是在编辑的过程中,总是发现令人恶心的黑不溜秋的虚拟按键,很影响我们进行屏幕适配 ...

最新文章

  1. malloc分配内存的原理?
  2. Atitit. 包厢记时系统 的说明,教程,维护,故障排查手册v2 pb25.doc
  3. dataguard类型转换与模式转化
  4. Nginx中间件web服务安装
  5. 智能媒体管理(IMM) Python SDK DEMO
  6. php创建mysql分区_创建mysql表分区的方法_MySQL
  7. 前端安全XSS,CSRF
  8. 企业如何去选择适合的内网安全管理软件?
  9. matlab实现偏微分方程数值解
  10. c语言 sendto函数,在sendto()函数中发送一个结构 - C语言
  11. Python爆破ZIP文件(支持纯数字数字+字母密码本)
  12. 微信授权 昵称显示微信用户、无头像
  13. 汽车4G车载TBOX智能信息终端
  14. 本科生如何学习计算机科学与技术
  15. 值得一生收藏的经典台词
  16. z-buffer算法
  17. 酷体网--可以顶(dig)的运动空间
  18. 数值计算笔记之非线性方程的求解(二)迭代法
  19. 微生物组-宏基因组分析(线上/线下同时开课,2021.11)
  20. 计算机的基本组成 教案反思,《计算机系统组成》教学反思

热门文章

  1. RX-M10,RX-M50,RX-M2R,RX-500G
  2. (四)SpringBoot——JPA
  3. vue.js+vux项目总结
  4. 蘑菇街实时计算平台-起源篇
  5. jmeter web监听结果_16 jmeter中的监听器以及测试结果分析
  6. 数据结构之——《顺序表》
  7. 【逗老师带你学IT】PRTG监控系统合并多个传感器通道数据
  8. 如何利用PMO有效管理项目资源?
  9. 百度Apollo ANP:将自动驾驶从未来带回今天
  10. Dalvik 指令集