常见问题 FAQ
安装与环境
我的手机能用 DroidVM 吗?
需要满足三个条件:Android 13+、已 Root、开启了硬件虚拟化的 ARM64 设备。
芯片方面三种平台都支持:高通(骁龙 8 Gen 3 或更新,Gunyah)、联发科(天玑 9000 或更新,GenieZone)、其它 ARM64(EL2 + KVM)。最直接的判断办法:看 /dev/gunyah、/dev/gzvm、/dev/kvm 是否存在其中一个。详见 环境要求。
提示没有虚拟化设备 / 检测不到 /dev/gunyah
说明设备未启用硬件虚拟化或芯片不支持。可在 Root 终端执行 ls -l /dev/gunyah /dev/kvm /dev/gzvm 确认。若都不存在,只能尝试 软件模拟(soft) 后端,但性能很差。
Root 授权失败
检查 DroidVM 是否在 Magisk / KernelSU / APatch 的授权列表中,并选择「永久允许」。
虚拟机
该用 CrosVM 还是 QEMU?
默认推荐 CrosVM,性能与集成度更好。需要自定义 UEFI 固件、或 CrosVM 不兼容的特殊设备时再考虑 QEMU。详见 后端兼容性。
虚拟机启动失败怎么办?
内存 / CPU 应该分配多少?
最小建议 2048 MB 内存 + 2 CPU。图形桌面建议 4096 MB 起。注意不要超过设备物理内存的安全范围,以免系统不稳定。
怎么优雅关机?
优先使用详情页的 电源键(触发 ACPI 关机),而非直接「停止」(相当于强制断电)。详见 管理与控制虚拟机。
启动与运行报错排查
以下排查项整理自 官方 Wiki · 常见问题。遇到具体报错时,请先在 运行日志 与 终端控制台 中查找对应关键字。
Linux 启动卡死,日志出现 host access to lent memory region at 0xXXX
这是 保护模式(Protected VM) 下系统缺少 SWIOTLB 支持导致的。保护模式要求内核启用 Restrict DMA Pool,而部分内核缺失该功能。
解决方法:
- 更换支持的内核,或重新编译内核启用相关配置
- 也可直接使用 DroidVM 内置的内核
- 关键内核配置项:
CONFIG_DMA_RESTRICT_POOL
启动中途退出,日志出现 page fault ... attempt: -12 / Out of memory (os error 12)
这是 大页内存(HugePage)已耗尽 导致的。
解决方法:安装并配置 预分配大页模块(gh-hugepage-reserve)。
谨慎使用大页模块
- 少数机型可能因此引发内核崩溃甚至变砖,请谨慎使用
- 该模块会预留内存(默认约 2 GiB),不使用时请禁用并停止模块 以释放内存
骁龙 8 Gen 3(SM8650)无法启动
8 Gen 3 由于内核中 Gunyah 内存分配的问题,通常无法正常启动(小概率可成功)。骁龙 8 Elite 及更新的芯片重构了 Gunyah 代码,不受此问题影响。
可能的解决方法:若你能自行编译内核,可参考以下补丁尝试修复:
Windows 虚拟机
Windows 系统无法输入(键盘 / 鼠标无响应)
需要使用修改过、支持 Protected VM 的 VirtIO 驱动。该驱动尚未公开发布,可加入交流群下载(QQ 群:1098335601)。
- 驱动源码:gunyah-guest-drivers-windows
- 安装文档:Windows 安装指南
启动 Windows 出现 Press any key to boot from CD or DVD
这是提示从光盘启动,按键盘上任意键 即可继续从安装盘引导。
显示
VNC 太卡 / 想要更流畅的画面
启用 原生显示(需 GPU + Virtio-GPU + GfxStream),性能明显优于 VNC。详见 图形显示。
软键盘弹不出来
在显示界面的悬浮菜单中点击「键盘」按钮手动唤起。
怎么用电脑连接虚拟机画面?
在 VNC 显示界面顶栏菜单选择 查看 URL,复制 vnc:// 地址与密码,用电脑端 VNC 客户端连接。
想接大屏当电脑用
使用 外接屏投屏:外接显示器 + 蓝牙/USB 键鼠,手机作触控板。
磁盘
qcow2 和 raw 怎么选?
- qcow2:支持快照、压缩、增量镜像,功能全,推荐
- raw:性能最佳,但占满全部空间且无快照
想从一个镜像派生多个虚拟机
使用 增量镜像(backing image):以基础镜像为底层创建差分盘,各虚拟机只保存自己的改动。详见 磁盘管理。
忘记虚拟机系统密码了
使用 Linux Agent 离线修改密码,无需启动系统即可重置。
磁盘怎么扩容?
在磁盘操作中选 调整大小(resize),然后在虚拟机内用 growpart / resize2fs 等工具扩展分区与文件系统。
网络
虚拟机上不了网
- 确认在虚拟机网卡配置中选择了一个网络
- 网络模式建议用 L3 三层路由 并启用 IPv4 SNAT
- 检查虚拟机内是否通过 DHCP 正确获取了 IP
端口转发不生效
确认所属网络启用了 SNAT;IPv6 端口转发还需使用 gVisor 网桥。格式见 网络管理。
编辑网络时保存按钮是灰的
正在运行的网络不可编辑,请先停止使用该网络的虚拟机。
其它
共享文件夹怎么用?
在 虚拟机存储标签 添加共享目录并设置标签,在虚拟机内用 mount -t virtiofs <标签> /mnt/share(或 9p)挂载。
怎么把虚拟机搬到另一台手机?
长按虚拟机选 导出为包,把生成的 .vmpkg 传到新设备,在首页点 导入虚拟机 即可。这个包含磁盘,所以文件比较大。详见 导出与导入虚拟机包。
如果只想备份设置、不需要磁盘,用 设置页的「导出配置」,文件小得多。
磁盘转换太慢
在 应用设置 里把 CPU 亲和性 设为「仅大核」。反过来,如果嫌手机发烫卡顿,可以限制到小核。
在哪里反馈 Bug?
前往 GitHub Issues 提交,并附上 运行日志。
升级会丢失数据吗?
不会。直接安装新版 APK 覆盖即可,虚拟机配置与磁盘镜像都会保留。
