基礎環境#
システム:Windows 10
ハードウェア:デュアルネットワークカード(本稿では 2 つの無線ネットワークカードを使用)
必要なソフトウェア: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 エミュレーター バージョン 9.1.0 (v9.1.0-12064-gc658eebf44)
Copyright (c) 2003-2024 Fabrice Bellard と QEMU プロジェクトの開発者
2、QEMU_EFI.fd ファームウェアをダウンロードします。ダウンロードリンク:https://releases.linaro.org/components/kernel/uefi-linaro/16.02/release/qemu64/。
3、ARM イメージをダウンロードします。OpenEuler 公式サイトにアクセスし、イメージリポジトリのリストから openEuler-22.03-LTS-SP4-aarch64-dvd.iso イメージを見つけてダウンロードします。
4、tap-windows をインストールします。インストールが完了すると、ローカルのネットワークアダプタにTAP-Windows Adapter V9
というネットワークカードが表示され、その名前をtap0
に変更します。(インストール直後はネットワークカードは未接続の状態です)
5、ローカル無線ネットワークカード(本稿ではWLAN 1と呼ばれます)
のネットワークを共有します。ローカル無線ネットワークカード(WLAN 1)のプロパティを右クリックし、WLAN プロパティの共有タブでネットワークをtap0
に共有します。以下の図のように。
インストールプロセス#
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
: 仮想ハードディスクのサイズを 60GB に設定します。
コマンドを実行すると、そのフォルダ内に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
: 仮想マシンに 8GB のメモリを割り当てます。
-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
: 指定された ISO を使用して CD-ROM ドライブを設定します。
-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 マウント部分を除去して得られたものです。
2、システムの IP アドレスを設定します。tap0 ネットワークカードのアドレスをゲートウェイとして使用し、設定が完了して有効化されたら、ssh ツールで接続します。
ネットワーク接続性テストに失敗した場合は、以下の操作を行ってください:
1、無線ネットワークカードのネットワーク共有を解除する
2、ネットワークを再共有する
3、仮想マシンを起動する
8、ネットワークの接続性をテストし、ネットワークに正常にアクセスできることを確認します。
この時点でインストールされた ARM アーキテクチャの仮想マシンは正常にネットワークにアクセスできますが、公開されたサービスはローカルホストからアクセスできません。つまり、仮想マシンはインターネットにアクセスできますが、ローカルホストにはアクセスできません。
ローカルホストから仮想マシンのサービスに接続#
仮想マシン内で公開されたサービスに正常にアクセスするには、新しい無線ネットワークカード(本稿では WLAN 2 と呼ばれます)を使用して tap0 とブリッジ
接続する必要があります。
1、2 つの無線ネットワークカードを同じネットワークに接続し、コントロールパネルのネットワーク接続でCtrl
を押しながらネットワークカードtap0
とWLAN 2
をそれぞれ選択し、右クリックしてブリッジ接続を選択し、ブリッジを作成します。
tap0 と WLAN 2 が「有効、ブリッジ接続」と表示され、ブリッジに接続されている無線ネットワーク名が表示されると、ローカルホストと仮想マシンの両方で相手のアドレスに ping が通ります。(この時、ローカルホストの IP は WLAN によって割り当てられたものを使用する必要があります)
2、右クリックしてブリッジのプロパティを表示し、Internetプロトコルバージョン 4(TCP/IPv4)プロパティ
でゲートウェイアドレスがローカルホストと一致していることを確認します。
3、仮想マシンのゲートウェイをゲートウェイに対応するアドレスに変更し、仮想マシンをシャットダウンします。再度コマンドを使用して仮想マシンを起動します。
仮想マシンとローカルホストの両方がインターネットに ping 通し、相互に ping 通する場合、ローカルホストから仮想マシンの公開サービスに正常にアクセスできるようになります。