文档章节

linux virtualbox更换virtualbox vms目录位置

吾爱
 吾爱
发布于 2016/10/12 11:19
字数 615
阅读 462
收藏 1

今天服务器报错,上去一看 ,根分区满了,由于根分区只划分了50g,而virtualbox默认把虚拟机文件保存在 ~/Virtualbox VMS/ 目录下,导致该问题。

幸好目前虚拟机数量不是很多 ,暂时关闭所有虚拟机,然后开始想办法转移。

首先,为了尽快恢复服务,我先把 virtualbox vms 移动到另外一个大容量磁盘分区

move ~/Virtualbox\ VMS  /storage1/

然后在原位置建立软连接

ln -s /sotrage1/Virtualbox\ VMS ~/Virtualbox\ VMS

然后赶紧重新启动各虚拟机吧。

如果没有什么追求,到这里问题其实也已经解决了,但我想改变虚拟机配置,让它真实指向 /storage1/Virtualbox\ VMS

首先查找手册,发现有一个命令

VBoxManage setproperty machinefolder  /sotrage1/Virtualbox\ VMS

这样可以改变默认设置,我想当创建新的虚拟机时,就会采用新的目录。

但是这样并不会影响旧的虚拟机,蛋疼。

继续找资料,在官方论坛上找到一个帖子,按照说明,找到这两个文件

~/.config/VirtualBox/VirtualBox.xml
~/.config/VirtualBox/VirtualBox.xml-prev

关于各虚拟机位置的位置就在 <MachineRegistry> 段里,就像:

<MachineEntry uuid="{6e59a994-d6b9-4248-a3ed-b0c858496651}" src="/storage/VirtualBox VMs/vm2-master/vm2-master.vbox"/>

更改src配置就行了

要使得配置生效,你必须先关闭所有虚拟机,这个是因为有一个后台服务进程 VBOXSVC 一直在运行,只要有虚拟机在运行,它就存在,只有关闭所有虚拟机,它才会退出,当再启动虚拟机时,它又会自动启动并读取新的配置信息.

重启一个虚拟机,然后使用 VBoxManage showvminfo 看一下,发现基本上所有路径都已经指向了新的位置,但如果你之前外挂过虚拟磁盘,那么会发现磁盘的位置还是指向到 ~/Virtualbox VMS

到这里真有点累觉不爱啊,劳资想改个位置有那么难么。

首先,我要看下目前有哪些虚拟磁盘

VBoxManage list hdds

找到 Parent uuid:base 的那个存储,进入 location 对应的目录,在该目录下又 .vbox.vbox-prev 结尾的文件,依次打开他们并修改:

里面 <HardDisks> 定义了所有的hdd路径,修改location字段即可,指向新的 virtualbox vms 目录。

最后关闭或挂起所有虚拟机,再依次启动虚拟机即可。

© 著作权归作者所有

共有 人打赏支持
吾爱
粉丝 143
博文 271
码字总数 91680
作品 0
后端工程师
私信 提问
redhat安装virtualbox详情

1、下载virtualbox安装包 [root@master virtualbox-tool-ref]# wget http://download.virtualbox.org/virtualbox/4.3.20/VirtualBox-4.3-4.3.20_96996_el6-1.x86_64.rpm 2、安装virtualbox ......

hiqj
2015/01/19
0
0
VirtualBox 5.2.8 发布,支持 Linux kernel 4.15

VirtualBox 5.2.8 已发布。VirtualBox 是甲骨文(Oracle)公司推出的跨平台开源虚拟化软件,支持 GNU/Linux,Windows、macOS 和 Solaris 等各种系统。 该版本支持最新的 Linux kernel 4.15,...

王练
2018/03/02
1K
2
vagrant import虚拟机失败

我用vagrant1.7.4配置Linux虚拟机在Win10上,provision是Virtualbox 5.0.4,加载虚拟机时,terminal提示错误如下: vagrant up Bringing machine 'default' up with 'virtualbox' provider.......

yangkf
2015/09/26
805
0
在RHEL/CentOS 6.4/5.9和Fedora 18-12上安装VirtualBox ...

VirtualBox是一个开源的,跨平台的虚拟化软件,可以安装到任何操作系统上并且能使你在一个计算机上同时安装和运行多个操作系统。例如,如果你在Linux系统下安装它,你将可以以来宾用户在Lin...

悠悠客
2013/05/12
0
1
VirtualBox 2.2.0 正式版发布

VirtualBox 2.2.0 是 VirtualBox 的主要升级版本,该版本在修正了不少的bug外还增加了如下几个新的功能: OVF (Open Virtualization Format) appliance import and export Host-only network...

红薯
2009/04/09
425
0

没有更多内容

加载失败,请刷新页面

加载更多

输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。

import java.util.Stack; public class Solution { public boolean IsPopOrder(int [] pushA,int [] popA) { if(pushA.length==0||popA.length==0) return false; Stack......

南桥北木
11分钟前
0
0
互联网浪潮下,Java程序员如何追赶技术革新的脚步?

一:时代背景 身处互联网行业的我们一直处在变革的最前端,受到行业发展浪潮的洗礼,不停歇地追赶着技术革新的脚步。特别是近几年来, 互联网架构不断演化,经历了从集中式架构到分布式架构,...

老道士
19分钟前
0
0
flink系列(9)-flink启动流程分析

连续写了几天的flink StreamGraph的代码,今天闲来说一下flink的启动

yiduwangkai
32分钟前
0
0
取变量的地址赋值给另一个变量,C通过,C++编译出错

取变量的地址赋值给另一个变量,C通过。正常运行,C++编译出错。 代码如下: #include <stdio.h>int main(int argc, char *argv[]){int x = 3;int *p = &x;int y = p;/*c ...

SamXIAO
今天
1
0
利用隐写术实施攻击

尽管隐写术是一种低频攻击途径,但网络犯罪分子已经开始利用它结合社交媒体的普遍性和快速传播性来传递恶意有效负载。 低调但有效的隐写技术虽然是旧把戏,但将代码隐藏在看似正常的图像中,...

Linux就该这么学
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部