यहां मैंने अपनी समस्या को हल किया।
पहले मैंने अपने बेस VDI फाइल पर UUID को स्क्रिप्ट को jordoncm द्वारा उपयोग करके बदल दिया
फिर मैंने नए स्थान से मिलान करने के लिए बस vbox फ़ाइल में पथ बदलने का प्रयास किया। यह अलग-अलग त्रुटियों के रूप में काम नहीं करता था और मैं vbox फ़ाइल का उपयोग करके VM को जोड़ने में सक्षम नहीं था।
तो मुझे पीटर पोर्टर का यह ब्लॉग लेख मिला जिसने सुझाव दिया था:
जैसा कि प्रत्येक .vdi में केवल वे ही क्षेत्र होते हैं, जो पिछले .vdi से परिवर्तित होते हैं, .vdi के कालानुक्रमिक क्रम की नकल करते हुए हमें शुद्ध होना चाहिए -vdi जिसमें सभी पूर्व स्नैपशॉट की पूरी प्रतिलिपि हो।
...
अपने मूल के आधार पर एक नई .vdi फ़ाइल बनाने के लिए "VBoxManage क्लोन" कमांड का उपयोग करें, फिर प्रत्येक-मौजूदा फ़ाइल में "-existing" तर्क का उपयोग करके केवल मौजूदा डेटा .vdi में डेटा जोड़ने के लिए जोड़ें। निम्नलिखित आदेशों की सूची ऊपर मेरे उदाहरण पर आधारित है:
VBoxManage clonehd Machine.vdi मशीन-full.vdi
VBoxManage क्लोन क्लोन स्नैपशॉट्स {UUID1} .वीडी मशीन-फुल.वडी
VBoxManage क्लोन क्लोन स्नैपशॉट्स {UUID2} .vdi मशीन- full.vdi
VBoxManage क्लोन क्लोन स्नैपशॉट्स {UUID3} .vdi मशीन- full.vdi
VBoxManage क्लोन क्लोन स्नैपशॉट्स {UUID4} .वीडी मशीन-फुल.वडी
यह आपको एक "मशीन-फुल.वीडी" फाइल देगा जो कि आपके मशीन की पूर्ण स्थिति को पैरेंट .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
बकवास लगता है कि मुझे 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 का उपयोग करके एक नया वीएम बनाया। बाकी सेटिंग्स को gui settings pane से मिलाया।