创建与编辑虚拟机
在 虚拟机 标签点击右下角 + 可创建新虚拟机;在虚拟机详情页点击 编辑 可修改已有虚拟机(仅在停止状态下可编辑)。
配置界面分为 5 个可滑动的标签页:基础 / 引导 / 显示 / 存储 / 网络。底部按钮用于保存;保存时会逐页校验,若有错误会自动跳转到第一个出错的标签页。

📷 截图位置:创建/编辑虚拟机 - 标签页总览
Tab 1 · 基础
| 字段 | 含义 | 默认 / 可选值 |
|---|---|---|
| 名称 | 虚拟机名称,须唯一且为合法文件名 | 必填 |
| 内存 | 内存大小(可选单位,最终存为 MB) | 512 MB |
| CPU 数量 | vCPU 个数 | 1 |
| SWIOTLB 大小 | 保护模式下的 SWIOTLB 缓冲区 | 64 MB |
| 内存气球 | virtio-balloon 动态内存回收 | 关 |
| PMU | 性能监视器单元 | 关 |
| RNG | 随机数生成器 | 关 |
| SMT | 同步多线程 | 关 |
| USB | USB 控制器 | 关 |
| 沙箱 | crosvm 沙箱 | 关 |
| 大页内存 | 使用大页(需配合 HugePage 模块) | 关 |
| 预分配大页方式 | 借出大页的方式 | 禁用 / 单次(整块借出)/ 分块(≤256 MiB,默认) |
| 保护模式 | Gunyah 保护级别 | 普通 / 保护 / 无固件保护(默认) |
| 后端 | 虚拟机后端(VMM) | CrosVM(默认) / QEMU |
| 虚拟化 | hypervisor 选择 | 自动(默认) / 软件模拟 / Linux KVM / 高通 Gunyah / 联发科 GenieZone |
| 调试跟踪 | 用 strace 跟踪 VMM 进程,跟踪日志写入缓存目录,便于排查启动 / 运行故障 | 关 |
| 额外选项 | 透传给 VMM 的额外命令行参数(每行一条) | — |
后端与虚拟化兼容性
- QEMU 支持:软件模拟、KVM、Gunyah
- CrosVM 支持:KVM、Gunyah、GenieZone
选择不兼容的组合时保存会报错。一般保持 CrosVM + 自动 即可。
Tab 2 · 引导
- 开机时自动启动:设备开机后自动拉起此虚拟机
- 引导方式:UEFI 或 Linux 开机协议
UEFI 引导
适用于绝大多数 Linux 发行版镜像与 Windows。
- UEFI 固件路径:留空使用内置 EDK2 固件;自定义固件 仅 QEMU 后端 生效(CrosVM 始终使用内置 EDK2)
Linux 开机协议
直接加载内核引导,适合自定义内核场景。内核来源分两种:
A. 磁盘镜像(自动扫描)
从所选磁盘自动扫描引导项(kernel / initrd / cmdline)。
| 选项 | 说明 |
|---|---|
| 引导磁盘 | 选择从哪个磁盘扫描引导项 |
| 引导项 | 自动跟随引导加载器,或指定某个 entry |
| 重新扫描 | 重新检测引导项 |
| vdafix(默认开) | 把 root= / resume= 设备名改写为 PARTUUID=,避免设备名漂移 |
| cmdline 覆盖 | 留空使用镜像自带 cmdline |
| 开机菜单等待秒数 | 默认 2,设为 0 不显示菜单 |
B. 手动指定
| 选项 | 说明 |
|---|---|
| 内核路径 | 内置 Linux 内核 / 系统 MicroDroid 内核 / 外部文件 |
| initramfs 路径 | 内置 / MicroDroid / MicroDroid 可调试 / 外部文件 |
| cmdline | 默认 root=/dev/vda2 |
DMA 警告
在保护模式下,若所用内核缺少 CONFIG_DMA_RESTRICTED_POOL 配置,界面会显示 DMA 警告。此时建议关闭保护模式或更换内核。
Tab 3 · 显示
完整显示功能(VNC、原生显示、外接屏投屏)请参阅 图形显示。配置字段如下:
GPU
| 字段 | 含义 | 可选值 |
|---|---|---|
| 启用 GPU | 开启 GPU 加速 | 开关 |
| 渲染器 | GPU 后端 | 2D(软件)/ VirGL / GfxStream(默认) |
| GPU API | 图形 API | Vulkan / EGL / OpenGL ES(默认) / ANGLE |
显示器
| 字段 | 含义 | 可选值 / 范围 |
|---|---|---|
| 启用显示器 | 启用图形显示 | 开关 |
| 显示后端 | 帧缓冲类型 | SimpleFB(默认) / Virtio-GPU(需先启用 GPU) |
| 启用原生显示 | 仅当 GPU 开启 + Virtio-GPU(GfxStream) 时可见 | 开关 |
| 显示宽度 | 分辨率宽 | 320–8192,默认 1280 |
| 显示高度 | 分辨率高 | 320–8192,默认 720 |
| 刷新率 | Hz | 1–400,默认 60 |
| 水平 / 垂直 DPI | DPI(仅非 SimpleFB 时可见) | 100–800,默认 160 |
VNC
| 字段 | 含义 | 可选值 |
|---|---|---|
| 启用 VNC | 开启 VNC 服务 | 开关 |
| 主机地址 | VNC 监听地址 | — |
| 端口 | VNC 端口 | 1024–65535(留空自动分配) |
| 密码认证 | 是否启用密码 | 开关 |
| 密码 | VNC 密码 | 可一键清空 / 生成 8 位随机密码 |
Tab 4 · 存储
磁盘列表
每条磁盘可配置:
- 路径:手填 / 浏览文件 / 选择已注册磁盘 / 导入或创建磁盘
- 总线:VIRTIO / SCSI / PMEM / PFLASH / CDROM
- 只读:是否只读挂载
CDROM
安装系统时,可把安装 ISO 以 CDROM 总线 + 只读 方式挂载,把目标空白磁盘以 VIRTIO 方式挂载。
共享目录列表
通过 VirtFS 在宿主机与虚拟机之间共享文件夹。每条可配置:
| 字段 | 含义 | 默认 / 可选 |
|---|---|---|
| 宿主机目录路径 | 要共享的宿主目录 | — |
| 标签 | 挂载标签,须唯一且合法 | — |
| 类型 | 协议 | P9 / FS(virtiofs,默认) |
| 缓存 | 缓存策略 | NEVER / AUTO(默认) / ALWAYS |
| 回写 | writeback 缓存 | 关 |
| DAX | DAX 直接访问 | 关 |
| POSIX ACL | POSIX ACL 支持 | 开(默认) |
| 超时秒数 | 元数据超时 | 5 |
在虚拟机内部,使用对应的标签挂载,例如:
# virtiofs 类型
mount -t virtiofs <标签> /mnt/share
# 9p 类型
mount -t 9p -o trans=virtio <标签> /mnt/shareTab 5 · 网络
每张虚拟网卡(NIC)可配置:
| 字段 | 含义 |
|---|---|
| 所属网络 | 从已配置的 桥接网络 中选择 |
| MAC 地址 | 可选,可随机生成 |
| 源 MAC 过滤 | 开启需配置 MAC |
| 端口隔离 | 隔离同网络其它端口 |
| VLAN ID | 0–4094 标记接入,4095 = trunk,留空 = trunk |
| DHCPv4 静态分配 | 地址偏移(默认 64)+ 端口转发列表 |
| DHCPv6 静态分配 | 地址偏移 + 端口转发列表 |
端口转发格式:每行 [协议] 主机端口:客户机端口,协议留空表示 tcp+udp,支持范围写法 8000-9000:8000-9000。
端口转发生效条件
端口转发仅在所属网络启用 SNAT 时生效;IPv6 端口转发还需要使用 gVisor 网桥。
保存与校验
点击底部保存按钮后,系统会逐标签页校验配置。若某项不合法(如名称重复、CIDR 非法、标签冲突等),会自动跳转到出错位置并给出提示。校验通过后即创建/更新虚拟机。
