{{tag>virtualisation linux libvirt kvm qemu import vm}}
====== Virsh : impossible d'importer la VM, firmware EFI non compatible ======
:TODO_DOCUPDATE:
===== Contexte =====
Le problème s'est manifesté lors d'un transfert de VM (export/import) entre deux hôtes/hyperviseurs.
La VM (avec un BIOS EFI) a été créée sur un hyperviseur A
# version sur l'hyperviseur A
virsh version
On a souhaité déplacer la VM de l'hyperviseur A vers l'hyperviseur B
# version sur l'hyperviseur B
virsh version
Compiled against library: libvirt 10.0.0
Using library: libvirt 10.0.0
Using API: QEMU 10.0.0
Running hypervisor: QEMU 8.2.2
Les fichiers (disque et nvram) ont été copiés sur l'hyperviseur B mais lors de la tentative de création du domaine (VM), le message d'erreur suivant est affiché :
error: Failed to define domain from deb13.xml
error: operation failed: Unable to find 'efi' firmware that is compatible with the current configuration
Lister des capacités des VM de type Q35 sur l'hyperviseur B
virsh domcapabilities --machine q35 --xpath /domainCapabilities/os
efi
/usr/share/OVMF/OVMF_CODE_4M.ms.fd
/usr/share/OVMF/OVMF_CODE_4M.secboot.fd
/usr/share/ovmf/OVMF.amdsev.fd
/usr/share/OVMF/OVMF_CODE_4M.fd
rom
pflash
yes
no
yes
no
Le dump XML produit pour la VM sur l'hyperviseur A contient :
hvm
/usr/share/OVMF/OVMF_CODE_4M.ms.fd
/home/yoann/KVM/deb13/deb13_VARS.fd
On utilise bien les fonctionnalités secure-boot mais le
Ne pas utiliser le fichier nvram exporté. Recréer un fichier nvram à partir de celui disponible sur le nouvel hôte/hyperviseur :
cp /usr/share/OVMF/OVMF_VARS_4M.ms.fd deb13_VARS.fd
===== Références =====
* https://www.adamsdesk.com/posts/resolve-libvirt-error-unable-find-efi-firmware/
* https://www.smoothnet.org/disable-secure-boot-from-virt-install/