# Linux启动网卡时出现RTNETLINK answers: File exists错误解决方法
一、问题描述
VMware中克隆虚拟机,或者VitualBOX里面复制虚拟机,然后使用VMware直接打开使用,但问题出来了,打开这些复制(克隆)的虚拟机全部会出现网络无法启动的问题。使用 service network start 命令出现报错如下:
device eth0 does not seem to be present
RTNETLINK answers: File exists
RTNETLINK answers: File exists
RTNETLINK answers: File exists
改MAC地址不能解决,查百度,很多方法都是说与NetworkManager服务冲突导致,服务停止即可,可是我的linux里面是最小化安装,没有这个服务。后找在百度找到了原因。
二、原因分析
使用VMware 打开复制过来的操作系统文件,VMware会为新产生的虚拟机配置一个与原始虚拟机网卡MAC地址不同的网卡。对于 CentOS这样的Linux系统,会把运行时的网卡MAC地址记入到 /etc/udev/rules.d/70-persistent-net.rules 文件中。这样克隆好的新系统里也保存了这个记录。当新系统启动时,由于vmware已经为其配置了不同的MAC地址,因此系统会在启动扫描硬件时把这个新的MAC地址的网卡当做是eth1,并且增加记入上述文件中。而此时配置文件里的 /etc/sysconfig/network-scripts/ifcfg-eth0 里记录的还是原来的MAC地址,而这个MAC地址在新系统里是不存在的,所以无法启动。
三、解决方法
vim /etc/udev/rules.d/70-persistent-net.rules
找到含NAME="eth0"的那行直接删除,如下:
SUBSYSTEM"net", ACTION"add", DRIVERS"?*", ATTR{address}"00:0c:29:ac:95:31", ATTR{type}"1", KERNEL"eth*", NAME="eth0"
编辑含NAME="eth1"的那行:"eth1"更改为"eth0"
编辑/etc/sysconfig/network-scripts/ifcfg-eth0
更改HWADDR地址跟上面rules文件的MAC地址一样。
最后 init 6 或者reboot 系统搞定;
原文链接:https://blog.51cto.com/fengyunshan911/1747919
本文来自博客园,作者:Jerry·,转载请注明原文链接:https://www.cnblogs.com/jerry-0910/p/16327076.html