Es wird versucht, eine VM-Konfiguration zu öffnen, die dieselbe UUID wie eine vorhandene virtuelle Maschine hat

26

Beim Versuch, zwei virtuelle VirtualBox-Maschinen hinzuzufügen, die ursprünglich (über eine einfache Dateikopie) aus derselben Quelle kopiert wurden, erhalte ich beim Hinzufügen der zweiten die Nachricht

Failed to open virtual machine [...]
Trying to open a VM config [...] which has the same UUID as an existing virtual machine.

(Ja, die Maschinen sollten statt einer einfachen Dateikopie geklont worden sein, aber zu diesem Zeitpunkt ist es zu spät.)

Tgr
quelle

Antworten:

40

Sie können VBoxManage internalcommands sethduuid <VDI/VMDK file>die HD-UUID mit (Vom VBox-Installationsverzeichnis ausführen) ändern. Dies hat jedoch zwei Nachteile: Die .vboxDatei wird nicht aktualisiert , und die Computer-UUID wird nicht geändert (ich habe mit VBoxManage keine Möglichkeit gefunden, dies zu tun ), nur die HD UUID.

Folgendes hat bei mir funktioniert (Win 7, neueste VirtualBox-Version):

  1. VBoxManage internalcommands sethduuid <VDI/VMDK file> zweimal ausführen (das erste Mal dient nur zur bequemen Generierung einer UUID, Sie können stattdessen eine andere UUID-Generierungsmethode verwenden)
  2. Öffnen Sie die .vboxDatei in einem Texteditor
  3. Ersetzen Sie die in gefundene UUID <Machine uuid="{...}"durch die UUID, die Sie sethduuidbeim ersten Ausführen erhalten haben
  4. Ersetzen Sie die in <HardDisk uuid="{...}"und in <Image uuid="{}"(gegen Ende) gefundene UUID durch die UUID, die Sie bei sethduuidder zweiten Ausführung erhalten haben

Danach können Sie die virtuelle Maschine hinzufügen. Keine sehr saubere Lösung, scheint aber kein Problem zu verursachen.

Tgr
quelle
1
Dies funktionierte für mich, aber ich hatte auch eine DVD "eingelegt" in die VM, die ich manuell kopierte. Als ich meine .vbox-Datei bearbeitete, musste ich <DVDImages>...</DVDImages>nur <DVDImages />die DVD mit der doppelten UUID "auswerfen".
JPhi1618
Beachten Sie, dass Sie die gleichen Schritte für die VDI-Dateien im Ordner "Snapshots" ausführen müssen, wenn die VM über Snapshots verfügt.
Laurent
6

Ich habe einen einfacheren Weg gefunden, es zu tun.

Klonen Sie die vorhandene virtuelle Maschine. Dadurch wird eine neue Version mit vermutlich einer neuen UUID erstellt, im Übrigen handelt es sich jedoch um dieselbe Maschine.

Kopieren Sie dann die Datei, die Sie hinzufügen möchten, in Ihren Ordner \ user (Ihr Name) \ Virtual Box VMs \ (oder an den Speicherort Ihrer virtuellen Maschinen), und überschreiben Sie dort alle vorhandenen Dateien, um die vorhandene Maschine zu ersetzen.

Ich würde die vorhandene Maschine zuerst sichern, nur für den Fall, bevor ich das tue, aber es hat hier ganz gut funktioniert. Wird verwendet, um zu einer früheren Sicherung einer VM zurückzukehren, während die vorhandene Version als Klon beibehalten wird.

Robert Walker
quelle
Wenn Sie genug Speicherplatz haben, ist dies der einfachste Weg, danke Robert.
sddk
Wenn jemand dies tut, sollte er sicherstellen, dass die vbox-Datei ein Hardware-UUID-Tag hat, das mit der Maschinen-UUID :: <Hardware-UUID = "{...}"> übereinstimmt. Dann kann er die Festplatten-UUID und die Maschinen-UUID ohne dieses Tag ändern irgendwelche Probleme. <hardware uuid = "{...}">
StixO
2

Mir ist klar, dass dies ein alter Beitrag ist, aber ich bin auf diesen Fehler gestoßen. Ich habe es gelöst durch:

  1. Öffnen Sie den Virtual Box Manager
  2. Klicken Sie mit der rechten Maustaste auf die virtuelle Maschine im Virtual Box Manager
  3. Klicken Sie auf "Entfernen"
  4. Ein Popup wird angezeigt. Wählen Sie "Nur entfernen", um einfach alle Spuren der virtuellen Box aus dem Virtual Box Manager zu entfernen
  5. Schließen Sie den Virtual Box Manager
  6. Navigieren Sie mit dem Linux-Dateimanager zu dem Ordner, der die virtuelle Maschine enthält
  7. Löschen (oder verschieben) Sie alles mit Ausnahme der virtuellen .vmdk-Festplattendatei
  8. Öffnen Sie den Virtual Box Manager
  9. Klicken Sie auf "Maschine"
  10. Klicken Sie auf "Neu"
  11. Nennen Sie die neue Maschine (ich habe den gleichen Namen verwendet, den ich ursprünglich verwendet habe)

    ANMERKUNG: Der Name des Computers wird zum Namen des Verzeichnisses, in dem sich der virtuelle Computer befindet. Wählen Sie dies also mit Bedacht aus und beachten Sie, dass die VMDK-Datei in dem neuen Verzeichnis gespeichert werden soll, damit zusätzliche Schritte in Virtual Box ausgeführt werden Manager

  12. Wählen Sie den richtigen Typ und die richtige Version für die virtuelle Maschine aus, bei der das Problem aufgetreten ist, und klicken Sie auf "Weiter".
  13. Wählen Sie die Speichergröße aus, die der virtuellen Maschine zugewiesen werden soll, und klicken Sie auf "Weiter".
  14. Wählen Sie "Vorhandene virtuelle Festplattendatei verwenden" und wählen Sie sie aus, indem Sie zu ihrem Speicherort navigieren
  15. Wählen Sie "Erstellen"

Folgen Sie einfach den Anweisungen von dort und starten Sie die virtuelle Maschine.

Alles läuft einwandfrei, keine erneute Aktivierung von Fenstern usw. erforderlich.

Dale Reynolds
quelle
1

Sie können auch den vorhandenen Computer klonen und dann in den Einstellungen den Speicher ändern, um die zuvor kopierte .vmdk-Datei zu verwenden.

Toby
quelle
1

Wenn Sie aufgrund dieses Fehlers nicht starten können , entfernen Sie einfach den Eintrag aus dem 'Oracle VM VirtualBox Manager' . Dadurch wird der Konflikt behoben, und Sie können die VM von ihrem neuen Speicherort aus öffnen.

... An diesem Punkt können Sie einen Klon ausführen, wenn Sie dies beabsichtigen. In meinem Fall war kein zusätzlicher Aufwand erforderlich, da ich den ursprünglichen Speicherort der VM nicht mehr benötigte.

kein Balken
quelle
Dies ist bei weitem die einfachste Lösung, und nicht nur das, es funktioniert.
Shmu
-1

Der Benutzer TGR hat es richtig verstanden, aber ich musste eine weitere Änderung vornehmen: In der vbox-XML musste ich die Image-UUID so ändern, dass sie mit der HardDisk-UUID übereinstimmt (der zweiten UUID, die in der Befehlszeile generiert wurde).

<StorageControllers>
   <StorageController ...>
     <AttachedDevice ...>
       <Image uuid="{ [second UUID] }"/>
DakotaHoosier
quelle
-1

Ich habe einen anderen Weg gefunden, der einfacher ist als jeder andere. Sie müssen die virtuelle Maschine nur von der Virtual Box-Oberfläche löschen (wenn Sie gefragt werden, ob Sie die Dateien der VM löschen möchten, antworten Sie NICHT!, Sonst verlieren Sie die VM). Gehen Sie dann zur VBOX-Datei und öffnen Sie sie (mit Virtual Box). Es sollte funktionieren, da Sie die UUID gelöscht haben (während die VM gelöscht wurde). Zumindest hat es bei mir geklappt ...

Marouan Kouitra
quelle