Vagrant: Fix "inaccessible" Error
ich habe über Ostern meinem MacBook eine größer Festplatte spendiert. Die alte war in einem FusionDrive mit SSD. Der Austausch ging, bis auf mein Schraubenproblem, echt problemlos und das wiederherstellen des Timemachine Backups hat auch nur knappe 4h gedauert. Super!
Einen kleinen Haken hat die Sache allerdings. Ich hatte wenig freien Speicher vorher (daher ja das Upgrade) und habe die VMs die ich mit Vagrant benutze aus meinem Timemachine Backup genommen. Ist ja auch super, die werden eh mittels Skript konfiguriert. Ist ja quasi nur ein besserer Cache. Nun, nach dem ich meinen Rechner wiederhergestellt hab und wirklich alles funktionerte, erzählt mir Vagrant folgendes:
Your VM has become “inaccessible.” Unfortunately, this is a critical error with VirtualBox that Vagrant can not cleanly recover from. Please open VirtualBox and clear out your inaccessible virtual machines or find a way to fix them.
Na toll. Liebes Vagrant: I don’t care: Stell die Dinger doch einfach wieder her.
Aber so einfach ist es nicht.
Nun ja, es ist aber auch kein Weltuntergang. Virtualbox liefert ein CLI mit VBoxManage
Mittels VBoxManage list vms
lässt man sich all seine virtuellen Maschinen anzeigen und bekommt eine Liste die in etwa so aussieht:
"<inaccessible>" {f901ec7a-ad7a-4d4c-afbd-a7a26805ff39}
"<inaccessible>" {2e4a4ebc-e964-4695-88d1-74f7662b38ff}
"<inaccessible>" {560c9a72-9aa5-4537-81df-f555037e387c}
"<inaccessible>" {e76dac65-7a0a-4c34-a7ab-0c430dd9e945}
"<inaccessible>" {28378269-0e1c-4821-9539-58cf9e38bd51}
"<inaccessible>" {a6f37f4f-a803-4636-8b2d-a59dbf485b33}
"<inaccessible>" {e732c36a-aa5d-4247-aa87-61516adc16df}
"<inaccessible>" {f61e6940-d401-4ec4-9b47-0e7514c0fa75}
"<inaccessible>" {43bf2905-3904-4356-97ca-f08915d43b0a}
Mittels VBoxManage unregistervm {ID}
wobei {ID}
durch den String hinter inaccessible
ersetzt wird (ohne die geschweiften Klammern), entfernt man die fehlende VM und kann nun mit vagrant up
ganz normal arbeiten und Vagrant macht das was es soll: Die VM konfigurieren und installieren. Toll