如何复制virtualbox虚拟硬盘容量(转载)

收藏于 2013-03-31

迁移自本人的百度空间

--------------------------------

转载自 http://bbs.7boo.org/forum.php?mod=viewthread&tid=13924

VirtualBox在创建虚拟磁盘时可以选择动态扩展和固定大小两种方式,然后设定磁盘空间大小。

其中 动态扩展 类型最初只需占用非常小的物理硬盘空间。然后不断增加(最大到当前指定的大小),具体大小根据虚拟电脑的实际需求动态分配。

其中 固定大小 类型一旦建立就需分配指定大小的物理磁盘空间给该虚拟硬盘使用,性能上有一定优势。建立这种类型的虚拟硬盘需花费较多的时间.

当动态扩展方式达到上限时,怎么办呢?目前VirtualBox没有提供修改动态扩展磁盘大小的方式。只能新建一块更大的虚拟磁盘,然后将原来的复制到新磁盘里去。具体到如何复制,可以在宿主机上操作,也可以在虚拟机里操作。

在虚拟机里操作,就要将这两块虚拟盘都挂载上,再挂载一个系统,通过这个系统将旧盘复制到新盘。这个系统可以是Linux Live CD,也可以是Linux系统,亦可以是Windows PE。

进入Linux系统的话,使用gparted进行磁盘复制。

使用Windows PE 进入Windows,用Ghost进行disk to disk 复制。

这两种方式都比较麻烦,在宿主机上操作就简单的多,可以直接使用VirtualBox提供的命令行工具vboxmanage进行磁盘克隆。

假设一开始创建的新的虚拟磁盘名称为windowsxp,使用clonehd子命令将原先的虚拟磁盘文件复制到新的虚拟磁盘文件里去,注意existing参数表示复制到一个已存在的虚拟磁盘而不是新建:

$ cd ~/.VirtualBox/HardDisks
$ vboxmanage clonehd /media/amoblin1/windowsxpsp2.vdi windowsxp.vdi --existing
Oracle VM VirtualBox Command Line Management Interface Version 3.2.8_OSE
(C) 2005-2010 Oracle Corporation
All rights reserved.
  
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Clone hard disk created in format 'VDI'. UUID: cd2f1f19-9361-492c-a9f2-4917d8b92ea6

注意这里的参数是虚拟磁盘磁盘文件的路径,默认创建的虚拟磁盘文件存放在用户主目录下.VirtualBox/HardDisks目录下,如果使用此目录下的磁盘文件,可以省略前面的路径名。当然也可以使用UUID。

执行上述操作前必须保证任何一个虚拟磁盘都不在运行状态或休眠状态,否则会出现类似下面的错误:

ERROR: Failed to lock source media '/home/amoblin/.VirtualBox/HardDisks/windowsxp.vdi'
Details: code VBOX_E_INVALID_OBJECT_STATE (0x80bb0007), component Medium, interface IMedium, callee nsISupports
Context: "CloneTo(dstDisk, DiskVariant, NULL, progress.asOutParam())" at line 693 of file VBoxManageDisk.cpp

好了,现在挂载新的虚拟磁盘启动。如果是Windows的话,在我的电脑里,右键属性可以看到多出来了未指派空间。这说明更改成功。

但这些空间还“未指派”,接下来通过分区管理工具来扩展一下磁盘大小就可以了。

比如使用Linux Live USB启动,进入Live Linux系统,用Gparted来resize磁盘大小。

vboxmanage是一个很有用的工具,使用它还可以对vdi文件进行压缩。

$ vboxmanage modifyhd windowsxp.vdi --compact

同一个vb软件里不可直接复制vdi文件再次使用,若要将vdi文件复制重用:

$ vboxmanage clonehd old.vdi new.vdi

注意:老版本的VB使用clonevdi参数,新版本改用clonehd。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值