文章      动态     相关文章     最新文章     手机版动态     相关动态     |   首页|会员中心|保存桌面|手机浏览

w5mocw

http://fabua.ksxb.net/comw5mocw/

相关列表
文章列表
  • 暂无文章
推荐文章
联系方式
  • 联系人:李女士
  • 电话:13671085885
【教程】华硕zenfone2/zoom手机运行VMware workstation virtualbox和kvm虚拟机手机虚拟机「【教程】华硕zenfone2/zoom手机运行VMware works
发布时间:2025-01-20        浏览次数:0        返回列表

【1-1-1】前言:华硕zenfone2以及zenfone zoom 作为华硕最后一批搭载英特尔芯片的x86手机 其折腾性和可玩性都是蛮高的 并且也没有阉割CPU的VT虚拟化功能 这让他跑拥有硬件加速的虚拟机提供了条件 虽然他搭载的是安卓系统 但是安卓系统的内核都是基于linux的 所以对于kvm内核虚拟机来说 有了VT虚拟化的支持 因此只要在内核配置菜单里面 打开kvm支持即可 可以让他以模块的形式加载 也可以直接嵌入内核 对于vmware以及virtualbox这里我的做法是将他们直接移植进入安卓内核源码(或者让他们以安卓内核源代码为内核头进行编译) 并让其生成这两个虚拟机正常工作必要的内核模块在安卓内核上进行加载 并使用安卓内核chroot一个linux再安装上面两个虚拟机从而达到成功运行的效果 总之 这个教程会教你们如何在这个手机上面运行vm+vbox以及kvm

【1-1-2】准备工作和注意事项

开始之前呢 你一定要做好以下事项

1.确保你的设备处在以下系统版本(必须是5.0bl-棒棒糖引导加载程序)

(如果升级过安卓6的请先降级)

zenfone2推荐版本WW/CN2.20.40.206/2.20.40.197

zenfone zoom推荐版本WW/CN2.26.40.108

2.做好数据备份 并且能够运用工具进行基本的救砖

如果不会的可以先看上面的视频(only zenfone2)

你还需要准备以下东西:

1.电脑一台(推荐win10)

2.华硕zenfone2/zoom手机一台

3.up为你们准备的文件:

https://cloud.189.cn/t/vqQZvaYn2EZb(访问码:ya8q)

教程开始

ps:以下教程同时适用于zenfone2/zoom

【1-1-3】bootloader的解锁

千里之行 始于解锁 无论是刷机解锁淦内核 这一直都是亘古不变的道理 那么这个手机应该怎么解锁bl呢 在华硕官方解锁工具还没有gg的情况下 只需要安装一个软件就可以了 甚至连电脑都不用 而现在这个工具已经凉了 所以要用到另外一个工具 当然也很简单 一个批处理就可以 当然解锁的方法上面那个视频也讲过 这次就再列举一下

1.首先在电脑上 找到我分享文件中的ZF2_one_click_unlock压缩包 并且解压

2.手机关机状态下按住电源键和音量上键进入fastboot模式

此时手机处于fastboot模式

3.打开设备管理器看一看驱动是否正常

正常的话会显示这个设备

如果是黄色感叹号除了代码43 尝试着安装一下驱动程序 (右键/更新驱动程序/找到我分享文件中的驱动程序更新 具体方法上面那个视频中也讲到)

4.运行"unlock_one_click_v2.bat"解锁bootloader 

解锁完成

手机上 最下方的蓝色字会一顿跳动 然后提示解锁成功 5秒钟后会重启

此时 手机的开机第1屏会从未解锁的黑底白字变成白底黑字 如果你不喜欢白底黑字 你可以用我分享文件里面的"zenfone2恢复黑底首屏工具包.zip"来恢复

到此 bootloader解锁完成

【1-2-1】TWRP的刷入

首先要说明一点 对于zenfone2 twrp.me里面支持本设备最高版本的TWRP3.3.1并不能用于棒棒糖引导加载程序(5.0bl) 那个是给MM引导加载程序(6.0bl)用的 但是对于zenfone zoom 这些都可以随便选了 zoom的ifwi棒棒糖引导加载程序就已经高于zf2的MM引导加载程序 因此没有限制

具体刷入步骤很简单

1.将手机进入fastboot模式

2.随便找一个带有fastboot.exe以及adb.exe的目录(我分享文件的bl解锁工具里面就有)在这个目录下打开cmd或者power shell

3.下载我分享文件中的TWRP 

输入fastboot flash recovery [5.0bl]twrp-3.0.1-0-Z00A.img 进行刷入(power shell记得前面加上 https://www.bilibili.com/read/cv20750120/)

4.在手机的fastboot模式下按音量键选择"RECOVERY MODE"按电源键进入 此时不出意外 已经进入TWRP了

音量键选择电源键确认

进入TWRP

至此TWRP刷入完成

【1-3-1】刷入带有kvm,vmware,virtualbox虚拟机支持的内核

这个内核是up主自己编译的 期间换了无数套源码 出过无数的bug 从最初的第1个到现在的第13个 目前显著的bug已经完全搞定了 但是剩下的bug先提前说明一下 在刷入这个内核之前 请务必使用TWRP备份功能备份好原机的内核

bug:

对于zenfone2

1.linux deploy无法使用ssh连接(目前没头绪修)

解决方法:使用linux deploy shell进行连接

2.cpu调频策略在一方面算是炸的(性能模式一直显示2500mhz 但实际上并不是这么高的频率运行 耗电量没有明显增加 后续会修改内核配置文件解决)

对于zoom

除了zf2遇到的bug之外

zoom这三倍光学变焦算是废了 目前没有光学变焦模组驱动 仅做到打开摄像头

接下来说明一下刷入方法

按照普通内核刷入方法即可

1.下载好我分享文件中的"zf2_vbox7_vm16_kvm-bridge_magisk23-root.img"

2.TWRP右下角选择刷入img镜像 选中这个文件 最后选择刷入到boot分区即可

刷入完成

最后重启即可

至此 内核刷入完成

等待设备开机后 可以 打开设置/关于/软件信息/内核版本的一栏看看是否成功

成功后内核版本一栏显示这个

//这里是后期 目前up已经在2023/4/3这一天 更新了新的内核 新的内核已经合并至上面的链接 可以根据自己的选择加入相应的内核 但是刷了相应的内核虚拟机就要根据内核的要求来安装 其他操作基本一致

新版本内核修复了一些东西

////

【2-1-1】部署chroot linux

vmware以及virtualbox都不支持安卓平台(废话 要是支持了 那可能就见鬼了)

但是他们支持linux平台 而安卓内核又是基于linux内河 而且他们工作所需的内核模块已经编译进了安卓内核 在刚刚已经刷入了手机 so 我们只要chroot一个linux发行版 再在这个发行版上安装vmware以及virtualbox就可以完美的运行这两个虚拟机了

部署一个chroot linux 那就不得不谈到linux deploy了 这个是一个既方便又强大的软件 可以很方便的帮我们搞定这些

推荐部署的发行版为ubuntu18.04 

up主本人实测虚拟机运行正常 

不推荐18.04以上的版本 容易出问题

首先先在我分享的文件夹中找到magisk23.apk安装到手机上

这个内核已经打了面具补丁 因此只要装上这个apk就已经拥有root权限了

如果面具提示要修复运行时环境就修复

在x86安卓设备上部署chroot linux up曾经出过一个详细的视频教程 可以去参考一下

所有的文件我已经提供了

啊...这里提过n遍了 不想再叙述了 就简单讲一下吧

1.安装我分享文件中的busybox.apk到手机上

2.打开busybox 点击下方的INSTALL授予root

每一行后面都显示done就算成功

3.打开linux deploy进行配置(这个真不想再叙述了 看视频吧)

4.完成chroot linux安装

【2-2-1】配置chroot linux

1.中文语言

别看他现在是中文的 实际上还有很多地方 还是英文 这就要感谢linux deploy的本地化功能了 在初期真的是帮了大忙 接下来安装中文语言

由于这个内核的问题 无法使用ssh连接到容器(连接手机会死机)

这时候就用到linux deploy shell了

安装并打开juicessh 点击右上角的闪电 新建一个本地设备连接

接着依次输入

su

cd /data/data/ru.meeflk.linuxdeploy/files/bin

 https://www.bilibili.com/read/cv20750120/linuxdeploy shell -u (你的用户名)

这个时候就会从本地终端切换到chroot linux了

如果不想每次都打命令麻烦

可以像我这样写一个sh

只要把-u后面的内容换成自己的用户名即可

以后每次进入chroot linux只需要root下sh这个ubuntu.sh即可

接下来安装中文语言软件包以及开源字体

sudo apt install -y language-pack-zh-hant language-pack-zh-hans language-pack-zh-hans

sudo apt install fonts-wqy-zenhei

//nano编辑器

sudo apt inatall nano

//修改 /etc/environment 

sudo nano /etc/environment

并在其下方追加

LANG="zh_CN.UTF-8"

LANGUAGE="zh_CN:zh:en_US:en"

点击ctrl+o保存

ctrl+x退出

完成输入sudo dpkg-reconfigure locales

下拉找到 zh_CN.GBK和zh_CN.UTF-8按空格键选中 Tab键将光标移动到确定

在这个界面直接按回车即可 稍微等待一会儿

到此 语言配置完毕

2.安装完整的xubuntu桌面软件包

输入sudo apt install xubuntu desktop -y

此过程比较慢 会下载两个g的软件包 安装也需要时间

3.安装tigervnc-standalone-server

这个vnc相较于linux deploy默认安装的vnc有更好的图形功能支持 我们暂时先拿它使用

输入命令

sudo apt install tigervnc-standalone-server

安装成功后在普通用户下输入vncserver :0

刚开始会要求你设一个密码

按照他的提示进行设定即可

密码不会显示出来

设定完以后会问你要不要设置一个不可控制用户 输入N就可以

之后安装分享文件中的VNC Viewer

新建一个连接 地址就写127.0.0.1

之后就可以看得见桌面了

到时候记得输入vncserver -kill :0来关闭连接  并且把linux deploy中的图形子系统改成vnc 这样每次都可以直接从linux deploy当中启动不用每次手动输入

chroot linux 配置结束

【3-1-1】chroot linux安装virtualbox虚拟机

virtualbox虚拟机的安装还是比较简单的

这里我选择编译的是vbox7.0.2 因此安装这个版本就可以正常运行了 这里我分享文件组也提供了一份deb包 是给ubuntu18.04准备的 接下来安装即可

输入sudo dpkg -i 你的vbox软件包.deb即可

如果遇到以下依赖问题

不要着急 这个时候 输入sudo apt install -f

系统会自动为你修复依赖关系

这个时候回到安卓本地终端

输入 su

sh /lib/modules/install_modules.sh

来重新载入内核模块

输入lsmod来检查内核模块

确保vboxdrv vboxnetflt vboxnetadp 三个内核模块处于加载状态

输入ls /dev命令

确保vboxdrv vboxnetflt vboxnetadp三个字符串设备存在

如果他们都存在 那么vbox的工作条件也就满足了

你可以在chroot linux桌面上面打开vbox虚拟机

usb报错可以先不用管

最后你可以尝试着创建各种各样的虚拟机

就像在电脑上一样

vbox基本功能测试

1.基本虚拟机运行√

2.快照拍摄与恢复√

3.磁盘管理√

4.网络√

5.声音√

6. 3D加速× (想都别想 先想办法解决好容器和Android之间的显卡问题)

7.嵌套虚拟化√

8.鼠标自动切换△

9.vbox增强功能√

10.vbox功能扩展包×

.................(余下的各位测试吧)

最后关于bug

1.我个人感觉啊 这个虚拟机在这个手机的chroot linux上面跑起来 鼠标自动切换功能是有bug的 启用这个功能时 当你多次在虚拟机里面右键时它会卡一个bug 鼠标的图标会变成虚拟系统里面的图标 并且无法点击任何东西 这个时候只能强制卸载容器才能解决

2.  3D加速不要开不要开不要开 会出事的

虽然vbox里面有这个开关 但是不要开 否则当你运行一些应用程序虚拟机会花屏的

【3-1-2】virtualbox开启嵌套虚拟化功能

虽然这个功能放在手机上面没什么用 但是有总比没有好 (套娃套娃套娃)

我们在vbox图形界面创建的虚拟机

想要开启嵌套虚拟化是不可以的 他会是灰色的

这个时候就需要用命令行了

在终端里面输入vboxmanage list vms

查看当前创建的虚拟机 并且找到你要开启嵌套虚拟化的虚拟机 (我用beta作为演示)

接下来输入vboxmanage modifyvm "beta" --nested-hw-virt on 就可以了

你们的话只要把引号里面的名称改成自己的虚拟机名称即可

这个时候你会发现本来灰色的方框啪的一下就亮了并且还打上了勾

这个时候就可以愉快地套娃了

【3-2-1】chroot linux 安装VMware workstation

VMware虚拟机 用过的人都熟悉 如今 终于轮到这手机跑啦 我等这一天已经很久了 今天就把教程给大家 让大家一起体验一下 这次编译的是VMware16.2.4 所以一定要安装这个版本 不要去安装最新的17 后续可能会编译17(可能等到17.2出的时候)

首先是安装 分为以下几步 

1.下载好我分享文件中的VMware-Workstation-Full-16.2.4-20089737.x86_64.bundle

2.把它移动到chroot linux的home目录

3.输入sudo chmod 777 VMware-Workstation-Full-16.2.4-20089737.x86_64.bundle 

赋予可执行权限

4.输入 https://www.bilibili.com/read/cv20750120/VMware-Workstation-Full-16.2.4-20089737.x86_64.bundle 

此时将会自动开始安装 只需等待即可

安装完成直接打开是打不开的 会显示下图这个界面

因为 vm必须要当场编译符合这个版本的内核模块加载上去才行

可是我们已经有了内核模块并且已经载入了内核

就不需要再编译了(并且在这个系统里怎么编译...难道用软件源的gcc4.8去硬刚安卓内核?!)

那有什么办法可以跳过这个烦人的内核模块更新界面呢 当然有 我们直接打开VMware虚拟机实际上打开的是/usr/bin/vmware 这个目录下打开会触发内核模块检测 只有通过了才会真正打开vmware虚拟机的主界面 想要跳过他 那就只需要找到vmware真正的主程序就可以了 这个目录位于/usr/lib/vmware

因此使用以下几个步骤可以快速打开

1.在桌面上右键创建一个启动器

2.名称输入VMware  下面会自动冒出来 选择VMware workstation就可以了

3.将原先的命令(/usr/bin/vmware)那一行改为sudo /usr/lib/vmware/bin/vmware

把命令这一行改为如图所示的指令

4.点击保存 双击即可打开VMware主程序 然后就和在正常的pc上面一步一步进行欢迎向导就可以

这时候再切回安卓的本地终端 再运行一次

su

sh /lib/modules/install_modules.sh

将内核模块再次重载

输入lsmod命令 检查vmmon以及vmnet模块是否被加载

正确加载(第1课第2个那个模块就是)

 输入 ls /dev

看看 /dev/vmmon以及/dev/vmci字符串设备是否存在 如果都存在 那么VMware的工作条件已经满足

这时候你可以尝试着创建一个虚拟机来试试了

VMware成功运行

VMware基本功能测试

1.基本虚拟机运行√

2.快照拍摄与恢复√

3.磁盘管理√

磁盘挂载△

4.网络√

5.声音△

6. 3D加速× 

7.嵌套虚拟化√

Virtualize intel vt-x √

Virtualize CPU performance counters ×

Virtualize IOMMU √

8.鼠标自动切换√

9.共享文件夹√

10.VMware tools√

................剩下的各位自己测吧

关于问题:

这里比较大的问题就是声音问题了

VMware要求必须连接到实体声卡才会有音频服务

这就很难办了  目前没有头绪 但是vbox不用 使用sdl(x11)连接容器就可以听到声音了

【3-2-2】关于VMware的网络问题解决

如果你加载完内核模块直接就去跑虚拟机

那么虚拟机多半是没有网络连接的

你会发现/dev目录下根本找不到vmnet设备

在跑虚拟机之前你还需要再做一件事情

1.在VMware主界面点击左上角的Edit 并且点击Virtual Network Editor

2.点击选中vmnet8 NAT 再点击NAT Settings

3.什么都不要干 直接点Save 退出Virtual Network Editor

4.这个时候/dev下就会多出三个vmnet设备

虚拟机的网络连接也正常了

【3-3-1】kvm内核虚拟机检测

其实这个可以免的 因为我这个内核已经把kvm全套功能支持全部嵌进了内核 想跑也跑不掉 这里就做一个调用测试吧

1.打开es文件浏览器 把root工具箱打开

然后直接进到dev目录下翻找一下有没有kvm

ps:这个内核我已经把/dev/kvm的权限开机就设置为777以方便其他软件的调用

不过有人说kvm影响设备性能

后续的内核可能还会单独将它作为模块加载

2.chroot linux 里面安装QEMU

这里你选择编译安装以及软件源安装都可

这里我就直接用软件源吧

ubuntu18.04系统直接输入

sudo apt install qemu

就可以了

这时候输入qemu-system-x86_64 -monitor stdio -vnc :1 -enable-kvm

此时终端会变成一个qemu控制台

输入info kvm 如果反馈以下结果那就是成功

之后 你就可以让kvm配合各种QEMU启动命令 来对你的虚拟机进行硬件加速了 当然前提一定要同架构同架构同架构 kvm不支持跨架构(放心好了x64的系统还是占多数的) 总的来说qemu-kvm虚拟机也是蛮强悍的 但是前提是你需要掌握一点QEMU命令以及技巧 加油吧

结语:

终于结束了 没想到写专栏这么累 上次都没有这次这么累 应该是发烧了的缘故吧 脑袋都烧傻了都

总的来说 看到zenfone2终于跑上了VMware心里还是蛮开心的 毕竟在我刚拿到这个设备的时候就曾经幻想过这么一天  其他大佬成功运行vbox虚拟机也给了我很大的信心 终于 在今年末 成功了