软件准备
QEMU 软件的下载地址:
qemu-w64-setup-20210505.exe
UEFI(BIOS的替代方案)的下载地址
QEMU_EFI.fd
系统镜像下载地址:
openEuler-20.03-LTS-SP3-aarch64-dvd.iso
创建虚拟环境
创建虚拟机
qemu-img create -f qcow2 E:\QEMU\OpenEuler_169.qcow2 50G
安装虚拟机
qemu-system-aarch64.exe -m 16000 -cpu cortex-a72 -smp 8,sockets=1,cores=8 -M virt -bios F:\QEMU_EFI.fd -device VGA -device nec-usb-xhci -device usb-mouse -device usb-kbd -drive if=none,file=E:\QEMU\OpenEuler_169.qcow2,id=hd0 -device virtio-blk-device,drive=hd0 -drive if=none,file=F:\openEuler-22.03-LTS-SP2-aarch64-dvd.iso,id=cdrom,media=cdrom -device virtio-scsi-device -device scsi-cd,drive=cdrom -net nic -net user,hostfwd=tcp::2222-:22
这个命令是在使用 QEMU 启动一个 AArch64 架构的虚拟机。以下是各个参数的详细解释:
qemu-system-aarch64.exe:指定使用 QEMU 的 AArch64 系统仿真。
-m 16000:分配 16GB 的内存给虚拟机。
-cpu cortex-a72:指定使用 Cortex-A72 CPU 架构。
-smp 1,sockets=1,cores=1:设置虚拟机的 CPU 配置,这里表示 1 个插槽,1 核心。
-M virt:指定虚拟机使用的机器类型,这里使用的是 virt,是一个通用的虚拟化平台。
-bios F:\QEMU_EFI.fd:指定 BIOS 文件,通常用于 UEFI 启动。
-device VGA:添加一个 VGA 设备,用于图形输出。
-device nec-usb-xhci:添加 NEC USB 3.0 控制器。
-device usb-mouse:添加 USB 鼠标设备。
-device usb-kbd:添加 USB 键盘设备。
-drive if=none,file=E:\QEMU\OpenEuler_169.qcow2,id=hd0:指定一个硬盘驱动器,文件为 OpenEuler_169.qcow2,ID 为 hd0。
-device virtio-blk-device,drive=hd0:将上面定义的硬盘驱动器连接到虚拟机,使用 VirtIO 接口。
-drive if=none,file=F:\openEuler-22.03-LTS-SP2-aarch64-dvd.iso,id=cdrom,media=cdrom:指定一个 CD-ROM 驱动器,文件为 openEuler 的 ISO 镜像,ID 为 cdrom。
-device virtio-scsi-device:添加一个 SCSI 控制器。
-device scsi-cd,drive=cdrom:将 CD-ROM 驱动器连接到 SCSI 控制器。
-net nic:添加一个网络接口卡。
-net user,hostfwd=tcp::2222-:22:设置用户模式网络,映射主机的 TCP 2222 端口到虚拟机的 22 端口(通常用于 SSH 访问)。
总体来说,这个命令配置了一个具有 16GB 内存和 Cortex-A72 CPU 的 AArch64 虚拟机,连接了硬盘和 CD-ROM,添加了 USB 设备,并设置了网络转发,以便从主机访问虚拟机的 SSH 服务。
启动虚拟机
qemu-system-aarch64 -m 16000 -cpu cortex-a72 -smp 8,sockets=1,cores=8 -M virt -bios F:\QEMU_EFI.fd -device VGA -device nec-usb-xhci -device usb-mouse -device usb-kbd -drive if=none,file=E:\QEMU\OpenEuler_169.qcow2,id=hd0 -device virtio-blk-device,drive=hd0 -net nic -net user,hostfwd=tcp::2222-:22
从虚拟机内部关闭虚拟机
sudo shutdown now