我有一台虚拟机(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
虚拟机 ->Storage
并Controller: SATA
选择要替换的硬盘。有一个图标可以单击,然后您可以导航到新创建的文件。
OK
并启动虚拟机,您现在就可以从该文件运行。
2)调整分区和文件系统的大小,请参阅以下问答:
当 /dev/sda 已经较大时,调整 VirtualBox VMDK 中 Ubuntu /dev/sda1 分区的大小