Linux下移动virtualbox虚拟硬盘丢失eth0

来源:互联网 发布:vb精简版6.0怎么安装 编辑:程序博客网 时间:2024/05/06 06:28
1.遇到什么的问题(What)
      在新的virtualbox虚拟机上挂上曾使用过的虚拟硬盘,在启动的时候,发现找不到网卡eth0,
在输入ifconfig –a的时候,也没有任何Ethnet的信息,而输入eth0 down 的时候,提示我no device found(设备没法找到),我检查了VMware的EtherNET配置的时候,仍旧是NAT网络设置,和我原来的一样
    
    
2.怎样解决(How)

    回想了在启动virtualbox的时候,系统提示我的Ubuntu文件被移动(位置被改变了),让我确认是moved还是copy的,我当时候选择了默认的(copy)

里面提到了多种解决方案,我最终是选择了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/sysconfig/network 或者/etc/sysconfig/network-scripts ,编辑eth0配置文件。比较在配置文件里面的Mac地址与输入ifconfig 输出的mac地址,如果两者不一致,统一为ifconfig输出的mac地址,然后重启

sudo rm /etc/udev/rules.d/70-persistent-net.rules能够成功的原因:
该文件的内容:

  1. # This file was automatically generated by the/lib/udev/write_net_rules
  2. # program,run by the persistent-net-generator.rules rules file.
  3. #
  4. # You can modify it,as long as you keepeachruleona single
  5. # line,andchange only the value of the NAME=key.
  6. # PCI device 0x1022:0x2000(pcnet32)
  7. SUBSYSTEM=="net",ACTION=="add",DRIVERS=="?*",ATTR{address}=="08:00:27:ae:14:85",ATTR{type}=="1",KERNEL=="eth*",NAME="eth0"
  8. # PCI device 0x1022:0x2000(pcnet32)
  9. SUBSYSTEM=="net",ACTION=="add",DRIVERS=="?*",ATTR{address}=="08:00:27:b7:46:db",ATTR{type}=="1",KERNEL=="eth*",NAME="eth1"
  10. # PCI device 0x1022:0x2000(pcnet32)
  11. SUBSYSTEM=="net",ACTION=="add",DRIVERS=="?*",ATTR{address}=="08:00:27:be:69:6a",ATTR{type}=="1",KERNEL=="eth*",NAME="eth2"
  12. # PCI device 0x1022:0x2000(pcnet32)
  13. SUBSYSTEM=="net",ACTION=="add",DRIVERS=="?*",ATTR{address}=="08:00:27:87:12:a0",ATTR{type}=="1",KERNEL=="eth*",NAME="eth3"


    将这个/etc/udev/rules.d/70-persistent-net.rules删除,重启,网卡eth0成功启动,并重新生成/etc/udev/rules.d/70-persistent-net.rules文件

转载于:http://hi.baidu.com/yss1983/item/1a5fadb8c098f8eb4ec7fd65   博文作者: 书生意气

0 0