在 Linux 上為 KVM 虛擬機啟用 UEFI 支持

BIOS 初始化硬件並將操作系統加載到內存中。 在現代硬件中,BIOS 已被 UEFI 取代。 本指南解釋了 UEFI 是什麼以及如何在 Linux 上為 KVM 虛擬機啟用 UEFI 支持。

什麼是 UEFI?

歐足聯短缺可擴展的F保溫器具界面,是傳統BIOS的全新換代產品。

與 BIOS 不同,UEFI 是一個位於計算機硬件和固件之上的小型操作系統。 請記住,BIOS 存儲在固件中。

UEFI 可以做的遠不止 BIOS。 我們可以將它存放在主板上的閃存中,也可以存放在硬盤上,甚至可以存放在網絡共享上。

用 UEFI 替換傳統 BIOS 的最初動機誕生於 1990 年代中期第一個 Intel-HP Itanium 系統的早期開發過程中。

由於大型服務器平台的 BIOS 限制,Intel 於 1998 年開始致力於“Intel Boot Initiative”。. 它後來被稱為可擴展固件接口 (EFI)。

Apple 為其基於 Intel 的 Mac 系統採用了 EFI,HP 為其 Itanium 2 服務器採用了 EFI,然而其他芯片供應商對採用 Intel 的 EFI 並不是很感興趣。

2005 年,一個名為統一 EFI 論壇由一群領先的科技公司組成,包括 AMD、American Megatrends、ARM、Apple、Dell、Hewlett Packard Enterprise、HP Inc.、IBM、Insyde Software、Intel、Lenovo、Microsoft 和 Phoenix Technologies。

UEFI 論壇董事會包括所有這 13 家公司的代表。

以 EFI 1.10 規範為起點,UEFI 論壇接管了開發工作,並從 2.0 版開始將其重命名為 Unified EFI。

他們同意UEFI作為BIOS的通用替代品,並負責UEFI規範的管理和推廣。

UEFI優勢

UEFI 規範提供了許多優於傳統 BIOS 的顯著優勢。 以下是一些值得注意的功能:

  • 支持大於 2.2TB 或更大的硬盤分區。
  • UEFI 用 GPT 分區取代了 MBR,因此現在您可以在一個驅動器上擁有四個以上的主分區。
  • UEFI 安全啟動功能有助於在操作系統加載之前抵禦惡意軟件攻擊。
  • 更快的啟動時間。
  • 時尚的用戶界面,包括圖形和鼠標光標支持。
  • 高效的能源和系統管理。
  • 穩健的可靠性和故障管理。
  • 與以前和以後版本的兼容性。

請注意,您無法在現有硬件上將 BIOS 替換為 UEFI。 您必須購買支持並包含 UEFI 的硬件。

UEFI 規範與平台無關,支持多種平台和架構。 希望您對 UEFI 有基本的了解。 現在讓我們看看如何為 KVM 來賓啟用 UEFI 支持。

在 Linux 上為 KVM 虛擬機啟用 UEFI 支持

我假設您已經在系統上安裝了 KVM。 如果您還沒有安裝它,請查看以下指南:

  • 在服務器上安裝和配置 KVM CentOS 8個
  • 安裝和配置 KVMUbuntu20.04 無頭服務器
  • 在 OpenSUSE Tumbleweed 上安裝和配置 KVM

在創建虛擬機之前,我們需要安裝OVMFKVM 主機系統上的軟件包。

OVMF 是英特爾用於 KVM/QEMU 虛擬機的 tianocore 固件的端口。 包含用於 KVM 和 QEMU 的示例 UEFI 固件。

允許使用 UEFI 固件輕鬆調試和試驗,用於測試虛擬機或使用 EFI shell(包含)。

當您安裝 KVM 時,UEFI 可能已經作為依賴項安裝。 如果未安裝,您可以按如下所示進行安裝。

如果您的 KVM 主機運行 CentOS/RHEL,運行為虛擬機安裝 UEFI 固件:

                      $ sudo dnf install edk2-ovmf
                    

如果您的主機系統是 Ubuntu,請運行:

                      $ sudo apt install ovmf
                    

完畢! 我們剛剛啟用了 UEFI 支持。 我們將創建一個支持 UEFI 的虛擬機。

使用 UEFI 啟動虛擬機

如果您更喜歡命令行模式,請添加 --boot uefi 創建新虛擬機時的選項:

                      $ virt-install --name centos8 --ram=2048 --vcpus=1 --cpu host --hvm --disk path=/var/lib/libvirt/images/centos8-vm1,size=10 --location /home/ostechnix/centos8.iso --network bridge=br0 --graphics vnc 
                      
                        
                          --boot uefi
                        
                      
                    

作為替代方案,您可以使用虛擬經理用於創建新來賓的 GUI 應用程序。 這對新手來說非常容易。

開業虛擬經理應用程序並創建一個新的虛擬機:

從 Virt-manager 創建一個新的 KVM 虛擬機

為您的 KVM 來賓選擇安裝媒體或 ISO 文件位置:

為kvm虛擬機選擇安裝media或者iso

為 KVM 來賓選擇內存和 CPU 內核:

Elija la memoria y el núcleo de la CPU para la máquina virtual KVM為KVM虛擬機選擇內存和CPU內核

為 KVM 來賓創建磁盤映像:

Cree una imagen de disco para la máquina virtual KVM為 KVM 虛擬機創建磁盤鏡像

選中“安裝前自定義設置”複選框,然後單擊“完成”按鈕:

Personalice la configuración de la máquina virtual KVM antes de la instalación安裝前自定義 KVM 虛擬機設置

您現在應該可以看到虛擬機的硬件詳細信息。 在摘要部分,選擇 “UEFI X86_64……” 固件下拉框中的選項。

Elija UEFI del cuadro desplegable Firmware en Virt-manager從 Virt-manager 的固件下拉框中選擇 UEFI

單擊“應用”按鈕,然後單擊頂部的“開始安裝”按鈕以繼續安裝 KVM 客戶機。

首次啟動時,您現在應該會看到 TianoCore 啟動畫面:

Habilite la compatibilidad con UEFI para máquinas virtuales KVM為 KVM 虛擬機啟用 UEFI 支持

繼續並像往常一樣完成安裝。

UEFI設置界面

對於傳統的 BIOS,您必須在啟動菜單出現之前按下相應的功能鍵才能進入 BIOS 並修改任何 BIOS 設置。 在 UEFI 中,它不是必需的。 您可以直接從 Grub 引導菜單訪問 UEFI 設置屏幕。

如果在 KVM 中啟用了 UEFI 支持,您應該會在 Grub 引導菜單中看到“系統配置”菜單項:

Configuración del sistema en el menú de inicio de GrubGrub 引導菜單中的系統設置

進入System Configuration,看看UEFI配置界面是什麼樣子的。

Interfaz UEFIUEFI接口

您可能會在物理系統上看到具有不同功能的不同 UEFI 界面。 許多 PC 仍然附帶文本模式 UEFI 設置界面,其外觀和功能與舊的 BIOS 設置屏幕類似,如下所示。

Interfaz de configuración UEFI en modo texto

對 PC 的固件進行任何更改後,選擇“繼續”並按 ENTER 返回啟動菜單。

資源:

相關文章