如何在 VirtualBox 中刷新生成的 vdi 映像

如何在 VirtualBox 中刷新生成的 vdi 映像

我使用脚本生成 VDI 硬盘映像。

由于我处于调整过程中,因此我经常重新生成它。

每次重新生成 VDI 时,VirtualBox 都无法再识别该磁盘,我必须将其删除,重新输入新文件并将其与我的 VM 关联:

$ VBoxManage startvm iso-debian

Waiting for VM "iso-debian" to power on...
VBoxManage: error: Could not open the medium '/path/to/myimage.vdi'.
VBoxManage: error: VD: error VERR_FILE_NOT_FOUND opening image file '/path/to/myimage.vdi' (VERR_FILE_NOT_FOUND)
VBoxManage: error: Details: code NS_ERROR_FAILURE (0x80004005), component MediumWrap, interface IMedium

该文件存在,但我推测它的 UUID 或某些元数据已发生改变,因此 VirtualBox 找不到它。

有没有更方便的方法(通过 VBoxManage)来告诉 VirtualBox 刷新其 VDI 数据库?

就像是:

$ VBoxManage update-vdi-metadata /path/to/myimage.vdi

或者我可以将其他内容放入 bash 脚本中以避免必须手动完成所有这些步骤。

答案1

因此感谢@Bodo 的评论,这里是解决方案:

从虚拟机中分离介质:

$ VBoxManage storageattach iso-debian --storagectl SATA --port 0 --type hdd --medium none

从 VirtualBox 中移除介质:

$ VBoxManage closemedium /path/to/image.vdi

再次附上图片:

$ VBoxManage storageattach iso-debian --storagectl SATA --port 0 --type hdd --medium /path/to/image.vdi

相关内容