문제를 해결 한 방법은 다음과 같습니다.
먼저 jordoncm 의 스크립트를 사용하여 기본 VDI 파일에서 UUID를 변경하지 않았습니다.
그런 다음 vbox 파일의 경로를 새 위치와 일치하도록 변경하려고했습니다. 다양한 오류가 발생하여 작동하지 않았으며 vbox 파일을 사용하여 VM을 추가 할 수도 없었습니다.
그래서 Peter Porter 가 제안한 이 블로그 기사를 찾았습니다 .
각 .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
그러면 부모 .vdi 파일과 관계없이 활성 상태에서 컴퓨터의 전체 상태를 나타내는“Machine-full.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 설정 창의 나머지 설정과 일치합니다.