解决vmware上linux虚拟机的eth0不存在的问题

配置好的Vmware vmdk,在其他电脑上用使用,会出现一个问题--找不到网卡了,提示"No such device eth0"...

原因是Vmware保存的硬件配置文件*.vmx里记录了网卡的MAC地址,而linux也会记录MAC地址,这样在克隆虚拟机的时 候,Vmware会为Ubuntu分配一个新的eth0网卡,但是由于被之前的eth0占用,所以它会变成eth1。再因为eth0是默认的网卡,显然这 个网卡不存在,所以就提示"No such device eth0"..

linux保存MAC地址的配置文件为"/etc/udev/rules.d/70-persistent-net.rules"

方法1:直接删除配置文件

直接删除配置文件,重启之后Ubuntu就会找到新的网卡了。

#sudo rm /etc/udev/rules.d/70-persistent-net.rules

方法2:修正配置文件

修改配置文件,将原本的eth0删除,然后修改eth1NAME="erh1"NAME="eth0",重启之后linux就会使用新的配置文件设置网卡了。

修改前的 /etc/udev/rules.d/70-persistent-net.rules 像这样:

# PCI device 0x1022:0x2000 (pcnet32)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:50:XX:XX", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

# PCI device 0x1022:0x2000 (pcnet32)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:85:XX:XX", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"

将它修改为:

# PCI device 0x1022:0x2000 (pcnet32)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:85:XX:XX", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

[备注]

重启后使用网络管理配置IP时可能会出现,system-config-network无法编辑的错误

查看/etc/sysconfig/network-scripts/ifcfig-eth0,发现内容为空.按以下格式进行编辑,保存即可

DEVICE=eth0
ONBOOT=yes
BOOTPROTO=none
HWADDR=00:0C:29:C6:A1:AB
IPADDR=192.168.1.60
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
NM_CONTROLLED=yes
MODE=Manager
DNS1=192.168.1.1
MTU=1500
TYPE=Ethernet
IPV6INIT=no
USERCTL=no
PREFIX=24
NAME="System eth0"
UUID=5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03

此处的MAC即为修改/etc/udev/rules.d/70-persistent-net.rules eth1MAC

 




本文转自 yhw85 51CTO博客,原文链接:http://blog.51cto.com/yanghuawu/935936,如需转载请自行联系原作者

上一篇:Python编程-基础知识-python项目包和文件的管理以及如何引用相对路径的包和模块


下一篇:shell解决/bin/bash^M:bad interpreter:No such file or directory