Saya mengalami kesalahan ini setelah memindahkan ~/VirtualBox\ VMs
dari Linux ke MacOS. Saya mencoba menggunakan solusi @mensvmware-vdiskmanager
, tetapi gagal untuk saya.
Selama migrasi saya dari linux ke MacOS, saya menambahkan semua *.vbox
file kembali ke Virtualbox dan mereka semua gagal boot dengan kesalahan yang sama (menggunakan gelandangan):
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
Saya memverifikasi bahwa data ditransfer dengan benar, md5 box-disk1.vmdk
mengembalikan hal yang sama untuk kedua file.
Saya berhasil mendapatkan vm untuk boot lagi dengan mengkonversi vmdk
file untukvdi
melakukan hal berikut. (Membutuhkan 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
Jalur yang diperbarui ke volume .vdi
dan boot mesin.
Dalam kasus saya, file vdi sedikit lebih besar, jangan lupa untuk menghapus .bin
karena ini sangat besar. Oh dan gagal mengautentikasi saat dijalankan pertama kali. Bagaimanapun, jika mungkin, mungkin Anda harus memutar vm baru dari awal sebagai gantinya.