KVM 虚拟机UEFI启动(欧拉系统)

2023-12-11 18:45:56 浏览数 (2)

概述

针对不同的架构,系统引导的方式有所差异。x86支持UEFI(Unified Extensible Firmware Interface)和BIOS方式启动,AArch64仅支持UEFI方式启动。openEuler默认已安装BIOS启动对应的引导文件,不需要用户额外操作。

统一的可扩展固件接口UEFI是一种全新类型的接口标准,用于开机自检、引导操作系统的启动,是传统BIOS的一种替代方案。EDK II是一套实现了UEFI标准的开源代码,在虚拟化场景中,通常利用EDK II工具集,通过UEFI的方式启动虚拟机。使用EDK II工具需要在虚拟机启动之前安装对应的软件包 。x86架构对应的安装包为edk2-ovmf,AArch64架构对应的安装包为edk2-aarch64。

安装edk软件包

AArch64架构下edk2的包名为edk2-aarch64

代码语言:javascript复制
dnf install -y edk2-aarch64

x86_64架构下edk2的包名为edk2-ovmf

代码语言:javascript复制
dnf install -y edk2-ovmf

查询edk2软件是否安装成功

AArch64架构查询edk2软件

代码语言:javascript复制
rpm -qi edk2-aarch64

x86_64架构查询edk2软件

代码语言:javascript复制
rpm -qi edk2-ovmf

x86_64架构查看edk2软件安装路径

rpm -ql edk2-ovmf

代码语言:javascript复制
/usr/share/edk2
/usr/share/edk2/ovmf
/usr/share/edk2/ovmf/OVMF.fd
/usr/share/edk2/ovmf/OVMF_CODE.fd
/usr/share/edk2/ovmf/OVMF_VARS.fd
/usr/share/licenses/edk2-ovmf
/usr/share/licenses/edk2-ovmf/LICENSE.openssl
/usr/share/licenses/edk2-ovmf/License.txt

虚拟机xml文件

代码语言:javascript复制
<os>
    <type arch='x86_64' machine='pc-i440fx-6.2'>hvm</type>
    <loader type='rom'>/usr/share/edk2/ovmf/OVMF.fd</loader>
    <boot dev='hd'/>
  </os>

virt-install 创建虚拟机,默认为Legacy方式引导,指定UEFI方式引导

  • --boot loader 指定启动的固件

virt-install --virt-type kvm --name openeuler_node-uefi --memory 1024 --vcpus 4 --disk /data/openeuler_node-uefi.qcow2,format=qcow2,bus=virtio --network bridge=br0,model=virtio --cdrom /mnt/openEuler-22.03-LTS-SP1-x86_64-dvd.iso --boot loader=/usr/share/edk2/ovmf/OVMF.fd --graphics vnc,password='root@123',listen=0.0.0.0,port=5938 --accelerate --noautoconsole --video=cirrus

导入 qcow2 虚拟磁盘创建虚拟机

virt-install --virt-type kvm --name openeuler_node-uefi --memory 1024,maxmemory=4096 --vcpus 1,maxvcpus=5 --disk /data/openeuler_node-uefi.qcow2,format=qcow2,bus=virtio --boot loader=/usr/share/edk2/ovmf/OVMF.fd --import --network bridge=br0,model=virtio --graphics vnc,password='root@123',listen=0.0.0.0 --accelerate --noautoconsole --video=cirrus

查看虚拟机vnc端口

代码语言:javascript复制
virsh  vncdisplay openeuler_node-uefi 
:2

VNC Viewer 登录虚拟机

0 人点赞