Ich hatte diesen Fehler, nachdem ich ~/VirtualBox\ VMs
von Linux auf MacOS umgestellt hatte. Ich habe versucht, @mens Lösung mitvmware-vdiskmanager
, aber es ist für mich fehlgeschlagen.
Während meiner Migration von Linux zu MacOS habe ich alle *.vbox
Dateien wieder zu Virtualbox hinzugefügt und alle konnten nicht mit demselben Fehler (unter Verwendung von Vagrant) gestartet werden:
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
Ich habe überprüft, ob die übertragenen Daten korrekt sind und md5 box-disk1.vmdk
für beide Dateien dasselbe zurückgegeben haben.
Ich habe es geschafft, eine VM zum Booten zu bringen, indem ich die vmdk
Dateien wievdi
folgt konvertiert habe . (Benötigt 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
Der Pfad zum Volume für .vdi
und der Computer wurde aktualisiert .
In meinem Fall ist die vdi-Datei etwas größer. Vergessen Sie nicht, sie zu löschen, .bin
da sie sehr groß ist. Oh, und es kann beim ersten Start nicht authentifiziert werden. Wenn möglich, sollten Sie stattdessen eine neue VM von Grund auf neu starten.