# 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
posted @   Jerry·  阅读(482)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY

阅读目录(Content)

此页目录为空

点击右上角即可分享
微信分享提示