У мене виникла помилка після переміщення ~/VirtualBox\ VMsз Linux на MacOS. Я спробував рішення @mens за допомогоюvmware-vdiskmanager , але це не вдалося мені.
Під час моєї міграції з Linux на MacOS я додав усі *.vboxфайли назад у Virtualbox, і всі вони не змогли завантажитися з однаковою помилкою (за допомогою vagrant):
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повернув те саме для обох файлів.
Мені вдалося змусити VM для завантаження знову, перетворивши vmdkфайли наvdi наступне. (Потрібно 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оскільки він величезний. О, і не вдалося пройти автентифікацію під час першого запуску. У будь-якому випадку, якщо це можливо, можливо, ви повинні замість цього створити новий vm з нуля.