Vmware中的centos虚拟机克隆之后没有eth0

克隆虚拟机之后,CentOS没有eth0的解决办法

     我们常常需要从一台已经安装完成的虚拟机系统克隆出来一个新系统(克隆时候必须要改变网卡物理地址,这一点无需多说),但是新系统启动之后,会发现系统网络工作不正常。
本次从master克隆了3台计算机,命名为slave1、slave2、slave3,启动slave1,
输入ifconfig,发现根本就没有eth0,如图1所示。

     通过修改/etc/network/interfaces配置eth0的地址,启动网卡服务,依然没有eth0,反而会增加一个eth2。
     原来是设备管理器udev的原因。udev 是Linux kernel 2.6系列的设备管理器。它主要的功能是管理/dev目录底下的设备节点。同时也是用来接替devfs及hotplug的功能,这意味着它要在添加/删除硬件时处理/dev目录以及所有用户空间的行为,包括加载firmware时。
    找到udev的配置文件,  /etc/udev/rules.d/70-persistent-net.rules。其内容如图2所示。 

    命名里采用MAC地址匹配方式来记录网卡的命名。也就是说,原来的网卡的物理地址已经被记录到了eth0,克隆时候修改了的网卡的物理地址,被记录到了eth1上,使得克隆的系统只有eth1,修改一次eth0,就自动匹配增加一个网卡,eth0依然不存在。
由此,就很简单了,直接删掉本文件,然后修改/etc/sysconfig/network-scripts/ifcfg-eth0 里eth0的物理地址,使得该数据与系统生成的一致,然后,重启系统就修正了该问题。

 

 

参考资料:

1、http://f.dataguru.cn/thread-479438-1-1.html

 

posted @   zhangzl419  阅读(297)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示