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
    • 最新
    • 标签
主页 / unix / 问题 / 792797
Accepted
Binarus
Binarus
Asked: 2025-03-21 16:44:14 +0800 CST2025-03-21 16:44:14 +0800 CST 2025-03-21 16:44:14 +0800 CST

为什么 Windows 11 可以在 CPU 类型为 qemu64 的 Qemu 中运行?

  • 772

我不确定这个问题是与 Linux 还是 Windows 相关。不过,我们可以继续:

在具有两台 Xeon E5-2690v3 的服务器上使用qemu-system-x86_64 7.2.15带有内核的 D​​ebian bookworm ,我创建了第一个运行 Windows 11 的虚拟机。安装介质包含 Windows 11 Pro 21H2。6.1.0 / amd64

这次安装最初失败是因为虚拟机硬件中缺少 TPM 2.0 模块。感谢这个网站和其他人的帮助,这个问题并不难解决(安装swtpm相关组件,并稍微扩展一下 Qemu 命令行)。按照这些步骤操作后,Windows 11 安装顺利。如上所述,这是 21H2 版本。

在安装过程中,Qemu 已经-cpu host。也就是说,Windows 11 使用 Xeon E5-2690v3 CPU 自行安装。

然后,虚拟机开始安装更新。当我尝试将 Windows 11 功能升级到 23H2 版本时,它提示升级失败,原因是 CPU 与 Windows 11 不兼容。没错,确实如此:首先,它在该 CPU 上顺利安装,然后由于 CPU 不兼容,更新失败了。

由于我需要该虚拟机的最新版本,我在 Qemu 中对各种 CPU 类型进行了多次测试。除了一个例外,其他所有测试都失败了:如果我设置了-cpu qemu64,更新就会成功。

虽然我很高兴(当然),但我真的很想知道它为什么有效。我多次研究过与 Windows 11 兼容的英特尔 CPU 列表,但没有看到类似的条目。AMD CPU 列表qemu64也是如此。

因此问题是:为什么-cpu qemu64即使此 CPU 不在受支持的 CPU 列表中,Windows 11 也可以运行?

windows
  • 1 1 个回答
  • 81 Views

1 个回答

  • Voted
  1. Best Answer
    Marcus Müller
    2025-03-21T18:16:37+08:002025-03-21T18:16:37+08:00

    我无法告诉您在 Windows 端发生了什么,但我可以帮助您澄清有关 qemu -cpu host和-cpu ${model}标志的困惑。相关文献:QEMU/KVM CPU 模型配置。

    • -cpu host将通过访问 CPU 识别寄存器,以及尽可能多的可以安全虚拟化到客户机的功能。
    • -cpu ${model}将模拟一个反映该 CPU 型号的 CPU 识别寄存器,并将主机 CPU 上可用的数据(如果可能)传递到具有上述功能的客户机 CPU。这可能需要对硬件外设进行更“基础”的模拟。

    我怀疑 Windows 只是检测到它在虚拟机中运行,然后只允许明确标明是虚拟化 CPU 的基准 CPU,除非你购买了更昂贵的许可证(而且那个更新刚刚带来了更好的虚拟化 CPU 检测功能)。我不确定,这确实是 Windows 的问题。

    另一种可能是,host你的 CPU 上的选项不支持 Windows 11 所需的 TPM 直通,但 qemu64 上的 TPM 模拟可能支持。我也不知道——我缺乏 Windows 方面的知识 :)

    • 1

相关问题

  • Kali Linux 已安装但未显示在引导管理器中

  • 无法运行 .exe 文件

  • 需要 SSH 在 Cygwin 上中断的 Git 功能

  • 如何为 plink.exe 设置环境变量?

  • 在 Kali Linux 中的 Windows 7 分区上安装 grub

Sidebar

Stats

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

    模块 i915 可能缺少固件 /lib/firmware/i915/*

    • 3 个回答
  • Marko Smith

    无法获取 jessie backports 存储库

    • 4 个回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    user12345 无法获取 jessie backports 存储库 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl 为什么大多数 systemd 示例都包含 WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

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

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve