首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用UEFI x86_64 OVMF固件时安装内部错误

使用UEFI x86_64 OVMF固件时安装内部错误
EN

Ask Ubuntu用户
提问于 2019-11-11 23:29:04
回答 1查看 5.5K关注 0票数 2

编辑

我已经总结了问题和实际的解决办法,让其他人只看到我最初的文章的亮点。

使用OVMF固件

时的“内部错误”问题

arm64 x86-based ROM上使用-based EFI固件(请参阅@Christian EhrhardtS答案)时会发生以下错误,这是我在Virt中使用Kubuntu18.04.3LTS VM测试UEFI固件时错误地做的:

基本上,您可以使用x86_64包获得ovmf EFI固件:$ apt install和arm64 EFI固件与qemu-efi包:$ apt安装qemu-efi。

我做的修复是非常简单的

跟踪错误的完整deatils日志:

代码语言:javascript
复制
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):

代码语言:javascript
复制
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:

代码语言:javascript
复制
$ rm /var/lib/libvirt/qemu/nvram/kubuntu-18.04.3-lts_VARS.fd
EN

回答 1

Ask Ubuntu用户

回答已采纳

发布于 2019-11-12 08:13:21

首先(您已经知道了,但其他人可能会感到奇怪,因为它不是在18.04版本中作为依赖关系自动安装的,而是在以后的版本中),您需要安装ovmf

代码语言:javascript
复制
$ apt install ovmf

我在18.04和20.04尝试了同样的方法,两者都工作得很好。注意:造成此错误的一个常见原因是在arm64上使用x86 (例1例2,但是您的配置LGTM (我们可以在路径中看到x86 )。

最后,我看到您的系统抱怨您的VARS文件.../kubuntu-18.04.3-lts_VARS.fd,而不是以CODE.fd结尾的实际rom。

当我在virt管理器中创建这样的客户机时,它创建的XML如下所示:

代码语言:javascript
复制
/usr/share/OVMF/OVMF_CODE.fd
/var/lib/libvirt/qemu/nvram/ubuntu18.04_VARS.fd

后者是自动创建的,通常是来自/usr/share/OVMF/OVMF_VARS.fd的副本。如果这些文件大小为off (8MB最大值,128 is是通常的大小),则会发生您提到的错误。

在这里,他们将如何看待一个正常的系统:

代码语言:javascript
复制
-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
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/1188054

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档