如何在Windows上正确运行ARM64 Android GSI镜像并显示GUI?
正确运行ARM64 Android GSI镜像并显示GUI的方法
一、准备必要文件
- 从Android官方下载对应版本的ARM64 GSI压缩包,解压后获取
system.img、kernel(内核文件)、dtb(设备树文件)三个核心文件。 - 保留你已创建的16GB用户数据镜像
vlomatel.img(若未正确创建,可执行qemu-img create -f qcow2 vlomatel.img 16G生成)。
二、修正QEMU启动命令
原命令存在三个核心问题:错误将Android系统镜像当作光盘挂载、未指定Android启动必需的内核与设备树、缺少图形输出配置。使用以下命令启动:
qemu-system-aarch64 \ -machine virt,gic-version=3 \ -cpu cortex-a57 \ -m 4096 \ -kernel ./kernel \ -dtb ./dtb \ -drive if=none,file=system.img,format=raw,id=system \ -device virtio-blk-device,drive=system \ -drive if=none,file=vlomatel.img,format=qcow2,id=userdata \ -device virtio-blk-device,drive=userdata \ -append "root=/dev/vda rw console=ttyAMA0 loglevel=8 androidboot.hardware=virt androidboot.console=ttyAMA0 init=/init" \ -vga virtio \ -display sdl,gl=on \ -serial stdio
参数关键说明:
-kernel/-dtb:指定GSI配套的内核和设备树文件路径,这是Android启动的必需依赖。-drive+-device:通过virtio块设备正确挂载系统镜像和用户数据盘,替代原命令错误的-cdrom/-hda参数。-append:传递Android启动参数,指定根分区、控制台输出、硬件标识等核心配置,确保系统能正确初始化。-vga virtio/-display:启用virtio图形设备并通过SDL窗口输出,开启硬件加速保证GUI正常显示。
三、常见问题排查
- 若仍无GUI输出:检查是否安装SDL库(Linux需安装
libsdl2-dev,Windows/macOS需确保QEMU自带SDL支持)。 - 启动卡顿或报错:确认内核、dtb与
system.img版本完全匹配,或尝试将-cpu参数改为cortex-a72等QEMU支持的ARM64 CPU型号。
内容的提问来源于stack exchange,提问作者Nikitiy
相关产品推荐
相关产品推荐

