将驻留在原始(物理)磁盘上的虚拟机迁移到虚拟磁盘映像

将驻留在原始(物理)磁盘上的虚拟机迁移到虚拟磁盘映像

我有一台虚拟机(guest=linux,host=windows),它是从由 创建的物理磁盘运行的VBoxManage internalcommands createrawvmdk

我即将用尽该 SSD 上的最大空间,因此我想将其全部迁移到一个新的、更大的空间中,同时将其移动到虚拟磁盘映像中 - 可能还为了让我可以开始创建快照。

无需重新安装客户操作系统(无需创建新的虚拟机)可以实现这一点吗?

否则,我必须创建一个新的,安装操作系统,从旧 SSD 中 rsync 内容,然后在新 SSD 中“重新安装”所有内容。这并不多,因为我经常使用 Docker,这使得手动迁移变得容易,但也有非 Dockerized DB 需要手动迁移,我真的想避免这种情况。或者你会因为某些非常具体的原因建议创建一个新的 VM?

答案1

涉及两个步骤。

1)复制数据

创建虚拟映像很容易。关闭虚拟机,然后在 VirtualBox Manager 中打开File->Virtual Media Manager并单击Copy。选择您的硬盘 (*.vmdk) 并开始克隆/复制过程。我选择 VMDK 作为目标格式。我还创建了一个 VDI,但 VMDK 速度更快。

然后转到Settings虚拟机 ->StorageController: SATA选择要替换的硬盘。有一个图标可以单击,然后您可以导航到新创建的文件。

OK并启动虚拟机,您现在就可以从该文件运行。

2)调整分区和文件系统的大小,请参阅以下问答:

当 /dev/sda 已经较大时,调整 VirtualBox VMDK 中 Ubuntu /dev/sda1 分区的大小

相关内容