國產化環境部署需要,需要將跑在X86 amd64上的程序遷移至Euler arm64系統上,為開發和調試方便,需要在本地搭建相應的操作系統模擬環境,經探索發現,應用比較多的VM和VBOX都沒找到Euler arm64的操作系統解決方案,最終選擇Qemu來裝載openEuler系統。
QEMU(Quick EMUlator)是一個開源的處理器模擬器和虛擬機管理器,可以在多種主機平臺上運行,并且支持多種硬件架構。它最初由Fabrice Bellard于2003年發起,旨在模擬各種處理器架構,包括x86、ARM、MIPS等,并提供虛擬化功能,使得用戶可以在單個主機上運行不同架構的操作系統。
以下是QEMU的一些主要特點和用途:
總的來說,QEMU是一個功能強大的虛擬化和模擬器工具,廣泛應用于開發、測試和運行各種操作系統和應用程序。
OpenEuler 是一個基于開源社區的企業級 Linux 發行版,由中國科學院軟件研究所牽頭開發和維護,旨在為用戶提供穩定、安全、可靠的操作系統平臺。下面是關于 OpenEuler 系統的一些介紹:
總的來說,OpenEuler 是一個開源、企業級的 Linux 發行版,致力于推動開源社區的合作與發展,為企業用戶提供高性能、穩定可靠的操作系統平臺。
第一步:QEMU下載與安裝,通過https://www.qemu.org/download/進入下載界面后可以選擇不同的操作系統進行下載,因筆者用的是windows x64操作系統,因此選擇windows ,通過網頁上的x64點擊進入到https://qemu.weilnetz.de/w64/
Qemu下載
這里下載的是qemu-w64-setup-20231224.exe,下載完后雙擊進行安裝,需要修改安裝目錄,因qemu安裝完后,沒有桌面快捷式以及圖形界面,需要記住對應的安裝目錄,進入到安裝目錄使用命令行運行。
第二步:OpenEuler下載,通過https://www.openeuler.org/zh/download/?version=openEuler%2022.03%20LTS%20SP3下載arrch64系統,如圖所示:
openEuler下載
這里可以下載最新的系統鏡像,下載服務器版的標準版的ISO鏡像,大小在3.1GB,本文下載的是21.09的版本。
第三步:QEMU引導文件下載,QEMU需要通過QEMU_EFI.fd進行引導啟動,其下載地址:
https://releases.linaro.org/components/kernel/uefi-linaro/16.02/release/qemu64/
第四步:虛擬網絡安裝,windows下采用tap作為虛擬適配器,通過網址:
https://build.openvpn.net/downloads/releases/
下載對應版本的tap,這里下載最新版本的進行安裝:
tap-windows-9.24.7-I601-Win10
安裝完后,在 控制面板\所有控制面板項\網絡連接,可以看到新增了一個本地連接,將其改名為tap0
TAP網絡適配器
第五步:配置上網,TAP網絡適配器上網有兩種方式:
1.共享網絡,將可上網的物理網卡對應的網絡適配器共享給tap0,使其可訪問外網,如圖所示:
連接共享
設置完共享連接后,查看windows對應的tap0的ipv4地址信息:
IPV4地址信息
我們需要把圖上的IPV4對應的地址信息作為虛擬機的網關,即其網關地址為192.168.137.1同時在Qemu對應的系統中,設置網卡IP地址信息,進入如圖目錄(/etc/sysconfig/network-scripts):
網卡信息設置目錄
修改為:
TYPE=Ethernet
PROXY_METHOD=none
BROSER_ONLY=no
BOOTPROTO=none
#BOOTPROTO=DHCP
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=enp0s1
UUID=8a9db372-20ea-4be6-81c9-ed7a5dca0a24
DEVICE=enp0s1
ONBOOT=yes
IPADDR=192.168.137.118
PREFIX=24
GATEWAY=192.168.137.1
DNS1=114.114.114.114
DNS2=8.8.8.8
IPV6_PRIVACY=no
重啟網絡服務:sudo systemctl restart NetworkManager,通過ping的方式查看是否可以連到網絡:
外網連接
宿主機訪問:
宿主機訪問
2.橋接方式,通過將虛擬網絡適配器和物理網絡適配器橋接的方式配置上網,適用于多個虛擬網絡共享網絡的場景,操作如下:
1)查看物理網卡的IP信息:
物理網卡IP信息
需要記錄IPV4地址和默認網關地址,后面需要將這兩個地址設置到網橋。
2)按住CTRL選中tap0和WLAN(物理網卡),需要同時選中:
適配器選擇
然后,右鍵彈出操作框,選擇橋接:
橋接兩個網絡適配器
兩個網絡適配器橋接后,出現網橋圖標:
網橋
如果橋接時出現錯誤,只需要雙擊網橋,打開網橋屬性,勾選tap0和wlan(對應的物理網卡)點擊確定即可
網橋屬性
雙擊internet協議版本4(TCP/IPV4),將IP地址和網關修改為物理網卡的地址和網關
3.虛擬機IP信息設置:將/etc/sysconfig/network-scripts/ifcfg-enp0s1的IP信息修改為與網橋同個網段,以及將網關設置為網橋的網關,即可以完成網絡通訊。
第六步:Qemu安裝OpenEuler,將需要的文件下載到F盤,分別是:
引導文件:F:\iso\QEMU_EFI.fd
鏡像文件:F:\iso\openEuler-aarch64-dvd.iso
Qemu目錄:F:\qemu
數據目錄:
進入F:\qemu,通過命令行執行創建40G的虛擬機虛擬磁盤鏡像的命令:
qemu-img create -f qcow2 F:\vmdata\disk1.qcow2 40G
虛擬機虛擬磁盤鏡像
編寫安裝腳本:
qemu-system-aarch64.exe -m 4000 -cpu cortex-a72 -smp 4,cores=4,threads=1,sockets=1 -M virt -bios F:\iso\QEMU_EFI.fd -net nic,macaddr="52:54:00:12:34:56" -net tap,ifname=tap0 -device nec-usb-xhci -device usb-kbd -device usb-mouse -device VGA -drive if=none,file=F:\iso\openEuler-aarch64-dvd.iso,id=cdrom,media=cdrom -device virtio-scsi-device -device scsi-cd,drive=cdrom -drive if=none,file=F:\vmdata\disk1.qcow2,id=hd0 -device virtio-blk-device,drive=hd0
依據自身的設備條件,對對應的參數進行調整,以滿足運行條件,參數解釋:
qemu-system-aarch64: 這是啟動 QEMU 模擬器的命令。指定了使用的處理器架構(ARM64)。
-m 4000: 分配給虛擬機的內存大小為 4000MB(4GB)。
-cpu cortex-a72: 指定虛擬機使用 Cortex-A72 架構的 CPU。
-smp 4,cores=4,threads=1,sockets=1: 配置虛擬機的處理器拓撲結構。指定了總共 4 個邏輯處理器(smp 4),每個 CPU 插槽中有 4 個核心,每個核心有 2 個線程。
-M virt: 使用 virt 機型(虛擬機類型)。
-bios F:\iso\QEMU_EFI.fd: 指定 EFI 固件文件的路徑,用于模擬虛擬機的啟動過程。
-net nic,macaddr="52:54:00:12:34:56" -net tap,ifname=tap0: 配置虛擬機的網絡接口。分為兩部分,第一部分是創建一個網絡接口卡(NIC),指定 MAC 地址;第二部分是連接到一個 TAP 設備(網絡設備),指定 TAP 設備的名稱和模型。
-device nec-usb-xhci -device usb-kbd -device usb-mouse: 配置 USB 控制器和 USB 設備,包括鍵盤和鼠標。
-device VGA: 添加一個 VGA 顯示設備。
-drive if=none,file=F:\iso\openEuler-aarch64-dvd.iso,id=cdrom,media=cdrom -device virtio-scsi-device -device scsi-cd,drive=cdrom: 掛載一個光盤鏡像文件到虛擬機中,使用 virtio-scsi 設備,連接到 SCSI 控制器,并指定驅動器 ID。
-drive if=none,file=F:\vmdata\disk1.qcow2,id=hd0 -device virtio-blk-device,drive=hd0: 添加一個虛擬磁盤驅動器到虛擬機中,使用 virtio-blk 設備,連接到驅動器 ID。
這些參數用于配置和啟動 ARM64 架構的虛擬機,并提供了內存、處理器、網絡、存儲等方面的設置。
進入F:\qemu,執行命令后,進入安裝頁面:
安裝OpenEuler
直接選擇第一個選項,進入安裝界面,選擇中文語言:
安裝openEuler 21.09
點擊繼續后,針對紅框部份對系統進行設置:
系統設置
配置完成
系統安裝中
安裝時間大概需要20-30分鐘,在這其間可以做做其他事情,讓QEMU自動完成系統安裝工作。
系統安裝完成
系統安裝完成,重啟系統,就可以進入系統了:
設置網絡共享:
網絡共享
修改網絡配置/etc/sysconfig/network-scripts/ifcfg-enp0s1:
重啟網絡服務,網絡可以正常訪問:
關閉系統后,進入F:\QEMU后通過以下啟動系統命令啟動:
qemu-system-aarch64.exe -m 2000 -cpu cortex-a72 -smp 2,cores=2,threads=1,sockets=1 -M virt -bios F:\iso\QEMU_EFI.fd -net nic,macaddr="52:54:00:12:34:56" -net tap,ifname=tap0 -device nec-usb-xhci -device usb-kbd -device usb-mouse -device VGA -drive if=none,file=F:\vmdata\disk1.qcow2,id=hd0 -device virtio-blk-device,drive=hd0
說到虛擬機,大家就知道它的用處有多大了,比如程序員用來測試一些木馬病毒,或者用來模擬模擬安裝系統等等,它的環境或者操作系統使用過程與我們的真實物理電腦系統是一模一樣的,比如說在虛擬機的電腦里面下載安裝絕地求生,或者運行QQ都是可行的,但前提是你必須給它分配足夠的內存與配置
那么怎么做才能使用虛擬電腦呢,這就很簡單了,在這里小編教大家不用安裝如何軟件,就可以一步使用虛擬的電腦,具體怎么做呢?請大家按照我的操作步驟來。
首先我們先打開控制面板,然后再點擊程序和功能,到下面的界面后點擊,啟用和關閉Windows功能,勾選Hyper-V然后點擊確定,完成后電腦將自動重啟。
啟用Hyper-V
等待電腦重啟完成后我們到搜索欄處搜索Hyper-V,并打開它
打開Hyper-V
然后我們點擊右則新建,然后選擇虛擬機
新建虛擬機
完成后將會出現此界面,然后直接點擊下一步,到此處給虛擬機取個名字,在這里我取名為server(也可跳過直接下一步,但虛擬機的名字會默認為“新建虛擬機”)
為創建的虛擬機取名
完成后直接下一步選擇第一代
選擇第一代操作系統
然后直接一直下一步,到安裝選項處,選擇從可啟動的CD/CVD-ROM安裝操作系統,然后在到鏡像文件處選擇放入你的鏡像文件(鏡像文件就是你重裝或安裝系統時的文件),點擊完成。
說明一下:在這里需要Windows10的系統文件鏡像,沒有系統文件鏡像或者不會下載的請參考我的此文章教程 簡單一步,教你下載微軟各類操作系統,免費且最實用的IT網站
放入系統文件鏡像
完成后可以看到這個地方多出了一個server,但它的狀態屬于關機狀態,所以我們所以將它開啟,開啟步驟就是雙擊它,后會出現下面黑屏,顯示虛擬機“server”已關閉的提示,這時我們點擊啟動。
已建好的虛擬機
啟動名為server的虛擬機
啟動后可以看到,虛擬機已經開機起來了,它和我們物理上的操作系統是一模一樣的,功能也非常的齊全,接下來我們就是等待它開機的過程然后和普通的安裝系統一樣去安裝它就可以使用啦!而且我們還可以在右則的Hyper-V去查看它的使用情況哦,而且一臺普通的電腦可以創造好幾臺臺虛擬機呢!
虛擬機啟動過程
安裝系統
虛擬機正常開機使用
今天的教程就到這里了,大家在操作的過程中若遇到問題可以在評論下方留言,小編會為你們解答,對計算機網絡感興趣的同學也可以關注小編,小編也會一直不斷的更新,我們下期再見!