Ecco come ho risolto il mio problema.
Per prima cosa ho annullato la modifica dell'UUID sul mio file VDI di base usando lo script di jordoncm
Quindi ho provato semplicemente a cambiare i percorsi nel file vbox in modo che corrispondessero alla nuova posizione. Ciò non ha funzionato quando sono comparsi vari errori diversi e non sono stato nemmeno in grado di aggiungere la VM usando il file vbox.
Così ho trovato questo articolo del blog di Peter Porter che ha suggerito:
poiché ogni .vdi contiene solo quei settori modificati rispetto all'ultimo .vdi, copiando i .vdi in ordine cronologico dovremmo inviarci un .vdi contenente una copia completa di tutte le istantanee precedenti.
...
Usa il comando "VBoxManage clonehd" per creare un nuovo file .vdi basato sul tuo originale, quindi aggiungi ogni file successivo usando l'argomento "–existing" per aggiungere semplicemente i dati al .vdi esistente che stai costruendo. Il seguente elenco di comandi si basa sul mio esempio sopra:
VBoxManage clonehd Machine.vdi Machine-full.vdi
VBoxManage clonehd Istantanee {UUID1} .vdi Machine-full.vdi
VBoxManage clonehd Istantanee {UUID2} .vdi Machine-full.vdi
VBoxManage clonehd Istantanee {UUID3} .vdi Machine-full.vdi
VBoxManage clonehd Istantanee {UUID4} .vdi Machine-full.vdi
Questo ti darà un file "Machine-full.vdi" che rappresenta lo stato completo della tua macchina nello stato attivo senza alcuna relazione con i file .vdi padre. È ora possibile utilizzare questo file "Machine-full.vdi" su una nuova macchina virtuale o modificare la VM esistente, rimuovendo il vecchio file .vdi e aggiungendo questo .vdi.
Con un po 'di modifiche che sembravano funzionare per me:
Questo è il disco rigido e le sue istantanee:
<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>
Questi sono i comandi che ho eseguito (mi dispiace che alcuni di essi siano tagliati fuori dalle sue finestre ...):
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
Sembra che devo aggiungere una voce in VirtualBox.xml in MediaRegistry-> HardDisks, ma devo assicurarmi di aggiungere ogni istantanea ad esso in ordine cronologico dopo ogni copia. Quindi è così:
Copy VM
Add entry to VirtualBox.xml
Copy VM ...
E il resto di quello che ho fatto nel caso in cui aiuta qualcun altro:
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 poi ho semplicemente creato una nuova macchina virtuale usando ft_full.vdi come base. Corrisponde al resto delle impostazioni nel riquadro delle impostazioni della GUI.