令人困惑的问题
最新版本的VirtualBox支持多种格式的虚拟磁盘,几个主要格式列举如下:
- VDI
- VMDK
- VHD
- HDD
但是我不太清楚这些格式之间的区别。期望能从以下方面对上述格式做个对比:
- 能够使用动态大小调整
- 可以做快照
- 能够以较小代价将我的虚拟机移动到另一个操作系统或者虚拟机。最好能在ubuntu上正常运行。
- 性能
对上面问题比较好的分析
VirtualBox完全支持VDI,VMDK和VHD,并且支持Parallels Version 2(HDD)。
对于问题中最关心的几点,说明如下:
- 能够使用动态大小调整
VDI,VMDK和VHD都支持动态调整大小。 其中,VMDK具有将存储的文件分割为少于2 GB文件的附加功能,如果文件系统的文件大小限制较小,那么这个功能非常有用。
- 能够做快照
上述四种格式都支持在VirtualBox上做快照。
- 能够以较小代价将我的虚拟机移动到另一个操作系统或者虚拟机。最好能在ubuntu上正常运行。
VDI是VirtualBox的基本且独有的格式。目前应该还没有支持这种格式的其他软件。
VMDK是专门为VMWare开发,但其他虚机像Sun xVM,QEMU,VirtualBox,SUSE Studio和.NET DiscUtils也都支持这种格式。 (这种格式应该是最适合题主的,因为您希望在Ubuntu上正常运行虚拟机软件。)
VHD是Microsoft Virtual PC的基本格式。这是在Microsoft产品系中受欢迎的格式。
关于HDD,从这个站点来看,Parallels是Mac OS X产品,可能不太适合您,特别是考虑到VirtualBox仅支持旧版本的HDD格式。
- 性能
通常格式不会影响性能,或者说至少对性能影响可以忽略不计。
补充一下,实际上,影响性能的因素主要有:
- 物理设备限制(磁盘或固态硬盘?)
- 扩展动态分配的虚拟机磁盘的过程会影响性能,比如说写入操作随着虚拟磁盘扩展而变慢,但一旦它足够大,扩展的影响应该会减少)
- 采用哪种虚拟化技术,看是硬件 还是 软件,硬件虚拟化技术有助于VirtualBox提高虚拟操作系统的速度)
- 由于是虚拟化过程,性能总是比在主机上直接运行操作系统要慢。
另外一种思路的分析
我通常使用VDI,因为它是VirtualBox的基本(native)格式;然而,使用VMDK(VMWare格式)可以增加与其他虚拟机软件的兼容性。
VirtualBox在Ubuntu上运行良好,所以如果目标是Windows /Ubuntu的互操作性,VDI将是一个很棒的选择。
两种格式都可以满足题主的要求。
另外两个,其中VHD是微软系的格式,而HDD是苹果系的格式,这些都对跨平台有限制,所以,不太推荐。
关于虚拟机迁移的补充回答
关于虚拟机迁移,更通用的做法可能是使用VirtualBox文件/导出功能,创建一个“开放的虚拟化设备”.ova文件,然后可以导入到VMware。通过这种方法,您可以将虚拟机移植到支持.ova的任何虚拟化系统,而无需关心您在VirtualBox中使用哪种磁盘映像格式。
如果您需要定期从相同的VM导出,比如要每一天做一遍,这可能比较麻烦。但是,如果你只是偶尔移动到不同的技术,这应该是不错的选择。
如果您已经有一个.vdi文件,您可以试试这个是否有效,而无需创建新的虚拟机:将其导出为.ova,然后尝试使用vmware进行导入。
本文由ubuntuer整理自
- What disk image should I use with VirtualBox, VDI, VMDK, VHD or HDD?
- https://www.howtogeek.com/125640/how-to-convert-virtual-machines-between-virtualbox-and-vmware/