Aqui está como eu resolvi meu problema.
Primeiro, desfiz a alteração do UUID no meu arquivo VDI base usando o script jordoncm
Então tentei simplesmente alterar os caminhos no arquivo vbox para corresponder ao novo local. Isso não funcionou, pois vários erros diferentes apareceram e eu nem consegui adicionar a VM usando o arquivo vbox.
Então, eu encontrei este artigo de Peter Porter, que sugeriu:
Como cada arquivo .vdi contém apenas os setores alterados do último arquivo .vdi, copiar os arquivos .vdi em ordem cronológica deve gerar um arquivo .vdi contendo uma cópia completa de todos os instantâneos anteriores.
...
Use o comando “VBoxManage clonehd” para criar um novo arquivo .vdi com base no seu original e adicione cada arquivo subsequente usando o argumento “–existing” para simplesmente adicionar os dados ao .vdi existente que você está construindo. A seguinte lista de comandos é baseada no meu exemplo acima:
VBoxManage clonehd Machine.vdi Machine-full.vdi
Instantâneos do clonehd do VBoxManage {UUID1} .vdi Machine-full.vdi
Instantâneos do clonehd do VBoxManage {UUID2} .vdi Machine-full.vdi
Instantâneos do clonehd do VBoxManage {UUID3} .vdi Machine-full.vdi
Instantâneos do clonehd do VBoxManage {UUID4} .vdi Machine-full.vdi
Isso fornecerá um arquivo "Machine-full.vdi" que representa o estado completo da sua máquina no estado ativo, sem qualquer relação com os arquivos .vdi pai. Agora você pode usar esse arquivo “Machine-full.vdi” em uma nova máquina virtual ou editar sua VM existente, removendo o arquivo .vdi antigo e adicionando esse .vdi.
Com um pouco de ajustes que pareceu 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 estão cortados nas 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 eu tenho que ter certeza 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 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 simplesmente criei uma nova VM usando o ft_full.vdi como base. Correspondeu ao restante das configurações no painel de configurações da GUI.