UEFI

Added in version 17.0.0: (Queens)

Nova supports configuring a UEFI bootloader for guests. This brings about important advantages over legacy BIOS bootloaders and allows for features such as Secure Boot.

Enabling UEFI

Currently the configuration of UEFI guest bootloaders is only supported when using the libvirt compute driver with a libvirt.virt_type of kvm or qemu. When using the libvirt compute driver with AArch64-based guests, UEFI is automatically enabled as AArch64 does not support BIOS.

Todo

Update this once compute drivers start reporting a trait indicating UEFI bootloader support.

Configuring a flavor or image

Configuring a UEFI bootloader varies depending on the compute driver in use.

Libvirt

UEFI support is enabled by default on AArch64-based guests. For other guest architectures, you can request UEFI support with libvirt by setting the hw_firmware_type image property to uefi. For example:

$ openstack image set --property hw_firmware_type=uefi $IMAGE

For x86_64 guests, using the q35 machine type is recommended when enabling UEFI, as it provides better compatibility with modern firmware and device models (native PCIe, SATA instead of IDE). Note that q35 is required when combining UEFI with Secure Boot.

$ openstack image set --property hw_firmware_type=uefi \
                      --property hw_machine_type=q35 $IMAGE

References