J'ai eu cette erreur après avoir déplacé mon ~/VirtualBox\ VMs
Linux 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 *.vbox
fichiers 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.vmdk
renvoyé la même chose pour les deux fichiers.
J'ai réussi à redémarrer une VM en convertissant les vmdk
fichiers 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 .vdi
et démarré par la machine.
Dans mon cas, le fichier vdi est légèrement plus grand, n'oubliez pas de le supprimer .bin
car 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.