Veja como resolvi meu problema.
Primeiro eu desfiz a alteração do UUID no meu arquivo VDI de base usando o script jordoncm
Então, tentei simplesmente alterar os caminhos no arquivo vbox para corresponder ao novo local. Isso não funcionou porque vários erros diferentes apareceram e eu nem consegui adicionar a VM usando o arquivo vbox.
Então, encontrei este artigo do blog de Peter Porter que sugeriu:
as each .vdi contains only those sectors changed from the last .vdi, copying the .vdi’s in chronological order should net us a .vdi containing a full copy of all prior snapshots.
...
Use the “VBoxManage clonehd” command to create a new .vdi file based on your original, then add in each subsequent file using the “–existing” argument to simply add the data to existing .vdi you’re building. The following list of commands are based off my example above:
VBoxManage clonehd Machine.vdi Machine-full.vdi
VBoxManage clonehd Snapshots{UUID1}.vdi Machine-full.vdi
VBoxManage clonehd Snapshots{UUID2}.vdi Machine-full.vdi
VBoxManage clonehd Snapshots{UUID3}.vdi Machine-full.vdi
VBoxManage clonehd Snapshots{UUID4}.vdi Machine-full.vdi
This will give you a “Machine-full.vdi” file that represents the full state of your machine in the active state without any relationship to the parent .vdi files. You can now use this “Machine-full.vdi” file on a new virtual machine or edit your existing VM, removing the old .vdi file and adding this .vdi.
Com um pouco de ajustes que pareciam funcionar para mim:
Este é o disco rígido e seus instantâneos:
<HardDisk uuid="{ed1428ca-76be-440a-894b-e666b50f5c86}" location="H:/vm/ft.vdi" format="VDI" type="Normal">
<HardDisk uuid="{8d8be78f-6648-4503-bee3-8810cb853a99}" location="Snapshots/{8d8be78f-6648-4503-bee3-8810cb853a99}.vdi" format="VDI">
<HardDisk uuid="{cce0ee4f-5052-4be7-81ff-47ea08202716}" location="Snapshots/{cce0ee4f-5052-4be7-81ff-47ea08202716}.vdi" format="VDI">
<HardDisk uuid="{c297d4b9-972d-4b07-a839-5d76ee8d0387}" location="Snapshots/{c297d4b9-972d-4b07-a839-5d76ee8d0387}.vdi" format="VDI">
<HardDisk uuid="{8e9ca914-648f-464c-b515-2606c644d7f0}" location="Snapshots/{8e9ca914-648f-464c-b515-2606c644d7f0}.vdi" format="VDI"/>
</HardDisk>
</HardDisk>
</HardDisk>
</HardDisk>
Estes são os comandos que eu executei (desculpe, alguns deles são cortados de suas janelas ...):
C:\Program Files\Oracle\VirtualBox>VBoxManage clonehd N:\vm\ft.vdi N:\vm\ft_full.vdi
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Clone hard disk created in format 'VDI'. UUID: a7fb5e25-c248-4644-a898-f1e26f6570a4
C:\Program Files\Oracle\VirtualBox>VBoxManage clonehd "N:\vm\VirtualBox VMs\lfs\Snapshots\{8d8be78f-6648-4503
VBoxManage.exe: error: Parent medium with UUID {ed1428ca-76be-440a-894b-e666b50f5c86} of the medium 'N:\vm\Vi
03-bee3-8810cb853a99}.vdi' is not found in the media registry ('C:\Users\ <user>/.VirtualBox\VirtualBox.xml')
VBoxManage.exe: error: Details: code E_FAIL (0x80004005), component Medium, interface IMedium, callee IUnknow
Context: "OpenMedium(Bstr(pszFilenameOrUuid).raw(), enmDevType, AccessMode_ReadWrite, fForceNewUuidOnOpen, pM
xManageDisk.cpp
Porcaria parece que eu preciso adicionar uma entrada no VirtualBox.xml em MediaRegistry- > HardDisks, mas tenho que me certificar de adicionar cada instantâneo a ele em ordem cronológica após cada cópia. Então é assim:
Copy VM
Add entry to VirtualBox.xml
Copy VM ...
E o resto do que eu fiz no caso de ajudar alguém:
C:\Program Files\Oracle\VirtualBox>VBoxManage clonehd --existing "N:\vm\VirtualBox VMs\lfs\Snapshots\{8d8be78
_full.vdi
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Clone hard disk created in format 'VDI'. UUID: a7fb5e25-c248-4644-a898-f1e26f6570a4
C:\Program Files\Oracle\VirtualBox>VBoxManage clonehd --existing "N:\vm\VirtualBox VMs\lfs\Snapshots\{cce0ee4f-5052-4be7-81ff-47ea08202716}.vdi" N:\vm\ft_full.vdi
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Clone hard disk created in format 'VDI'. UUID: a7fb5e25-c248-4644-a898-f1e26f6570a4
C:\Program Files\Oracle\VirtualBox>VBoxManage clonehd --existing "N:\vm\VirtualBox VMs\lfs\Snapshots\{c297d4b9-972d-4b07-a839-5d76ee8d0387}.vdi" N:\vm\ft_full.vdi
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Clone hard disk created in format 'VDI'. UUID: a7fb5e25-c248-4644-a898-f1e26f6570a4
C:\Program Files\Oracle\VirtualBox>VBoxManage clonehd --existing "N:\vm\VirtualBox VMs\lfs\Snapshots\{8e9ca914-648f-464c-b515-2606c644d7f0}.vdi" N:\vm\ft_full.vdi
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Clone hard disk created in format 'VDI'. UUID: a7fb5e25-c248-4644-a898-f1e26f6570a4
E então eu simplesmente criei uma nova VM usando o ft_full.vdi como sua base. Correspondeu o resto das configurações no painel de configurações da GUI.