J'ai eu cette erreur après avoir déplacé mon ~/VirtualBox\ VMsLinux vers MacOS. J'ai essayé la solution @mens en utilisantvmware-vdiskmanager , mais cela a échoué pour moi.
Lors de ma migration de Linux vers MacOS, j'ai rajouté tous les *.vboxfichiers dans Virtualbox et ils n'ont pas tous pu démarrer avec la même erreur (en utilisant 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
J'ai vérifié que les données transférées correctement, ont md5 box-disk1.vmdkrenvoyé la même chose pour les deux fichiers.
J'ai réussi à redémarrer une VM en convertissant les vmdkfichiers envdi procédant comme suit. (Requiert 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
Chemin d'accès au volume mis à jour .vdiet démarré par la machine.
Dans mon cas, le fichier vdi est légèrement plus grand, n'oubliez pas de le supprimer .bincar il est énorme. Oh et il ne parvient pas à s'authentifier lors de la première exécution. Quoi qu'il en soit, si possible, vous devriez peut-être faire tourner un nouveau vm à partir de zéro.