diff --git a/meta-oniro-core/classes/oniro-image.bbclass b/meta-oniro-core/classes/oniro-image.bbclass
index 0c435ea1f8ca674014f5878c16415c9e00f2e908..5e8be077a4b424965baefba86ab71e47d0673331 100644
--- a/meta-oniro-core/classes/oniro-image.bbclass
+++ b/meta-oniro-core/classes/oniro-image.bbclass
@@ -40,7 +40,9 @@ IMAGE_FSTYPES:append:seco-intel-b68 = " wic.bz2 wic.bmap"
 IMAGE_FSTYPES:qemux86 ?= "wic wic.bz2"
 WKS_FILE:qemux86 ?= "x-qemux86-directdisk.wks.in"
 IMAGE_FSTYPES:qemux86-64 ?= "wic wic.bz2"
-WKS_FILE:qemux86-64 ?= "x-qemux86-directdisk.wks.in"
+WKS_FILE:qemux86-64 ?= "x-gpt-efi-disk.wks.in"
+# Build EFI firmware for x86-64 QEMU machine.
+WKS_FILE_DEPENDS:qemux86-64 += "ovmf"
 
 WKS_FILE:qemu-generic-arm64 = "x-qemu-efi-disk.wks.in"
 IMAGE_FSTYPES:qemu-generic-arm64 += "wic wic.qcow2"
diff --git a/meta-oniro-core/conf/distro/oniro-linux.conf b/meta-oniro-core/conf/distro/oniro-linux.conf
index 7738a751a8722f921f114646e05aa8fd598da9c9..71657de5793003c4360e4bb4e81d99cefceade5e 100644
--- a/meta-oniro-core/conf/distro/oniro-linux.conf
+++ b/meta-oniro-core/conf/distro/oniro-linux.conf
@@ -90,6 +90,8 @@ PREFERRED_PROVIDER_virtual/kernel_qemu-generic-arm64 = "linux-oniro"
 # FIXME: allow GRUB to update the CPU microcode
 # https://booting.oniroproject.org/distro/oniro/-/issues/247
 EFI_PROVIDER = "grub-efi"
+# Add EFI to x86-64 QEMU machine features.
+MACHINE_FEATURES:qemux86-64 += "efi"
 
 # qemu-generic-arm64 specific requirements
 PREFERRED_VERSION_optee-os:qemu-generic-arm64 = "3.14.0"