如何在arm64 host上创建arm32 kvm虚拟机

大约在今年五六月份(kernel 5.7),arm kernel社区的maintainer Marc Zyngier移除了对arm32 kvm的支持,也就是在kernel 5.7

以后不能在arm32的host上创建kvm虚拟机。但是在arm64的host上还是可以创建arm32 kvm虚拟机的,本文就介绍一下如何在arm64的host上创建arm32虚机。

arm64的host最容易获得的是树莓派,最好在树莓派4上安装64位的ubuntu。本文以树莓派4-ubuntui系统为例。

创建虚机需要的原料:kernel,initrd,rootfs,命令行参数,前三个可以从ubuntu提供的arm32镜像中获得。

wget https://cloud-images.ubuntu.com/bionic/current/bionic-server-cloudimg-armhf.img

这是一个硬盘的完整镜像,也许可以直接用它来创建虚机,但是我还不会,我这里只介绍使用-kernel的方式启动虚机。首先就是从这个镜像里面取出,kernel和initrd。这个方法可能不止一种,我有一种比较可靠的方法,就是比较麻烦。将这个镜像作为非启动盘挂在一个可以启动的arm64的虚机里面,利用9p文件系统将kernel和initrd取出来。如果你要自己编译kernel,把他的config也取出来。arm64的虚拟机启动方法可以看这个链接:https://blog.youkuaiyun.com/wujianyongw4/article/details/90289208,挂载9p文件系统再加上

-fsdev local,security_model=passthrough,id=fsdev0,path=/tmp/share -device v

<think>好的,用户想在VMware或VirtualBox中安装ARM架构的操作系统,我得先理清楚现有的解决方案。首先,VMware和VirtualBox默认支持的是x86架构,所以安装ARM系统可能需要额外的工具或者配置。 记得之前看到过,VirtualBox可以通过使用QEMU来模拟ARM环境。例如,用户需要先安装VirtualBox,然后下载ARM的系统镜像,比如Ubuntu的ARM版本。可能还需要用到qemu-system-aarch64这样的工具来创建虚拟机。不过具体的步骤可能比较复杂,需要配置虚拟硬件参数,比如选择ARM的CPU类型和设置正确的启动选项。 而VMware方面,虽然它本身不直接支持ARM架构,但可以通过类似的方法,结合QEMU或其他模拟器来运行ARM系统。比如,用户可能需要先安装QEMU,然后在其中运行ARM镜像,再将QEMU虚拟机导入到VMware中。不过这种方法可能会影响性能,而且步骤繁琐,可能不太适合新手。 另外,还要注意不同工具的版本兼容性,比如VirtualBox的扩展包是否支持ARM模拟,或者QEMU的版本是否需要特定配置。同时,系统镜像的选择也很重要,必须确保下载的是ARM64架构的镜像,比如Raspberry Pi OS或者Ubuntu for ARM。 用户提供的引用中提到了使用VirtualBox和QEMU的案例,比如引用[2]提到在Linux上用qemu-system-aarch64安装ARM系统,引用[1]和[3]则是关于VirtualBox的安装。这些可以作为主要的参考步骤,指导用户配置虚拟化环境。 可能还需要提醒用户,由于ARM模拟在x86架构上是通过软件实现的,性能可能不如原生系统,因此适合学习和测试,不太适合生产环境。此外,安装过程中可能会遇到驱动或兼容性问题,需要查阅相关文档或社区支持。 总结下来,回答应该分步骤说明如何在VirtualBox中通过QEMU安装ARM系统,或者在VMware中的替代方案,同时指出性能限制和潜在问题。确保用户了解整个流程的大致步骤和可能遇到的挑战,并参考提供的引用资料。</think>在x86架构的物理机上安装ARM架构操作系统需要通过虚拟化软件配合CPU模拟器实现。以下是具体步骤: ### 一、VirtualBox安装ARM系统(推荐方案) 1. **安装VirtualBox扩展包** 下载对应版本的*Oracle VM VirtualBox Extension Pack*并安装,以增强虚拟化功能[^1]。 2. **配置QEMU模拟器** 需配合qemu-system-aarch64模拟ARMv8环境: ```bash sudo apt-get install qemu qemu-system-arm ``` 3. **创建虚拟机** 设置虚拟机参数时选择: $$ \text{类型:ARM64 (aarch64)} \\ \text{版本:QEMU 虚拟化} $$ 4. **加载UEFI固件** 需下载ARM专用固件: ```bash wget https://releases.linaro.org/components/kernel/uefi-linaro/16.02/release/qemu64/QEMU_EFI.fd ``` 5. **启动配置** 使用以下命令参数启动: ```bash qemu-system-aarch64 -m 2048 -cpu cortex-a57 -M virt -bios QEMU_EFI.fd ``` ### 二、VMware替代方案 1. **嵌套虚拟化** 需先启用物理机BIOS的VT-x/AMD-V虚拟化功能 2. **使用QEMU-KVM** 通过KVM加速创建ARM虚拟机: ```bash qemu-system-aarch64 -enable-kvm -cpu host ``` ### 三、系统镜像获取 推荐下载官方ARM镜像: - Ubuntu Server for ARM:https://ubuntu.com/download/server/arm - Raspberry Pi OS:https://www.raspberrypi.com/software/ > **性能提示**:通过TCG(Tiny Code Generator)实现的指令翻译会显著降低性能,建议分配4GB以上内存[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值