Así es como resolví mi problema.
Primero deshice cambiar el UUID en mi archivo VDI base usando el script de jordoncm
Luego intenté simplemente cambiar las rutas en el archivo vbox para que coincida con la nueva ubicación. Eso no funcionó ya que aparecieron varios errores diferentes y ni siquiera pude agregar la VM usando el archivo vbox.
Entonces encontré este artículo de blog de Peter Porter que sugirió:
Como cada .vdi contiene solo aquellos sectores modificados desde el último .vdi, copiar los .vdi en orden cronológico debería proporcionarnos un .vdi que contenga una copia completa de todas las instantáneas anteriores.
...
Use el comando "VBoxManage clonehd" para crear un nuevo archivo .vdi basado en su original, luego agregue en cada archivo posterior usando el argumento "–existente" para simplemente agregar los datos al .vdi existente que está creando. La siguiente lista de comandos se basa en mi ejemplo anterior:
VBoxManage clonehd Machine.vdi Machine-full.vdi
VBoxManage clonehd Instantáneas {UUID1} .vdi Machine-full.vdi
VBoxManage clonehd Instantáneas {UUID2} .vdi Machine-full.vdi
VBoxManage clonehd Instantáneas {UUID3} .vdi Machine-full.vdi
VBoxManage clonehd Instantáneas {UUID4} .vdi Machine-full.vdi
Esto le dará un archivo "Machine-full.vdi" que representa el estado completo de su máquina en el estado activo sin ninguna relación con los archivos .vdi primarios. Ahora puede usar este archivo "Machine-full.vdi" en una nueva máquina virtual o editar su VM existente, eliminando el archivo .vdi anterior y agregando este .vdi.
Con un poco de ajustes que parecían funcionar para mí:
Este es el disco duro y sus instantáneas:
<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>
Estos son los comandos que ejecuté (lo siento, algunos de ellos están cortados en sus ventanas ...):
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
Crap parece que necesito agregar una entrada en VirtualBox.xml en MediaRegistry-> HardDisks, pero tengo que asegurarme de agregarle cada instantánea en orden cronológico después de cada copia. Entonces es así:
Copy VM
Add entry to VirtualBox.xml
Copy VM ...
Y el resto de lo que hice en caso de que ayude a alguien más:
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
Y luego simplemente creé una nueva VM usando ft_full.vdi como base. Coincidió con el resto de la configuración en el panel de configuración de GUI.