无法使用 KVM/QEMU 在 Windows 10 虚拟机中连接到互联网

Sam*_*Sam 9 networking arch-linux virtual-machine libvirt

我一直在尝试在当前的 Arch Linux (5.13.12-arch1-1) 主机系统中设置 Windows 10 VM。我使用 libvirt 设置虚拟机,并使用 virt-manager 作为 GUI 设置 KVM/QEMU。

NIC 卡已设置为“虚拟网络‘默认’NAT”并使用“virtio”设置。然而,即使在 Windows 上更新驱动程序后,它也无法连接到互联网并显示“无法识别的网络 - 无法访问互联网”。

ipconfig /allWindows 10 中 的输出输出

ip linkArch的输出

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: wlo1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DORMANT group default qlen 1000
    link/ether aa:aa:aa:aa:aa:aa brd ff:ff:ff:ff:ff:ff
    altname wlp0s20f3
10: virbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000
    link/ether bb:bb:bb:bb:bb:bb brd ff:ff:ff:ff:ff:ff
11: vnet0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master virbr0 state UNKNOWN mode DEFAULT group default qlen 1000
    link/ether cc:cc:cc:cc:cc:cc brd ff:ff:ff:ff:ff:ff
Run Code Online (Sandbox Code Playgroud)

virsh net-dumpxml defaultArch的输出

<network connections='1'>
  <name>default</name>
  <uuid>a145acdf-7624-40c5-af1f-b88bfc33bcc6</uuid>
  <forward mode='nat'>
    <nat>
      <port start='1024' end='65535'/>
    </nat>
  </forward>
  <bridge name='virbr0' stp='on' delay='0'/>
  <mac address='dd:dd:dd:dd:dd:dd'/>
  <ip address='192.168.122.1' netmask='255.255.255.0'>
    <dhcp>
      <range start='192.168.122.2' end='192.168.122.254'/>
      <host name='Windows10' ip='192.168.122.2'/>
    </dhcp>
  </ip>
</network>
Run Code Online (Sandbox Code Playgroud)

已经完成了-

sudo pacman -S iptables-nft nftables dhclient
sudo systemctl enable/start libvirt.service
sudo systemctl enable/start dnsmasq.service
virsh net-autostart default
virsh net-start default
Run Code Online (Sandbox Code Playgroud)

virsh net-dhcp-leases default显示没有为虚拟机分配ip。截至目前,我对如何解决这个问题一无所知。

*MAC地址已更改

Tho*_*dor 10

同样的问题,看来是驱动问题。这为我解决了这个问题:

  1. 如果您还没有完成,请下载 Windows VirtIO 驱动程序 ISO(“稳定的 virtio-win ISO”对我有用)并附加到来宾 CD 驱动器: https: //github.com/virtio-win/virtio-win-pkg-脚本/blob/master/README.md

  2. 在 Win 10 客户机中,打开设备管理器并查找带有黄色三角形的网络适配器。如果它显示为“以太网控制器”,请跳至步骤 3。否则,如果它被识别为带有黄色三角形的“Red Hat VirtIO 以太网适配器”:右键单击 ->“删除设备”并选中“删除驱动程序”。刷新设备管理器。现在它应该仅显示为“以太网控制器”,可能位于顶部。

  3. 仍然在设备管理器中,右键单击“以太网控制器”->更新更新驱动程序->搜索我的电脑。当询问路径时,导航到您的 CD 驱动器 -> NetKVM -> w10 -> 您可能拥有的任何体系结构(在我的例子中,完整路径是D:\NetKVM\w10\amd64)。

现在应该为 virtio 网络适配器安装正确的驱动程序并为您提供互联网访问权限。有关参考,请参阅: https ://access.redhat.com/articles/2470791