前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >KVM 虚拟机UEFI启动(欧拉系统)

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

作者头像
Kevin song
发布2023-12-11 18:45:56
7170
发布2023-12-11 18:45:56
举报

概述

针对不同的架构,系统引导的方式有所差异。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 登录虚拟机

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-12-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 开源搬运工宋师傅 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档