在 KVM 虚拟化中启用 UEFI 支持

发布时间:2026/8/31 5:08:03
在 KVM 虚拟化中启用 UEFI 支持 什么是BIOS计算机启动时会加载 BIOS以初始化和测试硬件功能。它使用 POST 或 Power On Self Test 来确保硬件配置有效且工作正常然后寻找存储引导设备的 MBRMaster Boot Records并使用它来启动引导加载程序然后是内核然后操作系统。所有这些在 BIOS 上的启动过程都称为 Legacy Boot下面简单介绍一下 BIOS 上的启动过程。BIOS MBR Bootloader Kernel Operating SystemBIOS 被认为是旧的和过时的固件尽管总会有人使用它。 BIOS 对于当今的计算机和现代 PC 而言功能有限它必须在只有 1 MB 空间的 16 位处理器上运行。此外它会同时初始化多个硬件这使得启动过程变慢。BIOS 的固件替代品是 UEFI它在现代主板上可用。什么是 UEFIUEFI 或统一可扩展固件接口被认为是 BIOS 的固件替代品。它具有更多受 BIOS 限制的特性和功能并且在当今的主板和现代 PC 上可用。尽管它被认为是 BIOS 的替代品但 UEFI 的工作方式不同并且具有与 BIOS 相反的概念。 UEFI 将所有关于初始化和启动的信息存储在.efi 文件中该文件存储在ESPEFI System Partition分区中。 ESP还会存储计算机上安装的操作系统的引导加载程序。UEFI 使用 GPT 来存储有关分区的所有信息而不是 MBR。并在下面简单说明操作系统如何在 UEFI 上启动。UEFI GPT/ESP Kernel Operating System以下是传统 BIOS 所不具备的一些值得注意的 UEFI 功能启动更快处理超过 2TB 或驱动器这对当今环境来说很重要支持4个以上带GUID分区表的分区支持安全启动支持 64 位现代固件设备具有简单的图形用户界面等KVM 虚拟化固件默认情况下KVM 虚拟化使用 BIOS 作为来宾虚拟机的默认固件。要在 KVM 上启用 UEFI 支持您必须在主机系统上安装 OVMF开放虚拟机固件包。OVMF 项目是 qemu 虚拟机的 intels tianocore 固件的一部分。先决条件对于本指南您将了解如何在 KVM 虚拟机上启用 UEFI 支持。您将在主机上安装 OVMF 包并使用 UEFI 固件设置虚拟机。在开始之前请确保您的机器上安装了 KVM 虚拟化。以下是在 Arch Linux 上安装 KVM 虚拟化的指南。安装 OVMF 包首先您必须登录 KVM 主机服务器并安装软件包。默认情况下ovmf 包可用于大多数 Linux 发行版存储库例如 Debian、Ubuntu、CentOS 等。1. 使用 apt 命令在基于 Debian 的系统上安装 ovmf如下所示。sudo apt install ovmf2. 对于基于 RHEL 的系统如 CentOS/Fedora您需要使用 DNF/Yum 命令安装包 edk2-ovmf 包如下所示。sudo dnf install edk2-ovmforsudo yum install edk2-ovmf3. 对于像 Manjaro 这样基于 Arch Linux 的系统你可以使用下面的 pacman 命令。sudo pacman -S edk2-ovmf并启用了 KVM 虚拟化上的 UEFI 支持。现在让我们创建新的虚拟机。在虚拟机上启用 UEFI在 KVM 虚拟化上创建虚拟机有多种方法。您可以使用命令行模式使用virt-install命令或使用图形应用程序例如“虚拟机管理器”。使用 virt-install 创建虚拟机1. 要使用命令行virt-install创建带有 UEFI 固件的虚拟机请在命令选项中添加选项--boot uefi。下面是使用virt-install命令创建带有 UEFI 固件的新虚拟机Artix的示例。sudo virt-install --nameArtix \--os-typeLinux \--os-variantarchlinux \--vcpu2 \--ram1024 \--disk path/var/lib/libvirt/images/Artix.img,size15 \--graphics spice \--cdrom/home/user/Desktop/artix-base-openrc-20210726-x86_64.iso \--network networkdefault \--boot uefi现在您将启动到您的虚拟机。如果您进入 UEFI 设置下面是您将获得的一些屏幕截图。下面是 KVM 虚拟机上 UEFI Interactive Shell 的截图。下面是UEFI KVM虚拟机上OVMF设置的截图使用 Virtual Machine Manager 创建虚拟机虚拟机管理器应用程序提供用于管理 KVM 虚拟化的图形界面。如果您是 KVM 虚拟化的新手建议您使用 virt-manager虚拟机管理器来设置您的虚拟化环境。要使用virt-manager应用程序创建支持 UEFI 固件的虚拟机您必须在创建虚拟机本身的过程中对其进行配置。1. 在使用 virt-manager 创建虚拟机的最后一个窗口中您将看到如下确认窗口。您必须选中选项安装前自定义配置然后单击完成按钮。2. 在新窗口中单击菜单Overview并移至Hypervisor details部分。在固件选项上选择UEFI x86_64: ...然后单击应用按钮。现在单击按钮开始安装开始安装虚拟机。3. 在虚拟机启动过程中您将看到TianoCore 启动画面如下所示。4. 之后您将看到您的操作系统如下所示。现在你已经在 KVM 虚拟化上成功创建了虚拟机虚拟机现在使用的是 UEFI 固件而不是默认的 BIOS。结论恭喜您已经学习了如何在 KVM 虚拟化上启用 UEFI 支持。此外您还学习了如何使用 virt-install 命令行和 virt-manager 图形应用程序设置虚拟机并在虚拟机上启用 UEFI 固件。