HyperV上的CentOS-eth0是否不在ifconfig中?


9

我已经在HyperV中启动了CentOS安装,并以与在Ubuntu VM 上相同的方式分配了NIC ,但是,该设备根本没有被使用。

只能找到我的环回ifconfig

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


是什么lsmod在工作Ubuntu的 VM显示为网卡驱动程序?该模块是否已加载到CentOS VM上?有什么ifconfig eth0 up成就?
卡莱布

这两个操作系统具有彼此之间不共享的大量模块(即,超过20个)。ifconfig eth0表示“ eth0:错误获取接口信息:未找到设备”
隐身

2
不要屈尊或太古怪,但是你在跑步ifconfig -a吗?查看系统上网络接口的另一种更紧凑的方法是使用ip a l(假设iproute2,我相信默认安装在CentOS中)。
伊莱·海蒂

2
ifconfig -a透露我有eth2

Answers:


8

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

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

  1. 安装CentOS
  2. 从Microsoft下载Hyper-V的“ Linux集成磁盘”(有多个版本,最新版本包含以前的发行版)
  3. 挂载ISO映像文件。
    sudo mount /dev/cdrom /media
  4. install.sh在Linux Integration Services CD的LISISO文件夹下运行(其中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通了

今天,我在使用新的RHEL 7.4 VM时遇到了相同的问题,我必须执行的唯一步骤是5-9,而我唯一不同的是(我不包括HOSTNAME属性,而是使用vi代替了nano
Taegost,

4

听起来您正在使用的CentOS内核版本中缺少HyperV虚拟NIC的驱动程序,并且已成功安装的Ubuntu版本中提供了这些驱动程序。微软直到最近才将其虚拟设备驱动程序添加到主线内核中。我的猜测是您使用的CentOS版本不包含这些驱动程序。

至于如何解决它,您可以寻找与网络硬件有关的内核消息。检查的输出dmesg | lessless /var/log/messages。我将查找包含“ net”,“ eth”的条目。任何内核日志记录都将来自模块加载-成功或错误。如果没有用于虚拟化NIC的内核模块,则内核可能对无法识别的硬件无话可说。

创建VM时,可以选择在HyperV中添加“传统网络适配器”(至少是以前称为该选项的选项)。这会将NIC作为本质上较旧的设备提供给来宾OS,来宾希望有驱动程序。

一旦安装了CentOS,就可以安装 Microsoft的驱动程序以利用效率更高的虚拟设备。


我不确定这是否为我解决了,还是不确定我的VM仅将eth0设置为手动模式,并且我必须启用dhcp和onboot
jcolebrand 2012年

1

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.