VMWare: eth0: error fetching interface information : device not found

重装了系统,不过原来的虚拟机系统文件都还在,就只重装了虚拟机,虚拟机版本是VM8.0.4,安装好虚拟机然后我就打开我原来安装好的CentOS.vmx文件,版本是centos6.5

但是发现我本机ping不通centos了,没装系统之前是可以的,已经设置过了,而且centos的文件都还在,所以很好奇,

输入命令ifconfig -a 发现设置的ip地址没有生效 ,而且是 eth1 不是原来的eth0

输入命令ifconfig eth0 报了错误: eth0: error fetching interface information : device not found

但在etc/sysconfig/network-scripts/ ifcfg-eth0 是在的,不知道为什么没加载到

vi ifcfg-eth0

发现设置仍是在的,但是就是没生效

网上百度了一下,有的是说:

第一种解决方案:

mv ifcfg-eth0 ifcfg-eth1

vi ifcfg-eth1  把eth0改为ifcfg-eth1

我试了试,可能我操作的不对,没有 ifup eth1 反正

没有成功,我甚至把networking里的ifcfg-eth0改了名字,但是没解决问题

其实我比较好奇为什么会突然网卡变了,专业名词应该叫网卡吧,百度了好久发现有个人说法有点道理

第二种方案:

在 vim /etc/udev/rules.d/70-persistent-net.rules 这个文件里

有两个PCI device  上面的是eth0 下面的是eth1

这是因为我直接用的原始虚拟机的centos系统文件,相当于我现在的系统是克隆过来的。

上面的那个是原始虚拟机的网卡设置,下面的是克隆出来的机器的网卡设置,把第一行去掉,eth1改成eth0就好了

然后重启一下,reboot

不过我试了之后,竟然还是不行。它的名字虽然变成eth0但它加载的还是eth1的设置信息。

不过我已经知道为什么会出现这种问题了。

第三种方案

我发现eth0里面有个HWADDR字段,这个字段是用来判断加载哪个eth 来设置网卡的,我ifconfig -a 的时候 eth1也会显示它的HWADDR值,

所以我就试了试把eth1的HWADDR值替换掉了eth0的HWADDR值

然后server network restart

竟然可以,网卡配置成功了。

所以我是先把 /etc/udev/rules.d/70-persistent-net.rules 里的eth1 改成了eth0

但是reboot之后发现还不行,所以又把HWADDR值也替换掉了,

最后server network restart

这样才行。

不过我好奇的是为什么找不到这个eth1文件在哪儿呢?network-scripts 文件夹下也没有,networking文件夹下也没有,

如果我能找到这个文件的话,我直接去设置它就行了,对Linux我还真是乱七八糟,只能以后慢慢摸索了。

原文地址:https://www.cnblogs.com/rongyao/p/7531995.html