设为首页 收藏本站
查看: 937|回复: 0

[经验分享] VMWare克隆或复制虚拟机后找不到网卡的解决方法

[复制链接]

尚未签到

发表于 2018-6-6 17:30:04 | 显示全部楼层 |阅读模式
  VMware 下LINUX出现:Device eth0 does not seem to be present, delaying initialization.解决办法
    VMware 下LINUX下使用ifconfig查看时无eth0网卡相应信息!
    最近装了虚拟机系统是 fedora9,为了以后使用方便对虚拟机进行克隆或复制。当使用克隆后的虚拟机时发现原来在基本系统中的网卡eth0到了新系统却没有了,使用ifconfig -a会发现只有eth1。因为基本系统的网络相关配置都是基于eth0的,eth1没有网络相关的配置,此时要正常该虚拟机中的网络,只有添加eth1的网络配置,这样每次都要修改网卡配置在做多Linux系统测试的时候很不方便。更进一步,如果基于此克隆虚拟机继续克隆或复制新的虚拟机,网卡的标识每一次都会自动加1(第二次克隆会变成eth2),dmesg却显示内核只识别到网卡eth0。原因分析: 很多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"即可。另外一种方法是:把里面的内容都删除,然后重新启动,系统也会重新发现网卡硬件,重新产生该文件。 ok!
    总结:
    1: 编辑如下文件
    vi /etc/udev/rules.d/70-persistent-net.rules
    注释NAME="eth0" 所以行
    2: 注释NAME="eth0" 所以行
    # 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"
    3:修改IP地址及主机名
    4:重启,问题解决!
    VMware 下LINUX出现:Device eth0 does not seem to be present, delaying initialization.解决办法
    在做mysql cluster 和lvs cluster的时候用的vmware虚拟环境
    系统: ubuntu server 6.10
    /sbin/ifconfig发现copy/clone之后的虚拟机没网卡
    原来是因为vmware已经修改了mac地址,而系统里面仍然保留原来的mac地址
    修改/etc/iftab 为 vmware.vmx 中配置的mac即可
    顺带提下,别忘记了改主机名(/etc/hostname)和ip(/etc/network/interfaces)地址
    VMware 下LINUX出现:Device eth0 does not seem to be present, delaying initialization.解决办法
    在windowXP下安装了suse linux,在vmware下选择了host-only方式与主机通信。
    使用host-only方式与主机通信,vmware使用的是VMware Network Adapter VMnet1虚拟网卡,查看该网卡的IP是 192.168.174.1。
    在虚拟机下面的linux下遇到了一下几个问题:
    1、找不大 eth0网卡,也就连不上网络。症状是ifconfig以后只现实lo,不显示eth0。
    解决方法:
    ifconfig eth0 up。这样ifconfig以后就显示了eth0。
    找到eth0以后,再运行ifconfig eth0 192.168.174.2 netmask 255.255.255.0。即可与主机通信。
    2、经过上面步骤是找到了eth0,可是重启以后又没有了。
    解决方法:
    cd /etc/sysconfigetwork/
    cp ifcfg-lo ifcfg-eth0
    vim ifcfg-eth0 修改配置如下
    IPADDR=192.168.174.2
    NETMASK=255.255.255.0
    NETWORK=192.168.174.0
    BROADCAST=192.168.174.255
    STARTMODE=onboot
    USERCONTROL=no
    保存,重启,即可。
  VMWare克隆或复制Linux虚拟机后eth0找不到的解决方案
    VMware 下Linux 移动/复制后无法找到Eth0网卡的解决过程 Normal 0 7.8 磅 0 2 false false false EN
    -US ZH-CN X-NONE MicrosoftInternetExplorer4 原文地址: http://yangdehua.cn/?p=1881.遇到什么的问
    题(What)在Vmware装了Ubuntu 9.04 Server,今天在启动的时候,发现找不到网卡eth0,在输入ifconfig –
    a的时候,也没有任何Ethnet的信息,而输入eth0 down 的时候,提示我no device found(设备没法找到)
    ,我检查了VMware的EtherNET配置的时候,仍旧是NAT网络设置,和我原来的一样没有了网卡,我就无
    法通过SecureCRT来连接Ubuntu,如果每次都要来到VMware来输入命令,很麻烦2.怎样解决(How)回想了
    在启动VMware的时候,系统提示我的Ubuntu文件被移动(位置被改变了),让我确认是moved还是copy的
    ,我当时候选择了默认的(copy)
    (This virtual machine may have been moved or copied. In order to configure certain management
    and networking features VMware Workstation needs to know which. Did you move this virtual
    machine, or did you copy it? If you don""t know, answer "I copied it".)根据这个信息,在google 搜索了
    copy or moved vmware linux,在VMware的官方论坛找到了这个帖子 lost eth0 when using a copied
    ubuntu-server vm,里面提到了多种解决方案,我最终是选择了sudo rm /etc/udev/rules.d/70-persistent
    -net.rules ,执行该命令后,重启ubuntu (sudo reboot),然后ifconfig ,出现了ip地址,问题得到解决3.为
    什么会出现这样的错误,这样做的原因是什么(Why?)为什么会产生这个问题呢,还需要从UUID谈起
    (UUID是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的。通常平台会提供生
    成UUID的API ),虚拟机同样会有一个UUID,而且这个UUID是唯一的。 虚拟机的UUID一般和虚拟机配置
    文件的位置和物理主机有关。当我们对一个虚拟机系统做移动操作的时候,我们不需要新建一个UUID。让
    我们复制一个虚拟机的时候我们应该选择建立一个新的UUID,来保证此虚拟机的唯一性而当我选择了I
    copied it的时候,VM自然会为我新建一个UUID,一些新的Linux版本是把以太网与Mac地址绑定,当新的
    UUID建立的时候,Mac地址就被改变了,但由于eth0设备所装载的配置与读取默认配置的Mac地址不一致
    。另外的解决方案:进入 /etc/sysconfigetwork 或者/etc/sysconfigetwork-scripts ,编辑eth0配置文件
    。比较在配置文件里面的Mac地址与输入ifconfig 输出的mac地址,如果两者不一致,统一为ifconfig输出的
    mac地址,然后重启sudo rm /etc/udev/rules.d/70-persistent-net.rules 能够成功的原因:该文件的内容:#
    This file was automatically generated by the /lib/udev/write_net_rules# program run by the
    persistent-net-generator.rules rules file.## You can modify it, as long as you keep each rule on a
    single line.# Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE] (rule written by anaconda)
    SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:d2:3f:2c",
    ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"# PCI device 0x1022:0x2000 (pcnet32)
    SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:87:43:18",
    ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"# PCI device 0x1022:0x2000 (pcnet32)
    SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:87:43:22",
    ATTR{type}=="1", KERNEL=="eth*", NAME="eth2"# PCI device 0x1022:0x2000 (pcnet32)
    SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:c8:3a:15",
    ATTR{type}=="1", KERNEL=="eth*", NAME="eth3"将这个/etc/udev/rules.d/70-persistent-net.rules
    删除,重启,网卡eth0成功启动,并重新生成/etc/udev/rules.d/70-persistent-net.rules文件
    VMWare克隆或复制Linux虚拟机后eth0找不到的解决方案现象描述:
    最近装了虚拟机系统是 Fedora,为了以后使用方便对虚拟机进行克隆或复制。当使用克隆后的虚拟机
    时发现原来在基本系统中的网 卡eth0到了新系统却没有了,使用ifconfig -a会发现只有eth1。因为基本系
    统的网络相关配置都是基于eth0的,eth1没有网络相关的 配置,此时要正常该虚拟机中的网络,只有添加
    eth1的网络配置,这样每次都要修改网卡配置在做多Linux系统测试的时候很不方便。更进一步,如果基于
    此克隆虚拟机继续克隆或复制新的虚拟机,网卡的标识每一次都会自动加1(第二次克隆会变成eth2),
    dmesg却显示内核只识别到网卡eth0。
    原因分析:
    很多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 0×1022:0×2000(pcnet32)SUBSYSTEM=="
    net",DRIVERS=="?*",ATTRS{address}=="00:0c:29:4c:46:01″,NAME="eth0″
    在我的Fedora 下修改/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″即可。
    另外一种方法是:把里面的内容都删除,然后重新启动,系统也会重新发现网卡硬件,重新产生该文
    件。
    ok!
    VMWare克隆或复制Linux虚拟机后无法上网的解决
    我拷贝了过来的Linux虚拟机无法上网,我用ifconfig命令查询了一下发现只有eth1和lo设备,没有eth0
    。于是我在Google上搜索了一下,找到了下面这篇文章
    (http://blog.chinaunix.net/u3/97076/showart_2015984.html)。《VMWare克隆或复制Linux虚拟机后
    eth0找不到的解决方案》现象描述:最近装了虚拟机系统是 fedora9,为了以后使用方便对虚拟机进行克
    隆或复制。当使用克隆后的虚拟机时发现原来在基本系统中的网卡eth0到了新系统却没有了,使用 ifconfig
    -a会发现只有eth1。因为基本系统的网络相关配置都是基于eth0的,eth1没有网络相关的配置,此时要正
    常该虚拟机中的网络,只有添加eth1的 网络配置,这样每次都要修改网卡配置在做多Linux系统测试的时候
    很不方便。更进一步,如果基于此克隆虚拟机继续克隆或复制新的虚拟机,网卡的标识每一 次都会自动加1
    (第二次克隆会变成eth2),dmesg却显示内核只识别到网卡eth0。原因分析:很多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"即可。另外一种方法是:把里面的内容都删除,然后重新启动,系统也会重新发现
    网卡硬件,重新产生该文件。这里补充一点:用下面命令来实现上述第二种方法也是一样的:cd
    /etc/udev/rules.dsudo rm *-net.rules //删除sudo reboot本人在用上述方法操作之后,再用ifconfig查看,
    确实找到了eth0设备,但没有ip地址。接下来用ifconfig命令设置ip地址,一些相关命令如下:ifconfig eth0
    192.168.0.10 将采用默认子网掩码ifconfig eth0 192.168.0.10 netmask 255.255.255.252 (手动定义子
    网掩码)(重启后无效)ifconfig eth0 down(停用网卡)ifconfig eth0 up(激活网卡)service network restart(重
    启网络服务)/etc/rc.d/init.detwork restart(同上)我用ifconfig eth0 192.168.0.10 netmask
    255.255.255.252 设置完ip,然后执行service network restart。系统提示:eth0已有的MAC地址和系统要
    设置的不符,设置MAC地址失败。因为网卡配置信息保存在/etc/sysconfigetwork-scripts/ifcfg-eth0配置
    文件中,所以就去看看它吧。文件的基本内容如下:DEVICE=eth0(哪张网卡)
    ONBOOT=yesBOOTPROTO=static(静态ip状态设置)BOOTPROTO=dhcp(dhcp获取)
    IPADDR=192.168.1.8(静态ip地址)NETMASK=255.255.255.0GATEWAY=192.168.1.1(网关)
    HWADDR=00:0C:29:96:38:F8(修改mac地址)(永久有效)我把文件的内容进行了删减,只留下
    DEVICE=eth0BOOTPROTO=dhcpHWADDR=00:0C:29:96:38:F8(修改为提示信息中指出的系统期望赋给
    eth0的MAC)ONBOOT=yes重启Linux后可以正常上网了。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-519598-1-1.html 上篇帖子: Install/Update DELL OMSA for VMware ESXi 下篇帖子: VMware Workstation8,9 出现安装脚本错误解决实例
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表