qemu虚拟化软件,可以在一个平台上模拟另一个硬件平台,可以支持多种处理器架构。
一、安装
安装教程:https://blog.csdn.net/qq_36035382/article/details/125308044
下载链接:https://qemu.weilnetz.de/w64/2024/
我下载的是
下载完成之后正常安装,测试是直接在安装目录下右击打开poewershell,然后输入:
./qemu-system-arm.exe -version
显示如下:
二、配置环境
参考:https://blog.csdn.net/weixin_38120390/article/details/135779790
EFI文件:https://releases.linaro.org/components/kernel/uefi-linaro/16.02/release/qemu64/
EFI(Extensible Firmware Interface) 是一种用于计算机的固件接口,旨在替代传统的 BIOS(基本输入/输出系统)。
创建虚拟磁盘
首先创建一个目录,用来放虚拟机,然后在qemu目录下用终端输入
qemu-img create -f qcow2 D:kylinkylin_arm64.img 50g
这样就在D:kylin路径下安装了kylin_arm64.img这个镜像文件
文件目录结构
安装操作系统
这个指令参考博客
qemu-system-aarch64.exe -m 8192 -cpu cortex-a72 -smp 4,cores=4,threads=1,sockets=1 -M virt -bios D:kylinQEMU_EFI.fd -netdev user,id=net0 -device virtio-net-pci,netdev=net0 -device nec-usb-xhci -device usb-kbd -device usb-mouse -device VGA -drive if=none,file=D:kylinKylin-Desktop-V10-SP1-2403-Release-20240430-arm64.iso,id=cdrom,media=cdrom -device virtio-scsi-device -device scsi-cd,drive=cdrom -drive if=none,file=D:kylinkylin_arm64.img,id=hd0 -device virtio-blk-device,drive=hd0
参数解释
qemu-system-aarch64.exe
:- 指定要使用的 QEMU 模拟器,针对 ARM64 架构。
m 8192
:- 分配给虚拟机的内存大小,这里为 8192 MB(即 8 GB)。
cpu cortex-a72
:- 指定使用 Cortex-A72 作为虚拟 CPU 的型号,这是 ARM 体系结构的一种高性能处理器。
smp 4,cores=4,threads=1,sockets=1
:- 配置虚拟机的对称多处理(SMP)设置:
4
表示总共有 4 个 CPU。cores=4
表示每个 CPU 只有 4 个核心。threads=1
表示每个核心只有 1 个线程。sockets=1
表示只有 1 个 CPU 插槽。
- 配置虚拟机的对称多处理(SMP)设置:
M virt
:- 指定虚拟机的机器类型,这里使用的是通用的 Virt 虚拟机类型。
bios D:kylinQEMU_EFI.fd
:- 指定要使用的 BIOS 固件文件,这里使用的是 UEFI 固件,文件路径为
D:kylinQEMU_EFI.fd
。
- 指定要使用的 BIOS 固件文件,这里使用的是 UEFI 固件,文件路径为
net nic
:- 创建一个网络接口卡(NIC)。
net tap,ifname=tap0
:- 配置网络以使用 TAP 设备
tap0
,允许虚拟机通过此设备连接到主机的网络。
- 配置网络以使用 TAP 设备
device nec-usb-xhci
:- 添加 NEC USB 3.0 控制器设备。
device usb-kbd
:
* 添加 USB 键盘设备。device usb-mouse
:
* 添加 USB 鼠标设备。device VGA
:
* 添加 VGA 图形适配器设备,用于显示输出。drive if=none,file=D:kylinKylin-Desktop-V10-SP1-2403-Release-20240430-arm64.iso,id=cdrom,media=cdrom
:
* 指定一个光盘驱动器,使用 ISO 文件作为介质。if=none
表示没有指定接口类型。
*file=D:kylinKylin-Desktop-V10-SP1-2403-Release-20240430-arm64.iso
指定 ISO 文件的路径。
*id=cdrom
为该设备指定一个 ID。
*media=cdrom
指定该驱动器为 CD-ROM 类型。device virtio-scsi-device
:
* 添加 VirtIO SCSI 控制器设备,用于管理存储设备。device scsi-cd,drive=cdrom
:
* 将前面定义的 CD-ROM 设备连接到 SCSI 控制器。drive if=none,file=D:kylinkylin_arm64.img,id=hd0
:
* 指定一个硬盘驱动器,使用镜像文件作为存储设备。
*file=D:kylinkylin_arm64.img
指定镜像文件的路径。
*id=hd0
为该驱动器指定一个 ID。device virtio-blk-device,drive=hd0
:
* 将前面定义的硬盘驱动器连接到 VirtIO 块设备控制器。
qemu-system-aarch64.exe
: 启动 QEMU 的 ARM64 版本模拟器。m 8192
: 为虚拟机分配 8192 MB(8 GB)的内存。cpu cortex-a72
: 指定使用 Cortex-A72 作为虚拟 CPU 的型号,这是 ARM 体系结构的一种高性能处理器。smp 4,cores=4,threads=1,sockets=1
: 配置虚拟 CPU 的多线程和多核心设置。4
: 总共 4 个 CPU 核心。cores=4
: 每个 CPU 插槽有 4 个核心。threads=1
: 每个核心有 1 个线程。sockets=1
: 总共 1 个 CPU 插槽。
M virt
: 指定模拟的机器类型为virt
,这是一种通用的虚拟化架构。bios D:kylinQEMU_EFI.fd
: 指定使用的 BIOS 固件文件,QEMU_EFI.fd
是一个 UEFI 固件文件,用于支持现代操作系统的启动。netdev user,id=net0
: 创建一个用户模式网络设备,ID 为net0
。这使得虚拟机可以访问主机网络。device virtio-net-pci,netdev=net0
: 将一个 Virtio 网络设备添加到虚拟机,使用之前定义的net0
网络设备。device nec-usb-xhci
: 添加 NEC USB 3.0 控制器。device usb-kbd
: 添加一个 USB 键盘设备。device usb-mouse
: 添加一个 USB 鼠标设备。device VGA
: 添加一个 VGA 显示设备。drive if=none,file=D:kylinKylin-Desktop-V10-SP1-2403-Release-20240430-arm64.iso,id=cdrom,media=cdrom
: 添加一个光驱设备,指向指定的 ISO 镜像文件。if=none
: 指定此驱动器的接口类型。file=...
: ISO 文件路径。id=cdrom
: 给此驱动器一个 ID。media=cdrom
: 指定该驱动器为光盘媒体。
device virtio-scsi-device
: 添加一个 Virtio SCSI 控制器,以支持 SCSI 设备。device scsi-cd,drive=cdrom
: 将之前添加的光驱设备作为 SCSI CD 设备。drive if=none,file=D:kylinkylin_arm64.img,id=hd0
: 添加一个硬盘驱动器,指向指定的虚拟硬盘镜像文件。if=none
: 指定此驱动器的接口类型。file=...
: 硬盘镜像文件路径。id=hd0
: 给此硬盘驱动器一个 ID。
device virtio-blk-device,drive=hd0
: 将之前添加的硬盘驱动器作为 Virtio 块设备。
选择操作系统
选择第二个安装 Kylin-Desltop V10-SP1
选择中文
选择从live安装:
然后点击创建的硬件,然后,然后下一步
然后选择格式化整个磁盘
剩下的就是创建用户等。
接着就是等待安装
Done
再次启动不用使用镜像文件,直接
qemu-system-aarch64.exe -m 8192 -cpu cortex-a72 -smp 4,cores=4,threads=1,sockets=1 -M virt -bios D:kylinQEMU_EFI.fd -netdev user,id=net0 -device virtio-net-pci,netdev=net0 -device nec-usb-xhci -device usb-kbd -device usb-mouse -device VGA -drive if=none,file=,id=cdrom,media=cdrom -device virtio-scsi-device -device scsi-cd,drive=cdrom -drive if=none,file=D:kylinkylin_arm64.img,id=hd0 -device virtio-blk-device,drive=hd0
也就是上面安装命令把file路径去掉,这样就直接从img文件所属目录打开了。