尝试在 qemu 中安装 Arch Linux 时没有互联网连接

尝试在 qemu 中安装 Arch Linux 时没有互联网连接

我正在尝试慢慢从 Windows 切换到 Linux。所以我认为在 VM 上安装 Arch 是个好主意。自从我了解 VM 以来,我一直在使用 VirtualBox,但现在我想尝试 qemu,因为我在互联网上看到了比较,它告诉我 qemu 更快。我使用 QtEmu gui 安装了它(这样对我来说会更容易)。 这是我的虚拟机设置的图像。

现在的问题是,启动后我尝试检查是否有互联网连接ping 8.8.8.8ping wp.pl但什么也没有显示。我的虚拟机是什么样的。

也许问题出在我选择的处理器类型上?我使用 Ryzen 7 2700x,首先我尝试了基础版 - 不起作用,然后尝试了 AMD Athlon - 不起作用,现在尝试了 kvm64,因为它可以工作。

有什么方法可以解决这个网络问题吗?我是新手,如果有人能向我解释为什么它不起作用,我会非常高兴。

答案1

我想尝试 qemu,因为我在互联网上看到了比较并且它显示 qemu 更快。

通过硬件虚拟化,实际上可能会不多区别。这两个程序确实模拟了不同的硬件和外围设备(例如不同的虚拟 GPU),但无论如何,“基本” CP​​U 虚拟化都外包给了您的物理 CPU。

但是,在您的屏幕截图中,Qemu 已设置没有硬件虚拟化——它只使用软件模拟(“微型代码生成器 (TCG)”模式)。这将是很多甚至比 VirtualBox 的 no-virt 模式还慢。

Windows 上的 Qemu 有两个硬件虚拟化选项:Intel HAXM(仅适用于 Intel CPU)或 Windows Hypervisor Platform(与 Hyper-V 使用的相同)。对于 AMD CPU,您无法使用 HAXM,因此您需要安装WHP 功能

(HAXM 和 WHP 大致相当于 Linux 上的 KVM。)

请注意,安装 WHP(或 HAXM)还会阻止 VirtualBox 使用其自己的硬件虚拟化驱动程序。现在 VirtualBox 也可以使用 WHP,但它比原生 VirtualBox 内核驱动程序慢。(实际上,这几乎就像 VirtualBox 在使用 WHP 时故意运行得更慢一样……)

也许问题出在我选择的处理器类型上?我使用 Ryzen 7 2700x,首先我尝试了基础版 - 不起作用,然后尝试了 AMD Athlon - 不起作用,现在尝试了 kvm64,因为它可以工作。

这是非常这不太可能与网络有任何关系。

有什么方法可以解决这个网络问题吗?我是新手,如果有人能向我解释为什么它不起作用,我会非常高兴。

在确定问题之前,还有很多事情需要检查。

  1. VM 是否检测到(虚拟)以太网卡?运行ip link并查找名为eth#或 的接口en###。如果没有,请尝试配置 Qemu 以模拟不同的卡。检查 VM 的dmesg -H输出是否有任何错误消息可能会很有用。

  2. 虚拟以太网卡连接到什么?Qemu 与 VirtualBox 一样,具有多种网络模式:它具有“SLIRP”或“用户”网络(相当于 VirtualBox 中的“NAT”),它具有“桥接”网络,并且它具有其他几种在 Windows 中可能无法使用的模式。

    看一眼这一页。请注意,“用户”/SLIRP 网络模式虽然是最简单的一种,但可能根本无法使用ping。可能是其他一切都正常,只是您无法 ping 东西。

  3. 显示的以太网卡已启用在客户操作系统中,也就是说,“ip link”<UP>旁边是否显示标志?内核不会自行激活网络接口;必须由程序来执行此操作。ArchISO 设置为通过“dhcpcd”自动执行此操作,但最好还是检查一下,而不是假设它“一定有效”。

  4. <LOWER_UP>以太网卡是否认为物理链路正在工作?如果正在工作,则应显示相同的“ip link”输出,<NO_CARRIER>否则。(当然,它是虚拟的,因此连接也是虚拟的 - 但例如 VirtualBox 有一个“假装电缆已连接”复选框...)

  5. 以太网卡是否已分配 IP 地址?运行ip addr并查找地址以外“fe80::[...]” 一个。具体来说,您正在尝试 ping IPv4 地址,因此 VM 也需要一个 IPv4 地址。(再次强调,ArchISO 设置为通过 DHCP 自动获取地址,但不要只是假设它已经发生了。)

相关内容