banner
云野阁

云野阁

闲云野鹤,八方逍遥

Windows 10(x86_64)使用QEMU安裝ARM虛擬機

基礎環境#

系統:Windows 10

硬體:雙網卡(本篇中使用的是兩個無線網卡)

所需軟體:QEMU、tap-windows

所需軟體固件:QEMU_EFI.fd

ARM 映像:openEuler-22.03-LTS-SP4-aarch64-dvd.iso

環境準備#

1、進入 QEMU 官網https://qemu.weilnetz.de/,下載 exe 程序,本篇中使用的是qemu-w64-setup-20240903.exe, 按引導進行安裝。(最新版無需配置環境變量)

打開命令提示符輸入qemu-system-aarch64 -version,查看到其詳細版本號即為安裝成功。

QEMU emulator version 9.1.0 (v9.1.0-12064-gc658eebf44)

Copyright (c) 2003-2024 Fabrice Bellard and the QEMU Project developers

1

2、下載 QEMU_EFI.fd 固件,下載地址:https://releases.linaro.org/components/kernel/uefi-linaro/16.02/release/qemu64/

2

3、下載 ARM 映像,進入 OpenEuler 官網,在映像倉列表中找到並下載 openEuler-22.03-LTS-SP4-aarch64-dvd.iso 映像。

3

4、安裝 tap-windows,安裝完成後在本機的網卡適配器中會出現一個為TAP-Windows Adapter V9的網卡,並將其名改為tap0。(剛安裝時網卡為未連接狀態)

4

5、共享本機無線網卡(本篇中名為WLAN 1)的網路。右擊本機無線網卡(WLAN 1)的屬性,在 WLAN 屬性 - 共享中將網路共享給tap0。如下圖。

5

安裝過程#

1、將 QEMU_EFI.fd 和 openEuler-22.03-LTS-SP4-aarch64-dvd.iso 映像放在同一文件夾中,在該文件夾下打開命令指示符

2、輸入命令為虛擬機創建一個虛擬磁碟文件。

qemu-img.exe create -f qcow2 "F:\arm-os-test\openeuler.qcow2" 60G
  • qemu-img.exe: 調用 QEMU 的圖像管理工具。

  • create: 指令用於創建一個新的磁碟映像文件。

  • -f qcow2: 指定要創建的文件格式為 QCOW2,這是一種支持壓縮和快照的格式。

  • "F:\arm-os-test\openeuler.qcow2": 指定虛擬硬碟的文件路徑及名稱。

  • 60G: 設置虛擬硬碟的大小為 60 GB。

命令執行後會在該文件夾下生成一個名為openeuler.qcow2的磁碟文件。

3、執行命令,安裝 openEuler。

 qemu-system-aarch64.exe -m 8192 -cpu cortex-a72 -smp 4,sockets=2,cores=2 -M virt -bios "F:\arm-os-test\QEMU_EFI.fd" -net nic -net tap,ifname=tap0 -device VGA -device nec-usb-xhci -device usb-mouse -device usb-kbd -drive if=none,file="F:\arm-os-test\openeuler.qcow2",id=hd0 -device virtio-blk-device,drive=hd0 -drive if=none,file="F:\arm-os-test\openEuler-22.03-LTS-SP4-aarch64-dvd.iso",id=cdrom,media=cdrom -device virtio-scsi-device -device scsi-cd,drive=cdrom
  • 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 驅動器。

執行命令後,在彈出的系統安裝介面,按引導進行系統的配置和安裝。

連接互聯網#

1、系統安裝完成後,在 tap0 網卡的屬性中查看 ip 地址,將 ip 地址改為與主機同一網段的 ip,DNS 和網關與主機一致。執行命令啟動系統。

qemu-system-aarch64.exe -m 8192 -cpu cortex-a72 -smp 4,sockets=2,cores=2 -M virt -bios "F:\arm-os-test\QEMU_EFI.fd" -net nic -net tap,ifname=tap0 -device VGA -device nec-usb-xhci -device usb-mouse -device usb-kbd -drive if=none,file="F:\arm-os-test\openeuler.qcow2",id=hd0 -device virtio-blk-device,drive=hd0

啟動系統命令是將安裝命令中去除 iso 掛載部分去除得到的

6

2、配置系統 IP 地址。使用 tap0 網卡的地址作為網關,配置完成並啟用後,使用 ssh 工具連接。

7

若出現測試網路聯通性失敗的情況,進行以下操作:

1、取消共享無線網卡的網路

2、重新共享網路

3、啟動虛擬機

8、測試網路的連通性,可成功訪問網路。

8

此時安裝的 ARM 架構的虛擬機可正常訪問網路,但進行發布的業務無法在本地主機訪問。即虛擬機可訪問互聯網,但無法訪問本地主機。

本地主機連通虛擬機業務#

要成功訪問虛擬機中發布的業務,需要使用一個新的無線網卡(本篇中名為 WLAN 2),用來和 tap0 進行橋接

1、將兩張無線網卡連接同一網路中,在控制面板 - 網路連接中,按住Ctrl, 分別選中網卡tap0WLAN 2,右鍵選擇橋接,創建一個網橋。

9

當 tap0 和 WLAN 2 都顯示 “已啟用,橋接的”,且網橋處顯示連接到的無線網路名稱時,在本地主機和虛擬機中均可 ping 通對方地址。(此時本地主機的 ip 應使用 WLAN 分配的)

2、右鍵查看網橋屬性,在Internet協議版本 4(TCP/IPv4)屬性中可查看到網關地址與本機一致。

10

3、將虛擬機的網關修改為網關對應地址,關閉虛擬機。重新使用命令啟動虛擬機。

若虛擬機和本地主機均可 ping 通互聯網且可相互 ping 通,此時在本地主機可正常訪問虛擬機發布業務。

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。