【问题解决】qemu-system-aarch64启动qcow2格式的系统卡在qemu_monitor解决办法(-bios ./QEMU_EFI.fd)?

背景

使用qemu-system-x86_64在启动Anolis的qcow2的系统的时候能够直接启动。但是使用qemu-system-aarch64启动arm架构的qcow2就一直卡在qemu monitor中。经过一段摸索最后发现是因为没有指定bios,aarch64需要指定qemu_efi.fd的efi文件。

现象

每次启动都卡在qemu monitor,也不出现启动选择系统。超时了很多方法
在这里插入图片描述

解决办法:

下载QEMU_EFI.fd:
https://releases.linaro.org/components/kernel/uefi-linaro/16.02/release/qemu64/
然后通过-bios指定参数后启动就可以了,但是同时也要指定输出是stdio
命令:

qemu-system-aarch64 -serial stdio -cpu cortex-a72 -machine virt-9.2 -smp 8 -m 2G -drive file=./AnolisOS-8.6-aarch64-ANCK.qcow2,if=virtio -bios ./QEMU_EFI.fd

效果:
在这里插入图片描述

在这里插入图片描述

QEMU 是一个通用的开源机器模拟器和虚拟化器,它支持多种架构,包括 ARM64(aarch64)。`qemu-system-aarch64` 是 QEMU 中用于模拟 ARM64 架构的虚拟机的命令行工具。通过这个工具,用户可以在非 ARM64 的宿主机上模拟 ARM64 环境,例如在 x86_64 架构的宿主机上运行 ARM64 Linux 内核。 以下是使用 `qemu-system-aarch64` 启动 ARM64 Linux 内核的一些关键步骤和参数: 1. **查看版本号**: ```shell qemu-system-aarch64 --version ``` 这个命令用于查看当前安装的 `qemu-system-aarch64` 版本信息。 2. **启动 ARM64 Linux 内核**: ```shell qemu-system-aarch64 -M virt -cpu cortex-a53 -nographic -kernel linux-6.7/arch/arm64/boot/Image --append "console=ttyAMA0" -initrd ./rootfs.cpio ``` 这个命令启动了一个虚拟机,其中 `-M virt` 指定了使用虚拟的机器类型,`-cpu cortex-a53` 指定了 CPU 类型,`-nographic` 表示不使用图形界面,`-kernel` 指定了内核映像的路径,`--append` 用于添加启动参数,`-initrd` 指定了初始 RAM 磁盘的路径。 3. **退出 QEMU 虚拟机**: 在 QEMU 虚拟机运行时,同时按下 `ctrl + a`,然后松开,再按下 `x`,即可退出虚拟机回到原本的终端窗口。 4. **启动带有 virtio 设备的虚拟机**: ```shell qemu-system-aarch64 -name vm2 -daemonize -enable-kvm -M virt -cpu host -smp 2 -m 4096 -global virtio-blk-device.scsi=off -device virtio-scsi-device,id=scsi -kernel vmlinuz-4.18 --append "console=ttyAMA0 root=UUID=6a09973e-e8fd-4a6d-a8c0-1deb9556f477" -initrd initramfs-4.18 -drive file=vhuser-test1.qcow2 -netdev user,id=unet,hostfwd=tcp:127.0.0.1:1122-:22 -device virtio-net-device,netdev=unet -vnc :10 ``` 这个命令启动了一个带有 virtio 设备的虚拟机,其中 `-enable-kvm` 表示启用 KVM 加速,`-M virt` 指定了使用虚拟的机器类型,`-cpu host` 表示使用宿主机的 CPU 类型,`-smp` 指定了虚拟 CPU 的数量,`-m` 指定了内存大小,`-drive` 指定了磁盘镜像文件,`-netdev` 和 `-device` 用于配置网络设备。 5. **环境信息**: 用户的环境信息包括宿主机硬件平台为 x86_64,宿主机操作系统为 Ubuntu 20.04,QEMU 版本为 qemu-4.2.1,实验内核为 linux-5.19,busybox 版本为 busybox-1.35.0。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值