web-dev-qa-db-fra.com

Erreur interne d'installation de Virt-Manager (QEMU / KVM) lors de l'utilisation du micrologiciel OVMF UEFI x86_64

ÉDITER

J'ai résumé le problème et la solution réelle pour que les autres ne voient que les points forts de mon message d'origine.

Le problème "erreur interne" lors de l'utilisation du firmware OVMF

L'erreur suivante se produit lorsque vous utilisez un arm64 Firmware EFI sur un x86- ROM basées (voir la réponse de @ Christian Ehrhardt), ce que j'ai fait par erreur auparavant lorsque je testais les firmwares UEFI avec Kubuntu 18.04.3 LTS VM in Virt-Manager:

virt-manager-internal-error

Fondamentalement, vous pouvez obtenir le x86_64 Firmware EFI avec le package ovmf:

$ apt install ovmf

Et le arm64 Firmware EFI avec le qemu-efi paquet:

$ apt install qemu-efi

La solution que j'ai faite était très simple

Traçage du journal complet des erreurs:

Unable to complete install: 'internal error: process exited while connecting to monitor: 2019-11-11T22:17:50.165625Z qemu-system-x86_64: -drive file=/var/lib/libvirt/qemu/nvram/kubuntu-18.04.3-lts_VARS.fd,if=pflash,format=raw,unit=1: oversized backing file, pflash segments cannot be mapped under 00000000ff800000'

Traceback (most recent call last):
  File "/usr/share/virt-manager/virtManager/asyncjob.py", line 89, in cb_wrapper
    callback(asyncjob, *args, **kwargs)
  File "/usr/share/virt-manager/virtManager/create.py", line 2553, in _do_async_install
    guest.start_install(meter=meter)
  File "/usr/share/virt-manager/virtinst/guest.py", line 498, in start_install
    doboot, transient)
  File "/usr/share/virt-manager/virtinst/guest.py", line 434, in _create_guest
    domain = self.conn.createXML(install_xml or final_xml, 0)
  File "/usr/lib/python2.7/dist-packages/libvirt.py", line 3603, in createXML
    if ret is None:raise libvirtError('virDomainCreateXML() failed', conn=self)
libvirtError: internal error: process exited while connecting to monitor: 2019-11-11T22:17:50.165625Z qemu-system-x86_64: -drive file=/var/lib/libvirt/qemu/nvram/kubuntu-18.04.3-lts_VARS.fd,if=pflash,format=raw,unit=1: oversized backing file, pflash segments cannot be mapped under 00000000ff800000

Il se plaint du VARS de la machine virtuelle invitée (.../kubuntu-18.04.3-lts_VARS.fd):

libvirtError: internal error: process exited while connecting to monitor: 2019-11-11T22:17:50.165625Z qemu-system-x86_64: -drive file=/var/lib/libvirt/qemu/nvram/kubuntu-18.04.3-lts_VARS.fd,if=pflash,format=raw,unit=1: oversized backing file, pflash segments cannot be mapped under 00000000ff800000

Notez que le problème ne se produira pas sur les autres machines virtuelles que vous créez avec un nom différent. Pour résoudre ce problème, supprimez simplement le fichier VARS afin de pouvoir recréer le VM avec le même nom:

$ rm /var/lib/libvirt/qemu/nvram/kubuntu-18.04.3-lts_VARS.fd
2
Küroro

Tout d'abord (vous l'avez déjà fait, mais d'autres personnes trouvant cela peuvent se demander car il n'est pas installé automatiquement en tant que dépendance dans 18.04 - c'est dans les versions ultérieures) vous devez installer ovmf

$ apt install ovmf

J'ai essayé la même chose le 18.04 et le 20.04 et les deux ont bien fonctionné. Remarque: Une raison courante de cette erreur est d'utiliser des roms EFI arm64 sur x86 ( exemple 1 , exemple 2 , mais votre configuration LGTM (nous pouvons voir le x86 dans le chemin ).

Enfin, j'ai vu que votre système se plaignait de votre fichier VARS .../kubuntu-18.04.3-lts_VARS.fd et non la véritable rom qui se termine par CODE.fd.

Quand je crée un tel invité dans virt-manager, le XML qu'il crée ressemble à ceci:

<loader readonly='yes' type='pflash'>/usr/share/OVMF/OVMF_CODE.fd</loader>
<nvram>/var/lib/libvirt/qemu/nvram/ubuntu18.04_VARS.fd</nvram>

Ce dernier a été créé automatiquement et est généralement une copie de /usr/share/OVMF/OVMF_VARS.fd. L'erreur que vous mentionnez se produira si ces tailles de fichier sont désactivées (8 Mo max, 128 Ko est la taille habituelle).

Voici à quoi ils ressembleraient sur un système normal:

-rw-r--r-- 1 root         root 128K Jul  8 16:07 /usr/share/OVMF/OVMF_VARS.fd
-rw------- 1 libvirt-qemu kvm  128K Nov 12 08:05 /var/lib/libvirt/qemu/nvram/ubuntu18.04_VARS.fd

Très probablement, cette copie du modèle vide a mal tourné, ou votre copie de base est cassée/surdimensionnée. Pouvez-vous vérifier cela s'il vous plaît?

3
Christian Ehrhardt