Skip to content

常见问题 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。详见 后端兼容性。

虚拟机启动失败怎么办? ​

  1. 查看 运行日志 定位错误
  2. 确认引导方式正确(多数发行版镜像用 UEFI)
  3. 确认磁盘已正确挂载、内存 / CPU 分配合理
  4. 若用了压缩 qcow2,先对磁盘执行「优化」

内存 / 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

参考:问题:虚拟机的系统不支持 SWIOTLB Restrict DMA 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 代码,不受此问题影响。

可能的解决方法:若你能自行编译内核,可参考以下补丁尝试修复:

参考:问题:Gunyah 资源管理器拒绝启动虚拟机


Windows 虚拟机 ​

Windows 系统无法输入(键盘 / 鼠标无响应) ​

需要使用修改过、支持 Protected VM 的 VirtIO 驱动。该驱动尚未公开发布,可加入交流群下载(QQ 群:1098335601)。

启动 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 等工具扩展分区与文件系统。


网络 ​

虚拟机上不了网 ​

  1. 确认在虚拟机网卡配置中选择了一个网络
  2. 网络模式建议用 L3 三层路由 并启用 IPv4 SNAT
  3. 检查虚拟机内是否通过 DHCP 正确获取了 IP

端口转发不生效 ​

确认所属网络启用了 SNAT;IPv6 端口转发还需使用 gVisor 网桥。格式见 网络管理。

编辑网络时保存按钮是灰的 ​

正在运行的网络不可编辑,请先停止使用该网络的虚拟机。


其它 ​

共享文件夹怎么用? ​

在 虚拟机存储标签 添加共享目录并设置标签,在虚拟机内用 mount -t virtiofs <标签> /mnt/share(或 9p)挂载。

怎么把虚拟机搬到另一台手机? ​

长按虚拟机选 导出为包,把生成的 .vmpkg 传到新设备,在首页点 导入虚拟机 即可。这个包含磁盘,所以文件比较大。详见 导出与导入虚拟机包。

如果只想备份设置、不需要磁盘,用 设置页的「导出配置」,文件小得多。

磁盘转换太慢 ​

在 应用设置 里把 CPU 亲和性 设为「仅大核」。反过来,如果嫌手机发烫卡顿,可以限制到小核。

在哪里反馈 Bug? ​

前往 GitHub Issues 提交,并附上 运行日志。

升级会丢失数据吗? ​

不会。直接安装新版 APK 覆盖即可,虚拟机配置与磁盘镜像都会保留。

基于 GNU GPL v3.0 许可证发布