前段时间在virtual box上装了centos系统,因为之前用的虚拟机都是用VMware装的,所以不太熟悉,直接使用了系统默认的虚拟硬盘位置即系统盘。用了差不多一个月后发现悲剧了,我的系统盘空间严重不足,于是就想着把虚拟硬盘换个位置。

        在网上搜了下,其实方法也很简单,在设置里找到当前虚拟硬盘的存储位置,如图

虚拟化的磁盘寻址_virtual box

然后把vdi文件复制到你想要存储的硬盘里,之后移除当前的虚拟机系统,并新建一个新的虚拟系统,在选择虚拟硬盘的时候使用已有的虚拟硬盘文件,点击创建就ok了。(如果不移除之前的虚拟机系统的话会提示一个id冲突)。

        启动虚拟机系统这时候就能够使用了,里面的内容和之前是一致的。但是奇怪的是我发现不能上网了,查看ip的配置也都是之前的,使用命令service network restart重启网络服务提示错误:

Device eth0 does not seem to be present,delaying initialization.

好像是因为换了虚拟系统之后虚拟网卡变了,于是mac地址也变了,但是ifcfg-eth0配置文件里存的还是之前的mac地址,而且系统文件/etc/udev/rules.d/70-persistent-net.rules绑定了网卡与mac地址的映射,这时候有两种做法,1.按照70-persistent-net.rules文件里的内容更改ifcfg-eth0配置文件里的mac地址(使用eth1)。2.直接把70-persistent-net.rules文件删了,ifcfg-eth0配置文件里的mac地址也删了。重启网络服务,这时候就提示服务启动成功了。

        我使用的第二张方法,结果悲剧的还是不能上网,检查配置什么的都没发现什么问题,折腾了很久,最终还是实验了一种virtual box网络配置方式才能联网的,怀疑是不是我使用第二种方法的原因(重用了eth0)。具体方法如下:

如下图设置virtual box网络连接

虚拟化的磁盘寻址_网卡_02

然后在虚拟系统中执行命令dhclient eth0,重启网络服务,发现能上网了,能上网了……