我有一台 ARM64 机器,我想将其模拟为办公桌上的虚拟机进行测试。这是我第一次在 AMD64 上模拟 ARM64,我毫无头绪,摸索着寻找提示。
我找到了一个例子,网址:https://wiki.ubuntu.com/ARM64/QEMU
我从该页面中获取的示例如下:
$ sudo qemu-system-aarch64 -enable-kvm -m 1024 -cpu host -M virt -nographic -pflash /usr/share/AAVMF/AAVMF_CODE.fd -pflash flash1.img -drive if=none,file=jammy-server-cloudimg-arm64.img,id=hd0 -device virtio-blk-device,drive=hd0 -netdev type=tap,id=net0 -device virtio-net-device,netdev=net0,mac=$randmac
这是我的调整版本,下面有一些注释:
# qemu-system-aarch64 -enable-kvm -m 4096 -cpu host -M virt -pflash /usr/share/AAVMF/AAVMF_CODE.fd -pflash flash1.img -drive if=none,file=sal3.internal.raw,id=hd0 -device virtio-blk-device,drive=hd0 -netdev type=tap,id=net0 -device virtio-net-device,netdev=net0,mac=$randmac
我遇到了两个障碍:
我所用的示例假设 CD 是初始源,但我想从工作实例开始。我知道将“目标”主机复制到我的 VM 场的唯一方法是进行原始复制,然后以“原始”模式运行,如我上面显示的示例所示:“file=sal3.internal.raw”;这会引发错误:
WARNING: Image format was not specified for 'sal3.internal.raw' and probing guessed raw. Automatically detecting the format is dangerous for raw images, write operations on block 0 will be restricted. Specify the 'raw' format explicitly to remove the restrictions.
针对三项内容发出了三次警告;然后失败:
qemu-system-aarch64: invalid accelerator kvm
我思考我可以绕过这三个警告,一旦我成功了,但问题是错误说 kvm 不正确。因为我用的是复制粘贴的方式,而且我使用的示例似乎认为 kvm 可以处理我的 aarch64 VM,但我不知道该如何处理。
有什么提示吗?谢谢。
答案1
链接的维基页面中有答案:
如果你有 arm64 主机,可以使用 KVM 加速
你不能虚拟化(即-enable-kvm
)针对不同的架构。(我不记得您是否可以针对同一“系列”架构执行类似使用 64 位主机虚拟化 32 位机器的操作,不过无论如何,这里的情况并非如此。)