我已经推出了一个中央操作系统在 HyperV 中安装并分配一个 NIC,就像我在乌班图然而,VM 设备根本没有被拾取。
只有我的环回被发现ifconfig
。
我应该如何解决这个问题?
答案1
更新:此版本已更新,以反映他们对 LIS v4 所做的更改,不再需要运行特定于版本的安装程序。另外,如果您只需要 Hyper-V 在“网络”选项卡中报告信息,则只需执行步骤 1-4)
我有同样的问题;重新安装了驱动程序。这是我所做的:
- 安装CentOS
- 从微软下载Hyper-V的“Linux Integration Disk”(有多个版本,最新的包含了以前的发行版)
- 挂载ISO镜像文件。
sudo mount /dev/cdrom /media
- 在 Linux Integration Services CD 的 LISISO 文件夹下运行
install.sh
(其中 xx 是最新版本,或者您需要的特定版本)。
sudo /LISISO/install.sh
- 创建
ifcfg-eth0
文件。
nano /etc/sysconfig/network-scripts/ifcfg-eth0
插入以下行:
DEVICE=eth0 BOOTPROTO=dhcp ONBOOT=yes
保存并退出
- 编辑或创建
network
文件
nano /etc/sysconfig/network
插入以下行:
NETWORKING=yes HOSTNAME=server-name.company.lan
保存并退出
- 重新启动,现在可以 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 等错误。