学习啦>学习电脑>操作系统>Linux教程>

克隆Linux提示eth0找不到解决方法

春健分享

  在Vmware装了Ubuntu 9.04 Server,今天在启动的时候,发现找不到网卡eth0,在输入ifconfig –a的时候,也没有任何Ethnet的信息,而输入eth0 down 的时候,提示我no device found(设备没法找到)这可怎么办呢?下面跟着学习啦小编一起来了解一下吧。

  克隆Linux提示eth0找不到解决方法

  解决方案:将eth0配置回来

  修改/etc/udev/rules.d/70-persistent-net.rules文件

  将PCI device 0x1022:0x2000 (vmxnet)用#注释,将PCI device 0x1022:0x2000 (vmxnet)中的eth2修改为eth0,记住MAC地址ATTR{address}=="00:0c:29:ab:c5:2c",退出保存。

  修改网卡配置文件/etc/sysconfig/network-scripts/ifcfg-eth0

  修改ip地址:IPADDR=192.168.0.102(因为我才用host-only的链接方式,所以是静态ip),修改MAC地址HWADDR=00:0C:29:AB:C5:2c,退出保存。

  修改/etc/sysconfig/network文件中主机名 HOSTNAME=hadoop2

  执行命令:service network restart,会出现eth0生效的提示信息。

  Bringing up interface eth0: Active connection state: activating

  Active connection path: /org/freedesktop/NetworkManager/ActiveConnection/1

  state: activated

  Connection activated

  最好reboot重启一下。

  [root@hadoop2 ~]# ifconfig

  eth0 Link encap:Ethernet HWaddr 00:0C:29:AB:C5:2C

  inet addr:192.168.0.102 Bcast:192.168.0.255 Mask:255.255.255.0

  inet6 addr: fe80::20c:29ff:feab:c52c/64 Scope:Link

  UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

  RX packets:177 errors:0 dropped:0 overruns:0 frame:0

  TX packets:61 errors:0 dropped:0 overruns:0 carrier:0

  collisions:0 txqueuelen:1000

  RX bytes:17634 (17.2 KiB) TX bytes:7611 (7.4 KiB)

  Interrupt:19 Base address:0x2024

  VMWare克隆或复制Linux虚拟机后无法上网的解决

  原因分析:

  很多Linux distribution使用udev动态管理设备文件,并根据设备的信息对其进行持久化命名。例如在Debian etch中,udev会在系统引导的过程中识别网卡,将mac地址和网卡名称对应起来记录在udev的规则脚本中。而VMware会自动生成虚拟机的 mac地址。这样,由于基本系统的虚拟机已经记录了该虚拟机的网卡mac地址对应于网卡eth0,在克隆出的虚拟机中由于mac地址发生改变,udev会自动将该mac对应于网卡eth1。以此类推,udev会记录所有已经识别的mac与网卡名的关系,所以每次克隆网卡名称会自动加1,而其实kernel 仅仅只识别到一张网卡,跟网卡名相关的网络配置也未发生任何变化。

  解决方案:

  网络搜索发现在Debian etch下,udev将mac与网卡名称的对应关系保存在/etc/udev/rules.d/z25_persistent-net.rules中,在克隆出的虚拟机中只要删除跟NAME="eth0"相关的行并重启系统即可。例如在Debian etch中删除如下两行:

  # PCI device 0x1022:0x2000(pcnet32)SUBSYSTEM=="net",DRIVERS=="?*",ATTRS{address}=="00:0c:29:4c:46:01",NAME="eth0"

  在我的fedora9 下修改/etc/udev/rules.d 下的 70-persistent-net.rules 文件删除

  # Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE] (rule written by anaconda)

  SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:ad:06:2a", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

  然后把eth1对应的哪一行的"eth1"修改为"eth0"即可。

  另外一种方法是:把里面的内容都删除,然后重新启动,系统也会重新发现网卡硬件,重新产生该文件

  上面就是VMware克隆Linux提示eth0找不到的解决方法的介绍了,如果你也遇到了这种问题,可以安装本文介绍的方法进行处理,希望对你有所帮助。

    647787