Using UEFI mode for virtual machines
You can boot a virtual machine (VM) in Unified Extensible Firmware Interface (UEFI) mode.
About UEFI mode for virtual machines
Unified Extensible Firmware Interface (UEFI), like legacy BIOS, initializes hardware components and operating system image files when a computer starts. UEFI supports more modern features and customization options than BIOS, enabling faster boot times.
It stores all the information about initialization and startup in a file with a .efi
extension, which is stored on a special partition called EFI System Partition (ESP). The ESP also contains the boot loader programs for the operating system that is installed on the computer.
Booting virtual machines in UEFI mode
You can configure a virtual machine to boot in UEFI mode by editing the VirtualMachine
manifest.
Prerequisites
- Install the OpenShift CLI (
oc
).
Procedure
Edit or create a
VirtualMachine
manifest file. Use thespec.firmware.bootloader
stanza to configure UEFI mode:Booting in UEFI mode with secure boot active
apiversion: kubevirt.io/v1
kind: VirtualMachine
metadata:
labels:
special: vm-secureboot
name: vm-secureboot
spec:
template:
metadata:
labels:
special: vm-secureboot
spec:
domain:
devices:
disks:
- disk:
bus: virtio
name: containerdisk
features:
acpi: {}
smm:
enabled: true (1)
firmware:
bootloader:
efi:
secureBoot: true (2)
...
1 OKD Virtualization requires System Management Mode ( SMM
) to be enabled for Secure Boot in UEFI mode to occur.2 OKD Virtualization supports a VM with or without Secure Boot when using UEFI mode. If Secure Boot is enabled, then UEFI mode is required. However, UEFI mode can be enabled without using Secure Boot. Apply the manifest to your cluster by running the following command:
$ oc create -f <file_name>.yaml