Die Fehlermeldung beim Start einer VM : "The file specified is not a virtual disk" kann auf allen VMware-Platformen auftreten.IIn den meisten Fällen ist entweder
- ein Crash des Hosts,
- ein Voll-laufen der Festplatte auf der die VM gespeichert ist -
- oder - nicht zu vergessen ein Bedienfehler
die Ursache des Fehlers.
Ganz konkret liegt es dann meistens an einer dieser Probleme:
- einfacher Syntaxfehler in der VMDK-Beschreibungsdatei
- eine in der VMDK-Beschreibungsdatei referenzierte Datei wurde verschoben
- die VMDK-Beschreibungsdatei ist leer - oft nach Crash des Hosts
- einfacher Syntaxfehler in einer eingebetteten VMDK-Beschreibungsdatei
- der Header einer wachsenden VMDK oder snapshot ist defekt
- der Header eines einzelnen Teils einer gesplitteten preallocated VMDK ist defekt
- der Header eines einzelnen Teils einer gesplitteten wachsenden VMDK ist defekt
- eine in der VMDK-Beschreibungsdatei referenzierte Datei wurde gelöscht oder fehlt
Die Fälle sind hier mal von einfach bis unmöglich aufgelistet.
In allen bis auf den letzten Fall ist eine teilweise oder vollständige Wiederherstellung möglich.
Es ist immens wichtig direkt nach Auftreten des Problems nicht in Panik zu verfallen.
Stattdessen sollten man alle vorhandenen vmware.logs sichern und die VM auf keinen Fall nochmal starten oder umkonfigurieren.
Die schwierigsten Probleme entstehen meist durch übereilte Reparaturversuche.
Fehlersuche :
Ich gehe in der Regel so vor ...
- auslesen der vmx - um welche vmdks geht es eigentlich ?
- auslesen der vmdks - gibt es Syntaxfehler ?
- auslesen der vmdks - sind alle referenzierten Dateien vorhanden ?
Lassen sich bis hierhin alle Probleme beheben kann man einen Start wagen - tritt die Meldung immer noch auf geht die Fehlersuche weiter mit : - auslesen der Header von Snapshots oder Sparse VMDKs
- auslesen der Header von allen Teilen einer gesplitteten VMDK
Fehlerbehebung:
Oft wurde einfach eine Datei verschoben - in diesen Fällen ist es einfach : Datei finden - herausfinden wo sie hin gehört - verschieben - fertig.
Liegt es an einem Syntaxfehler kann man den auch recht einfach beheben - bitte hier nachschlagen: VMDK-Handbook
Schwierig wird es bei defekten Headern - eine Anleitung dazu ist in Arbeit - derzeit am besten direkt nachfragen.