У мене виникла помилка після переміщення ~/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 з нуля.