如果您的主机是Windows,或者您可以从Windows访问VHD文件,那么可以将所有更改合并到父级,祖父级等中。
它使用的是DiskPart工具和两个命令:
select vdisk file="whatever your file is, with full path"
merge vdisk depth=#
其中#是要移动的层次结构级别数,1表示dirent parent,2表示grand parent,等等。
它就地完成,比克隆等耗时少得多。
请记住,在合并之后,可以删除所有中间VHD(它不会为您删除它们)并且不要忘记将您合并的父级附加到VirtualBox中。
例:
Disk3.vhd是Disk2.vhd的子项,Disk2.vhd是Disk1.vhd的子项
如果你想在Disk1.vhd上更改Disk3.vhd的所有更改,只需使用depth=2
并选择Disk3.vhd。如果你想在Disk1.vhd上更改Disk2.vhd的所有更改,只需使用depth=1
select Disk3.vhd。
另外请记住,不需要丑陋的VirtualBox快照,您可以使用DiskPart create vdisk命令从现有磁盘创建差异磁盘(也可以是差异磁盘等),也可以创建一个巨大的树。
对于所有其他:海报使用的是VHD(不是VDI),因此可以使用DiskPart和Disk Managment等本机工具访问Guest中的磁盘(如果主机是Windows,则在主机上)。
对你来说,海报:记住总是在Merge之前有一个完整的BackUp,VirtualBox克隆不起作用,它创建一个新文件(写入时复制),但DiskPart合并到位(修改文件,不要创建)一个新的)。
希望自VHD / VHDX正在使用以来可以提供另一种不同的方法(对VMDK,VDI等无效,仅适用于Windows Host)。
注意:Windows 7和Up,XP和Vista可以使用外部M $工具安装VHD,但DiskPart在XP和Vista上没有VHD支持...所有这些也适用于Windows HOME版本(7和Up),不需要服务器版。