如果你想修改Oracle VM VirtualBox虚拟磁盘的位置,以前最直接的把法就是把这个文件拷贝到别的地方。
但是不知从哪个版本开始,会提示错误,因为Oracle VM VirtualBox识别虚拟磁盘文件VDI采用了uuid识别技术。
如果复制一个VDI文件,再以此为介质重新重新创建一个虚拟机,如提示:

打开虚拟盘文件F:\VMSpace\xp01\xp01.vdi 失败.
Cannot register the hard disk 'F:\VMSpace\xp01\xp01.vdi'
{f230a274-d1d4-44db-a25b-5469ae772a28} because a hard disk
'E:\VMSpace\xp01\xp01.vdi' with UUID {f230a274-d1d4-44db-a25b-5469ae772a28}
already exists.
返回 代码: E_INVALIDARG (0x80070057)
组件: VirtualBoxWrap
界面: IVirtualBox {9570b9d5-f1a1-448a-10c5-e12f5285adad}
被召者 RC: VBOX_E_OBJECT_NOT_FOUND (0x80BB0001)
网上找了一些看了看,都是让去修改VDI文件的UUID,手动操作,感觉好麻烦。
那么既然VirtualBox不让你这么干,那自然有他的道理,该如何操作呢?其实VirtualBox提供了虚拟磁盘的管理方式,如图:


虚拟磁盘和磁盘的备份都可以从这里管理,你可以再这里修改虚拟磁盘的位置。
VirtualBox使用现有的虚拟盘文件创建虚拟机时,报错:打开虚拟硬盘失败,“UUID already exist”的解决方法
解决VirtualBox移动或复制虚拟磁盘文件后打开错误的问题
结束