web-dev-qa-db-ja.com

Virt-Manager(QEMU / KVM)UEFI x86_64 OVMFファームウェアを使用すると、内部エラーがインストールされる

編集

元の投稿のハイライトのみを確認できるように、問題と実際の修正をまとめました。

OVMFファームウェアを使用する場合の「内部エラー」の問題

arm64ベースのROMでx86 EFIファームウェアを使用すると、次のエラーが発生します(@ Christian Ehrhardtの回答を参照してください)。 Kubuntu 18.04.3 LTSでUEFIファームウェアをアウトVM Virt-Managerで:

virt-manager-internal-error

基本的に、ovmfパッケージを使用してx86_64 EFIファームウェアを取得できます。

$ apt install ovmf

そして、arm64 EFIファームウェアとqemu-efiパッケージ:

$ apt install qemu-efi

私がした修正は非常に簡単でした

エラーの完全な詳細ログを追跡する:

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

ゲストVMのVARS(.../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

この問題は、別の名前で作成した他のVMでは発生しないことに注意してください。これを修正するには、VARSファイルを削除するだけで、VMを同じ名前で再作成できます。

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

まず最初に(すでに実行しましたが、18.04では依存関係として自動インストールされないため、これを見つけた他の人はそれ以降のリリースにあります)ovmfをインストールする必要があります

$ apt install ovmf

18.04と20.04にも同じことを試しましたが、どちらも問題なく動作しました。注:このエラーの一般的な理由は、x86でarm64 EFI romを使用することです( 例1例2 ですが、構成LGTM(パスにx86を表示できます) )。

最後に、システムがVARSファイル.../kubuntu-18.04.3-lts_VARS.fdについて不満を持っていることを確認しました。CODE.fdで終わる実際のROMではありません。

Virt-managerでそのようなゲストを作成すると、作成されるXMLは次のようになります。

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

後者は自動作成され、通常は/usr/share/OVMF/OVMF_VARS.fdからのコピーです。あなたが言及したエラーは、これらのファイルサイズがオフの場合に発生します(最大8MB、128KBが通常のサイズです)。

ここでは、通常のシステムでどのように見えるかを示します。

-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

空のテンプレートからのこのコピーが間違っているか、ベースコピーが壊れている/大きすぎる可能性があります。これを確認してもらえますか?

3