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

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   博文作者: 书生意气

时间: 2024-09-30 01:59:31

[转] Linux下移动virtualbox虚拟硬盘丢失eth0的相关文章

Ubuntu 16.04下减小VirtualBox虚拟硬盘文件的大小

一般在VirtualBox中安装Windows,然后用无缝模式进行某些特定软件的使用. 而VirtualBox的虚拟硬盘会越用越大,并且VirtualBox没有自带清理工具,相比VMware来说,VMware自带磁盘整理工具. 下面是具体的清理方法: 1.如果虚拟机使用的系统为Windows: ①进入虚拟机,下载SDelete,下载地址:http://technet.microsoft.com/en-us/sysinternals/bb897443.aspx. ②在命令行上运行 sdelete.

减小VirtualBox虚拟硬盘文件的大小

虚拟机使用久了就会发现虚拟硬盘越来越大,但是进入虚拟机里的系统用命令看了下,实际占用的空间远没有虚拟硬盘大小那么大,这个让人很不爽,而且在分享虚拟机镜像的时候也很不方便.VirtualBox似乎没有提供图形界面的方式可以让我们来压缩虚拟硬盘大小,但是可以通过命令行来实现.经过实际测试,我的一个30多G的虚拟硬盘可以压缩到13G大小,可见效果还是非常显著的,这个可以压缩的空间取决于你虚拟机内真实的空间占用大小. VirtualBox 虚拟硬盘 目录[-] 1. 碎片整理 2. 压缩磁盘 Virtu

Linux下使用VirtualBox安装Windows系统

(文档比较长,只是写的详细,实际操作起来相对简单.) 由于一些特殊原因,我们并不能完全抛下Windows而使用Linux.VirtualBox 是一款虚拟机软件,支持多系统.在Linux下安装 VirtualBox 后,我们就可以安装Windows系统,并使用Windows下的软件了. 1.下载首先需要下载 VirtualBox,下载地址:http://www.virtualbox.org/wiki/Downloads点击 VirtualBox 3.2.8 for Linux hosts,跳转到

Linux下手动备份还原硬盘主引导记录MBR跟硬盘分区表DPT教程

Linux下手动备份还原硬盘主引导记录MBR跟硬盘分区表DPT教程 二 18 奶牛 Linux, Ubuntu, Windows 1,885 views查看评论 最近奶牛一直在折腾linux下的grub跟grub2,因为前阵子用ghost恢复windows的时候出现错误,导致分区表被破坏,无法进入系统.今天给大家介绍下如何备份跟还原我们的硬盘主引导扇区.首先我来介绍下这个硬盘主引导扇区,因为对于这个主引导记录MBR跟这个硬盘分区表DPT的关系,可能有的朋友还不是那么清晰. 硬盘主引导扇区(硬盘的

linux下nginx实现虚拟主机(3种方法:基于域名、基于端口、基于ip地址)

在3.17日的时候已经写过一篇关于apahce的基于域名.端口.ip地址3种方式的虚拟主机实现.原理是一样的,现在记录nginx的虚拟主机这三种方式的实现. 系统版本为rhel5.6,nginx版本为1.1.6. 1.基于域名: 基于域名的方式,要先有dns服务器,这里为了方便,可以在/etc/hosts文件里面配置,把它当成dns就行了,可以参考3.17日那篇博客关于dns的配置或者其他博文也有.这里关于nginx的安装也略去. [[email protected] ~]# cat /etc/

linux下apache https 虚拟主机配置

如果单纯只想在传输数据时加密传输,那么ssl证书是不需要认证的,但是浏览器打开时会有警告信息.假设我们做的不是一个公众产品那么也还好啦. 如下是今天学习时的一个笔记,其实我用的是真实环境. 环境:CentOS 64, 32bit:Apache 2.2.15: 1.检查apache是否安装了mod_ssl.so模块. 检查方法是查看是否在modules(/etc/httpd/modules/)下存在.不存在那么安装(yum -y install mod_ssl). 2.生成证书和密钥 1)生成密钥

linux下c通过虚拟地址映射读写文件的代码

在代码过程中中,把开发过程中比较好的一些代码片段记录起来,如下的代码内容是关于 linux下c通过虚拟地址映射读写文件的代码,应该对小伙伴有些好处.#include<stdio.h>#include<stdlib.h>#include<unistd.h>#include<fcntl.h>#include<sys/stat.h>#include<string.h>#include<sys/mman.h>struct stu{

linux下Apache服务器配置虚拟域名

在看laravel的某一个入门教程的时候,作者写道: 将网站根目录配置为 learnlaravel5/public. 本身而言,linux下Apache的根目录设置为/var/www/html,而laravel设置的访问目录是learnlaravel5/public.直接放在根目录下面,则访问打时候需要输入一长串,太麻烦.所以想着也配置下,跟作者似的,输入个www.nine.com也能访问. 1. 修改httpd.conf 可以直接在Apache配置文件的结尾添加如下代码,给Apache添加虚拟

Linux 下挂在ntfs 硬盘

CentOS 7 下想要挂载NTFS的文件系统该怎么办呢? 我们需要一个NTFS-3G工具,并编译它之后在mount就可以了,就这么简单. 首先要进入官网下载NTFS-3G工具 http://www.tuxera.com/community/ntfs-3g-download/ 1.下载之后进行解压 wget http://tuxera.com/opensource/ntfs-3g_ntfsprogs-2014.2.15.tgz tar  -xvf  ntfs-3g_ntfsprogs-2014.