带窗户的LXC集装箱死了

问题描述 投票:0回答:1

我的 LXC 容器(装有 Windows 11)死机了。我已经安装了 Windows 11 正式版。这是日志:

lxc info win11 --show-log

Name: win11
Status: STOPPED
Type: virtual-machine
Architecture: x86_64
Created: 2023/09/12 16:26 UTC
Last Used: 2023/09/15 16:49 UTC

Log:

virtio_input_handle_event: unmapped key: 0 [unmapped]
KVM: entry failed, hardware error 0x80000021

If you're running a guest on an Intel machine without unrestricted mode
support, the failure can be most likely due to the guest entering an invalid
state for Intel VT. For example, the guest maybe running in big real mode
which is not supported on less recent Intel processors.

EAX=000003d0 EBX=95bac080 ECX=00000000 EDX=8b09c850
ESI=8b108440 EDI=00000000 EBP=a953a9c0 ESP=6dcd7fb0
EIP=00008000 EFL=00000002 [-------] CPL=0 II=0 A20=1 SMM=1 HLT=0
ES =0000 00000000 ffffffff 00809300
CS =be00 7ffbe000 ffffffff 00809300
SS =0000 00000000 ffffffff 00809300
DS =0000 00000000 ffffffff 00809300
FS =0000 00000000 ffffffff 00809300
GS =0000 00000000 ffffffff 00809300
LDT=0000 00000000 ffffffff 00c00000
TR =0040 6dc76000 00000067 00008b00
GDT=     6dc77fb0 00000057
IDT=     00000000 00000000
CR0=00050032 CR2=a8416a61 CR3=b535f000 CR4=00000000
DR0=0000000000000000 DR1=0000000000000000 DR2=0000000000000000 DR3=0000000000000000
DR6=00000000ffff0ff0 DR7=0000000000000400
EFER=0000000000000000
Code=qemu-system-x86_64: ../hw/core/cpu-sysemu.c:76: cpu_asidx_from_attrs: Assertion `ret < cpu->num_ases && ret >= 0' failed.

经常出现这种情况,请问是什么原因呢?以及如何解决?

qemu lxc lxd virtio
1个回答
0
投票

您提供的错误消息表明,在主机系统上使用虚拟化 (KVM) 将 Windows 11 作为 LXC 容器运行时存在问题。此错误与虚拟化支持有关,可能是由几个不同的因素引起的。以下是一些可能的原因以及解决该问题的步骤:

  1. 主机系统兼容性:确保您的主机系统支持虚拟化并在 BIOS/UEFI 设置中启用了 KVM(基于内核的虚拟机)。如果您的处理器支持,请确保启用 VT-x (Intel) 或 AMD-V (AMD) 虚拟化扩展。

  2. CPU 兼容性:确保主机系统的 CPU 与虚拟化 Windows 11 兼容。Windows 11 有特定的硬件要求,并非所有 CPU 都能够在虚拟化环境中有效运行它。

  3. LXC 配置:检查您的 LXC 容器配置,确保其设置正确以运行 Windows 11。确保您已为容器分配足够的资源(CPU、内存、存储)以支持 Windows 11。

  4. Windows 11 版本:确保您使用兼容版本的 Windows 11 进行虚拟化。某些版本的 Windows 在虚拟化环境中运行时可能会出现问题。

  5. 虚拟化软件:确保您的虚拟化软件(例如 QEMU)是最新的。过时或不兼容的 QEMU 版本可能会导致虚拟机运行出现问题。

  6. KVM 模块:检查 KVM(内核虚拟机)模块是否已在主机系统上加载并正常运行。您可以通过运行 lsmod | 来完成此操作grep kvm 查看 KVM 模块是否已加载。

  7. 容器配置:检查 LXC 容器的配置文件(通常位于 /var/lib/lxc/win11/config 中)以确保其配置正确以运行 Windows 11。您可能需要调整与 CPU 虚拟化扩展相关的设置,内存分配以及其他虚拟化相关选项。

  8. 检查更新:确保您的主机系统和容器中的 Windows 11 安装均已应用所有可用的更新和补丁。这有时可以解决兼容性问题。

  9. 调试:如果问题仍然存在,您可能需要更深入地调试问题。您可以尝试以更详细的方式运行容器或使用调试选项来收集有关错误的更多信息。

  10. 查阅文档和论坛:查看 LXC、QEMU 和 Windows 11 虚拟化的官方文档,了解是否存在与您的设置相关的任何特定配置要求或已知问题。另外,请考虑在相关论坛或社区上发布您的问题,以寻求有经验的用户的帮助。

请记住,由于其特定的硬件要求以及主机系统上需要适当的虚拟化支持,虚拟化 Windows 11 可能具有挑战性。确保您的主机系统配置正确并满足在虚拟化环境中运行 Windows 11 所需的硬件和软件要求至关重要。

© www.soinside.com 2019 - 2024. All rights reserved.