HyperV 上的 CentOS - eth0 不在 ifconfig 中?

HyperV 上的 CentOS - eth0 不在 ifconfig 中?

我已经推出了一个中央操作系统在 HyperV 中安装并分配一个 NIC,就像我在乌班图然而,VM 设备根本没有被拾取。

只有我的环回被发现ifconfig

我应该如何解决这个问题?

答案1

更新:此版本已更新,以反映他们对 LIS v4 所做的更改,不再需要运行特定于版本的安装程序。另外,如果您只需要 Hyper-V 在“网络”选项卡中报告信息,则只需执行步骤 1-4)

我有同样的问题;重新安装了驱动程序。这是我所做的:

  1. 安装CentOS
  2. 从微软下载Hyper-V的“Linux Integration Disk”(有多个版本,最新的包含了以前的发行版)
  3. 挂载ISO镜像文件。
    sudo mount /dev/cdrom /media
  4. 在 Linux Integration Services CD 的 LISISO 文件夹下运行install.sh(其中 xx 是最新版本,或者您需要的特定版本)。
    sudo /LISISO/install.sh
  5. 创建ifcfg-eth0文件。
    nano /etc/sysconfig/network-scripts/ifcfg-eth0
  6. 插入以下行:

    DEVICE=eth0
    BOOTPROTO=dhcp
    ONBOOT=yes
    
  7. 保存并退出

  8. 编辑或创建network文件
    nano /etc/sysconfig/network
  9. 插入以下行:

    NETWORKING=yes
    HOSTNAME=server-name.company.lan
    

    保存并退出

  10. 重新启动,现在可以 ping 通了

答案2

听起来您正在使用的 CentOS 内核版本中缺少 HyperV 虚拟化网卡的驱动程序,但您成功安装的 Ubuntu 版本中却存在该驱动程序。微软最近才将其虚拟设备驱动程序纳入主线内核。我的猜测是您使用的 CentOS 版本不包含这些驱动程序。

至于如何排除故障,您可以查找与网络硬件相关的内核消息。检查dmesg | less和的输出less /var/log/messages。我会寻找包含“net”、“eth”的条目。任何内核日志记录都来自模块加载 - 成功或错误。如果虚拟化网卡没有内核模块,内核可能不会对无法识别的硬件做出任何说明。

创建虚拟机时,您可以选择在 HyperV 中添加“旧版网络适配器”(至少是以前的选项)。这会将 NIC 作为本质上较旧的设备呈现给来宾操作系统,来宾希望拥有该设备的驱动程序。

安装 CentOS 后,您可以安装驱动程序Microsoft 提供了利用更高效的虚拟设备的方法。

答案3

就我而言,我通过导入 CentOS7 Linux 的 VHD 将新虚拟机添加到 Windows 10 Hyper-V。安装没问题,但是 CentOS 中的网络根本无法工作。为了解决这个问题,我在 Hyper-V 中选择了新的虚拟机并编辑了设置。在网络适配器下,虚拟交换机默认设置为“未连接”。将其更改为“默认开关”并保存修复了问题。这解决了诸如找不到此连接的合适设备以及无法找到 eth0 等错误。

相关内容