~/VirtualBox\ VMs
लिनक्स से MacOS में जाने के बाद मुझे यह त्रुटि हुई । मैंने @mens के समाधान का उपयोगvmware-vdiskmanager
करने की कोशिश की , लेकिन यह मेरे लिए विफल रहा।
लिनक्स से मैकओएस में मेरे प्रवास के दौरान, मैंने सभी *.vbox
फाइलों को वर्चुअलबॉक्स में वापस जोड़ दिया और वे सभी एक ही त्रुटि के साथ बूट करने में विफल रहे (योनि का उपयोग करके):
There was an error while executing `VBoxManage`, a CLI used by Vagrant for controlling VirtualBox. The command and stderr is shown below.
Command: ["startvm", "<UUID 1>", "--type", "headless"]
Stderr: VBoxManage: error: Could not open the medium '/path/to/box-disk1.vmdk'.
VBoxManage: error: VMDK: inconsistency between grain table and backup grain table in '/path/to/box-disk1.vmdk' (VERR_VD_VMDK_INVALID_HEADER).
VBoxManage: error: VD: error VERR_VD_VMDK_INVALID_HEADER opening image file '/path/to/box-disk1.vmdk' (VERR_VD_VMDK_INVALID_HEADER)
VBoxManage: error: Details: code NS_ERROR_FAILURE (0x80004005), component MediumWrap, interface IMedium
मैंने सत्यापित किया कि डेटा सही ढंग से स्थानांतरित हो गया है, md5 box-disk1.vmdk
दोनों फ़ाइलों के लिए एक ही चीज़ लौटा दी।
मैं निम्नलिखित करने के लिए vmdk
फ़ाइलों को परिवर्तितvdi
करके फिर से बूट करने के लिए एक vm प्राप्त करने में कामयाब रहा । (आवश्यक है qemu
, brew install qemu
)
# Convert from `.vmdk` to `.bin`
qemu-img convert box-disk1.vmdk box-disk1.bin
# Convert from `.bin` to `.vdi`
VBoxManage convertdd box-disk1.bin box-disk1.vdi
.vdi
बूट और मशीन के लिए वॉल्यूम के लिए अद्यतन पथ ।
मेरे मामले में, vdi फ़ाइल थोड़ी बड़ी है, .bin
इसे हटाने के लिए मत भूलना क्योंकि यह बहुत बड़ा है। ओह और यह पहली बार में प्रमाणित करने में विफल रहता है। वैसे भी, यदि संभव हो तो, शायद आपको इसके बजाय खरोंच से एक नया वीएम स्पिन करना चाहिए।