Skip to content

qemu

QEMU(Quick EMUlator)是一款开源的虚拟化软件,能够模拟多种硬件平台,并支持多种虚拟化技术,如 KVM(Kernel-based Virtual Machine)加速。QEMU 能够在多个操作系统上运行,包括 Windows、Linux 和 macOS。

  1. 下载 QEMU: 访问 QEMU 官方网站或通过包管理器下载适用于 Windows 的 QEMU 版本。

官网地址:https://www.qemu.org/

  1. 安装 QEMU: 解压下载的文件到您选择的目录,并确保路径添加到系统的环境变量中。(配置好变量路径方便,手动进入路径也可)
  2. 准备好一个x86的镜像或者img的镜像,格式可以为qcow2

QEMU 支持多种磁盘映像格式,包括 raw、qcow2、qed、vdi、vhd、vmdk、cow、parallels 和 dmg 等。

QEMU_EFI.fd文件下载地址: http://releases.linaro.org/components/kernel/uefi-linaro/16.02/release/qemu64/

centos:

Index of /centos-vault/altarch/

阿里云centos:

https://mirrors.aliyun.com/centos-vault/altarch

安装虚拟网卡

当时使用下载到的

这里我们选择openvpn

官方地址:https://swupdate.openvpn.net/downloads/connect/openvpn-connect-3.3.6.2752_signed.msi

双击下载下来的openvpn-connect-3.3.6.2752_signed.msi软件,和安装其它软件一样,一步步安装即可。

注意:不一定非得安装这个软件,能创建虚拟网卡就行如win+R "hdwwiz"添加硬件,找到合适的网卡我个人觉得理论可行(此法慎用,当时我安装后电脑提示过时硬件一直引导不进系统修了一下午电脑)

image

红框内所示的网卡是新添加的,安装完 OpenVPN 后名称可能会有所不同只需关注小红框中的网卡类型是否为“TAP-Windows Adapter”,找到这种类型的网卡即可确认这是新添加的网卡。此时,该网卡的连接状态会显示为未连接状态,无需担心,启动虚拟机后连接状态会变为正常。

这里修改为了tap0,其它的名称也可以,建议还是修改为tapXX这种形式,最好不要用中文名称。

image

再选择你需要桥接到的网卡创建新网卡的网桥

image

创建linux bat文件

bat
%创建硬盘文件%
"E:\qemu\qemu-img.exe" create -f qcow2 D:\qemu\centos7\centos7.9-aarch64.qcow2 50G
% 启动qemu程序,这里启动的是arm64 cpu型号的qemu程序 %
"E:\qemu\qemu-system-aarch64.exe" ^
% 要分配的内存 %
-m 8192 ^
% 模拟的CPU %
-cpu cortex-a76 ^
-smp 4,cores=4,threads=1,sockets=1 ^
-M virt ^
% 引导文件 %
-bios F:\iso\QEMU_EFI.fd ^
-device VGA ^
-device nec-usb-xhci ^
-device usb-mouse ^
-device usb-kbd ^
% 使用的镜像位置 %
-cdrom F:\iso\CentOS-7-aarch64-Minimal-2009.iso ^
-net nic,model=virtio ^
-net tap,ifname=tap0 ^
-boot d D:\qemu\centos7\centos7.9-aarch64.qcow2


%

参数参考:
-m 指定内存大小,单位M,2048就是2G。
-cpu 指定CPU型号,cortex-a53 是一款ARMv8架构的处理器。
-smp 依次为:逻辑处理器的个数、每个CPU的核心数、每个CPU的线程数、CPU的个数。
-bios UEFI固件的路径,前文【下载】的步骤中提到过。
-cdrom 光盘镜像文件的地址,这里就是操作系统安装镜像的路径。
-boot 当前虚拟机镜像的文件路径。
-net tap 指定后端网络类型是TAP,ifname指定TAP网卡的名字是tap0。
qemu-system-aarch64.exe: 启动 AArch64 架构的 QEMU 模拟器。

-m 8192: 分配 8 GB 的内存给虚拟机。

-cpu cortex-a72: 指定使用 Cortex-A72 CPU 模型。

-smp 4,sockets=2,cores=2: 配置 4 个 CPU 核心,分为 2 个插槽,每个插槽 2 个核心。

-M virt: 使用 “virt” 机器类型,适合虚拟化。

-bios "F:\arm-os-test\QEMU_EFI.fd": 指定 EFI BIOS 文件。

-net nic -net tap,ifname=tap0: 设置网络,使用 NIC 和 tap 接口。

-device VGA: 添加 VGA 显示设备。

-device nec-usb-xhci: 添加 USB 控制器。

-device usb-mouse -device usb-kbd: 添加 USB 鼠标和键盘设备。

-drive if=none,file="F:\arm-os-test\openeuler.qcow2",id=hd0 -device virtio-blk-device,drive=hd0: 配置一个 VirtIO 块设备作为主磁盘。

-drive if=none,file="F:\arm-os-test\openEuler-22.03-LTS-SP4-aarch64-dvd.iso",id=cdrom,media=cdrom: 设置 CD-ROM 驱动器,使用指定的 ISO。

-device virtio-scsi-device -device scsi-cd,drive=cdrom: 添加 SCSI 控制器,并连接 CD-ROM 驱动器。
%

说明:待操作系统安装完成后,如果后续需要使用,启动虚拟机的命令如下(无需再次指定ISO文件启动):

bat
"E:\qemu\qemu-system-aarch64.exe" ^
-m 8192 ^
-cpu cortex-a76 ^
-smp 4,cores=4,threads=1,sockets=1 ^
-M virt ^
-bios D:\qemu\centos7\QEMU_EFI.fd ^
-global driver=cfi.pflash01,property=secure,value=off ^
-device VGA ^
-device nec-usb-xhci ^
-device usb-mouse ^
-device usb-kbd ^
-net nic,model=virtio ^
-net tap,ifname=tap0 ^
-boot d D:\qemu\centos7\centos7.9-aarch64.qcow2

Released under the MIT License.