[转帖]如何复制已安装好系统的VDI文件作为新的Guest系统磁盘使用?

Kvm、VMware、Virtualbox、Xen、Qemu 等
回复
头像
冲浪板
论坛版主
帖子: 7513
注册时间: 2007-05-06 8:19

[转帖]如何复制已安装好系统的VDI文件作为新的Guest系统磁盘使用?

#1

帖子 冲浪板 » 2008-06-12 19:39

今天使用VirtualBox时遇到一个问题,我希望复制一个原来安装好XP的VDI文件,并用它来当作新VM的系统磁盘。
但当我通过Virtual Disk Manager添加新虚拟磁盘时,VirtualBox提示了这样的错误信息:

A hard disk with UUID {966f9f2d-f670-42ca-8ac1-245b3d424339} or with the same properties ('D:\virtualbox\vb_winxp\winxp.vdi') is already registered.

显然,VirtualBox的VDI文件有唯一的UUID,而且VirtualBox不允许加载相同UUID的虚拟磁盘,但是VirtualBox又不提供便捷的UUID修改方案。
我尝试了不少方法,都无法解决这个问题,于是我去了VirtualBox的官方论坛,想看看是否有这个问题的解决方案。
果不其然,有位welsey遇到了同样的问题( how to make a copy of .VDI image? ),帖子中有人给出了解决方案,我测试后确认这个方法是可行的。


我总结一下这个问题的解决方法吧:

1、要想复制一个VDI再次使用,必须通过VboxManager命令实现,语法是

vboxmanager clonevdi <source_vdi> <destination_vdi>

2、VirtualBox并没有提供这个功能的GUI方式,另外,VboxManager命令有不少增强功能,可以参考UserGuide。

查看VDI文件信息 vboxmanager showvdiinfo <vdi_file>
压缩VDI文件体积 vboxmanager modifyvdi <uuid | vdi_file> compact

btw:不知道这个VboxManager哪里来,呵呵
hwhohwh
帖子: 26
注册时间: 2007-10-12 19:26

Re: [转帖]如何复制已安装好系统的VDI文件作为新的Guest系统磁盘使用?

#2

帖子 hwhohwh » 2008-06-16 21:39

冲浪板 写了:今天使用VirtualBox时遇到一个问题,我希望复制一个原来安装好XP的VDI文件,并用它来当作新VM的系统磁盘。
但当我通过Virtual Disk Manager添加新虚拟磁盘时,VirtualBox提示了这样的错误信息:

A hard disk with UUID {966f9f2d-f670-42ca-8ac1-245b3d424339} or with the same properties ('D:\virtualbox\vb_winxp\winxp.vdi') is already registered.

显然,VirtualBox的VDI文件有唯一的UUID,而且VirtualBox不允许加载相同UUID的虚拟磁盘,但是VirtualBox又不提供便捷的UUID修改方案。
我尝试了不少方法,都无法解决这个问题,于是我去了VirtualBox的官方论坛,想看看是否有这个问题的解决方案。
果不其然,有位welsey遇到了同样的问题( how to make a copy of .VDI image? ),帖子中有人给出了解决方案,我测试后确认这个方法是可行的。


我总结一下这个问题的解决方法吧:

1、要想复制一个VDI再次使用,必须通过VboxManager命令实现,语法是

vboxmanager clonevdi <source_vdi> <destination_vdi>

2、VirtualBox并没有提供这个功能的GUI方式,另外,VboxManager命令有不少增强功能,可以参考UserGuide。

查看VDI文件信息 vboxmanager showvdiinfo <vdi_file>
压缩VDI文件体积 vboxmanager modifyvdi <uuid | vdi_file> compact

btw:不知道这个VboxManager哪里来,呵呵
那我把你的方法发扬光大吧:其实这个命令行工具一般会随你安装vbox时一起安装的,不过好像名字有点不一样,你试试这个:

代码: 全选

VBoxManage clonevdi <source_vdi> <destination_vdi>
VBoxManage showvdiinfo <vdi_file>
VBoxManage  modifyvdi <uuid | vdi_file> compact
请注意大小写!
头像
冲浪板
论坛版主
帖子: 7513
注册时间: 2007-05-06 8:19

#3

帖子 冲浪板 » 2008-06-17 10:43

还有一点,若我在一机器上设置的虚拟机,可以不可以(方便的)导到另一机器上去?
看着是不成,因为菜单里没那项(虽然有文章说可以选存在的)。

不知道cp了可以不可以,若可以,菜单里就该有(导入)这功能哦。
头像
冲浪板
论坛版主
帖子: 7513
注册时间: 2007-05-06 8:19

#4

帖子 冲浪板 » 2008-06-17 10:53

这个
VBoxManage clonevdi <source_vdi> <destination_vdi>
是怎么用啊,是在old机上做还是在new机上?
若vdi有2G,那么我要用4G的空间来做这个?
另俩个命令是做甚的啊,要是能modifyvdi,cp一个然后modifyvdi,如何?
sheji
帖子: 431
注册时间: 2008-04-30 21:40

#5

帖子 sheji » 2008-06-17 11:44

复制来复制去,还要修改。。。用得着这么麻烦吗?

不管是何种虚拟机,你多挂一个分区盘、或者硬盘、或者U盘等等在你的虚拟机里,ghost一下你的虚拟系统不就成了?然后拿到任何类型的虚拟机中再挂上这个盘,ghost一下回去,不知道多方便。
sheji
帖子: 431
注册时间: 2008-04-30 21:40

#6

帖子 sheji » 2008-06-17 11:46

补:
不同的虚拟机,因为模仿硬件设备不同,ghost后,驱动方面还是要卸载、安装的。
头像
冲浪板
论坛版主
帖子: 7513
注册时间: 2007-05-06 8:19

#7

帖子 冲浪板 » 2008-06-17 13:33

抄袭害死人!
根本就没啥劳神子vboxmanager,明明是VBoxManage啊!谢谢2楼

我的做法:
在同一机器,把7.04那边的"配置文件"打包(否则有文件权限问题吧)-tar一下;然后在8.04这边展开覆盖配置文件,这个virtualbox是VIRTUALBOX_1.5.6-28266_UBUNTU_HARDY_I386.DEB的。启动后重新“注册”,原来设置装好的的虚拟机、虚拟盘一切ok,都出来啦!

不知道换了机器还灵不灵。

现在就是没鼠标,除非关闭compiz 3D特技。
sheji
帖子: 431
注册时间: 2008-04-30 21:40

#8

帖子 sheji » 2008-06-17 14:15

只要虚拟机平台一样,拷到哪台电脑上都能正常运行。

看来这个VBOX本身版本间兼容性不太好,才搞出这多事来。VM就没问题,我Windows版VM下的win系统,直接拷到ubuntu版的VM下直接可用。
头像
冲浪板
论坛版主
帖子: 7513
注册时间: 2007-05-06 8:19

#9

帖子 冲浪板 » 2008-07-28 22:03

技巧就是用ln
比如我原来是:media/f_win/vm/xp.vdi
但是这机器没f:,那么用media/e_win/vm/xp.vdi的话,它不让,那么ln -s media/f_win/ media/f_win/就ok啦。

那么想当初,还不如弄个~/vm->目标呢,还可以方便的换。

事实证明无效
因为连接了后,最后的信息不是这个连接文件;
有效的是清理光备份,把盘和机器分离,然后重新注册盘;或者建立以当初注册名为名的连接文件;

或者先建立*.vdi于~,然后建立连接文件,可是~没那么大的啊。

注,咱的vdi是在windows分区的。
sooxwq
帖子: 1
注册时间: 2008-08-28 14:43

#10

帖子 sooxwq » 2008-08-28 14:46

使用VBOXMANAGE内部命令直接修改UUID VboxManage internalcommands setvdiuuid <file>


如下图
附件
2008-08-28 02-41.png
2008-08-28 02-41.png (5.02 KiB) 查看 2367 次
头像
冲浪板
论坛版主
帖子: 7513
注册时间: 2007-05-06 8:19

#11

帖子 冲浪板 » 2008-08-29 16:32

我是直接的修改了*.xml,呵呵,
不知道有什么负作用。

其实能导入导出一个虚拟机是很有用的。我现在是要么不导,要么全部cp。
回复