AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 955011
Accepted
Stonecraft
Stonecraft
Asked: 2019-02-21 18:23:19 +0800 CST2019-02-21 18:23:19 +0800 CST 2019-02-21 18:23:19 +0800 CST

升级 qemu 后,“不支持的机器类型 'pc-i440fx-3.1”

  • 772

我最近安装了 QEMU 的最新版本(3.1.0),但我一直无法让 virt-manager 正常工作,大概是因为它没有连接到正确的依赖项。此线程中描述了我的其他一些麻烦。

我运行以下命令:

~$ virt-install \
> --name myWINVM \
> --boot uefi \
> --ram 32768 \
> --graphics vnc,listen=0.0.0.0 \
> --machine pc \
> --features kvm_hidden=on \
> --hostdev 9:00.0,address.type=pci,address.multifunction=on \
> --hostdev 9:00.1,address.type=pci \
> --hostdev 0a:00.0,address.type=pci,address.multifunction=on \
> --machine pc \
> --vcpus 4 \
> --os-type windows \
> --os-variant win10 \
> --network bridge=virbr0 \
> --console pty,target_type=serial \
> --disk /home/boss/Downloads/Win10_1809Oct_English_x64.iso,device=cdrom \
> --disk /home/boss/Downloads/virtio-win-0.1.164.iso,device=cdrom \
> --disk path=/home/boss/testVM/WINVM.img,bus=virtio,size=120

我的输出是这样的:

Starting install...
Allocating 'WINVM.img'                                      | 120 GB  00:04     
ERROR    internal error: process exited while connecting to monitor: 2019-02-21T01:58:56.827372Z qemu-system-x86_64: -enable-kvm: unsupported machine type 'pc-i440fx-3.1'
Use -machine help to list supported machines
Removing disk 'WINVM.img'                                   |    0 B  00:00     
Domain installation does not appear to have been successful.
If it was, you can restart your domain by running:
  virsh --connect qemu:///system start myWINVM
otherwise, please restart your installation.

除了尝试 git 版本的 qemu,我还尝试从SPICE 网站构建当前的 SPICE 服务器:

注意:如果我指定 q35,我会得到完全相同的错误:

~$ virt-install \
> --name myWINVM \
> --boot uefi \
> --ram 32768 \
> --graphics vnc,listen=0.0.0.0 \
> --machine q35 \
> --features kvm_hidden=on \
> --hostdev 9:00.0,address.type=pci,address.multifunction=on \
> --hostdev 9:00.1,address.type=pci \
> --hostdev 0a:00.0,address.type=pci,address.multifunction=on \
> --machine pc \
> --vcpus 4 \
> --os-type windows \
> --os-variant win10 \
> --network bridge=virbr0 \
> --console pty,target_type=serial \
> --disk /home/boss/Downloads/Win10_1809Oct_English_x64.iso,device=cdrom \
> --disk /home/boss/Downloads/virtio-win-0.1.164.iso,device=cdrom \
> --disk path=/home/boss/testVM/WINVM.img,bus=virtio,size=120

Starting install...
Allocating 'WINVM.img'                                      | 120 GB  00:04     
ERROR    internal error: process exited while connecting to monitor: 2019-02-21T04:08:50.597025Z qemu-system-x86_64: -enable-kvm: unsupported machine type 'pc-i440fx-3.1'
Use -machine help to list supported machines
Removing disk 'WINVM.img'                                   |    0 B  00:00     
Domain installation does not appear to have been successful.
If it was, you can restart your domain by running:
  virsh --connect qemu:///system start myWINVM
otherwise, please restart your installation.

编辑:我认为问题一定出在 virt-manager 上,因为我能够创建一个 qemu 系统并使用 VNC 使用以下命令查看它:

sudo qemu-system-x86_64 \
> -name WINVM,process=WINVM \
> -machine type=q35,accel=kvm \
> -smp 4,sockets=1,cores=2,threads=2 \
> -m 16G \
> -rtc clock=host,base=localtime \
> -serial none \
> -vga qxl \
> -parallel none \
> -boot order=dc \
> -drive file=/home/boss/Downloads/virtio-win-0.1.164.iso,index=1,media=cdrom \
> -drive file=/home/boss/Downloads/virtio-win-0.1.164.iso,index=2,media=cdrom
qemu-system-x86_64: This family of AMD CPU doesn't support hyperthreading(2). Please configure -smp options properly or try enabling topoext feature.
VNC server running on ::1:5900

编辑:我的下一步将是从一个新的主机系统从头开始,之前手动构建和安装所有最新的软件组件。那就是 QEMU、libvirt、virt-manager 和 spice-server.. 我忘记了什么吗?我应该做些什么来确保我正在构建的软件包能够找到彼此?

无论如何,如果失败了,我可能会认输并返回存储库版本,即使它有一些问题。

更新:我无法让手动编译的 qemu、libvirtd 和 virt-manager 一起工作,因此决定认输(暂时)。如果启动这整个事情的重置错误太烦人了,也许我会抛开一切,尝试 Arch。

virtualization
  • 2 2 个回答
  • 10191 Views

2 个回答

  • Voted
  1. Best Answer
    DanielB
    2019-02-22T01:44:08+08:002019-02-22T01:44:08+08:00

    鉴于您说明的命令行,应该没有办法获得您报告的错误。您请求了一个未版本化的“pc”机器类型,这将导致 libvirt 查询 QEMU 以询问最新版本的变体是什么。QEMU 似乎已经告诉 libvirt 使用“pc-i440fx-3.1”,鉴于您声称已升级到 3.1.0,这是有道理的。鉴于 libvirt 从 QEMU 本身获取此信息,因此 QEMU 拒绝运行并抱怨这不存在是毫无意义的。这应该是一个不可能发生的情况。我会检查“virsh 能力”输出,看看它为 QEMU 检测的机器类型。

    传递“q35”时遇到相同问题的原因是因为您的 virt-install args 已通过“--machine pc”选项两次。您将第一个更改为“q35”,但第二个仍然显示“pc”,它覆盖了第一个。

    • 3
  2. Michael Hampton
    2019-02-21T19:37:46+08:002019-02-21T19:37:46+08:00

    不要再使用--machine pc了。它模拟 1995 年的主板,完全不适合运行现代操作系统。

    将其替换为--machine q35唯一的其他选项,它可以模拟更现代且支持 UEFI 的主板。

    • -1

相关问题

  • 哪些 939 插槽芯片支持 AMD-V?

  • Windows Server 2008 Hyper-V 虚拟化服务器的最佳 RAID 配置?

  • VirtualBox 上 Ubuntu 的访客优化技巧 [关闭]

  • 外部硬盘上的 virtualbox 虚拟硬盘驱动器(Vista 主机上的 ubuntu 客户机)

  • 物理机重启时自动重启虚拟机(VMWare)

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve