これが私の問題の解決方法です。
最初に、jordoncmのスクリプトを使用して、ベースVDIファイルのUUIDの変更を元に戻しました
次に、vboxファイルのパスを新しい場所に一致するように単純に変更してみました。さまざまなエラーがポップアップ表示され、vboxファイルを使用してVMを追加することさえできなかったため、それは機能しませんでした。
だから私は提案したピーター・ポーターによるこのブログ記事を見つけました:
各.vdiには最後の.vdiから変更されたセクターのみが含まれるため、.vdiを年代順にコピーすると、以前のすべてのスナップショットの完全なコピーを含む.vdiが作成されます。
...
「VBoxManage clonehd」コマンドを使用して、元のファイルに基づいて新しい.vdiファイルを作成し、「– existing」引数を使用して後続の各ファイルに追加して、構築中の既存の.vdiにデータを追加します。次のコマンドのリストは、上記の私の例に基づいています。
VBoxManage clonehd Machine.vdi Machine-full.vdi
VBoxManage clonehdスナップショット{UUID1} .vdi Machine-full.vdi
VBoxManage clonehdスナップショット{UUID2} .vdi Machine-full.vdi
VBoxManage clonehdスナップショット{UUID3} .vdi Machine-full.vdi
VBoxManage clonehdスナップショット{UUID4} .vdi Machine-full.vdi
これにより、アクティブな状態のマシンの完全な状態を表す「Machine-full.vdi」ファイルが作成され、親の.vdiファイルとは関係ありません。これで、この「Machine-full.vdi」ファイルを新しい仮想マシンで使用したり、既存のVMを編集して、古い.vdiファイルを削除してこの.vdiを追加したりできます。
私のために働くように思われた少しの調整で:
これはハードディスクとそのスナップショットです:
<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>
これらは私が実行したコマンドです(申し訳ありませんが、その一部はウィンドウから切り離されています...):
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は、MediaRegistry-> HardDisksの下のVirtualBox.xmlにエントリを追加する必要があるようですが、コピーごとに時系列順に各スナップショットを追加する必要があります。このように:
Copy VM
Add entry to VirtualBox.xml
Copy VM ...
そして、それが他の誰かを助ける場合に私がしたことの残り:
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
そして、ft_full.vdiをベースとして新しいVMを作成しました。gui設定ペインの残りの設定と一致しました。