Ich kenne zwei Möglichkeiten zum Klonen einer VirtualBox-Maschine auf einem Linux-Host. Eine besteht darin, die VirtualBox-Benutzeroberfläche zu verwenden und als Appliance zu exportieren und erneut zu importieren (im Dateimenü von VirtualBox).
Die andere Möglichkeit besteht darin, nur die Containerdateien des virtuellen Datenträgers zu klonen:
VBoxManage clonevdi /mnt/md1/original/root-fs.vdi /mnt/md1/cloned/root-fs.vdi
(Genommen vonhttp://forums.virtualbox.org/viewtopic.php?p=853#p858)
Bearbeiten: Dies scheint nicht für VDI-Dateien zu funktionieren, die bereits Teil von ~/VirtualBox/VirtualBox.xml sind. Ich erhalte eine Fehlermeldung:
FEHLER: Die Festplatte „/mnt/md1/original/root-fs.vdi“ mit UUID {96a1462b-c30a-4911-a954-d9093122f083} kann nicht registriert werden, da in der Medienregistrierung („/home/mit/.VirtualBox/VirtualBox.xml“) bereits eine Festplatte „/mnt/md1/original/root-fs.vdi“ mit UUID {96a1462b-c30a-4911-a954-d9093122f083} vorhanden ist.
Ich müsste anschließend eine neue VM erstellen und die geklonten virtuellen Datenträgercontainer verwenden.
Ist es auch möglich, eine VM zu klonen, indem man die Containerdateien und Konfigurationsdateien der virtuellen Festplatte mithilfe von Dateisystembefehlen kopiert und den Rest manuell erledigt?
Ich müsste die Datei ~/VirtualBox/VirtualBox.xml manuell bearbeiten und eine neue Festplatte und eine neue Maschine einfügen:
Kann ich mir einfach UUIDs ausdenken oder wie würde das funktionieren?
Ich würde diese Hardcore-Methode sehr bevorzugen, da sie es mir ermöglicht, Maschinen frei und schnell zu sichern, wiederherzustellen, zu verschieben oder zu klonen. Oder gibt es eine bessere Möglichkeit, dies zu tun?
Antwort1
Sie können die UUID einer VDI mit dem Befehl ändern
VBoxManage internalcommands setvdiuuid disk.vdi
oder wenn Sie VBox V4.x mindestens bis 4.0.10 verwenden
VBoxManage internalcommands sethduuid disk.vdi
Importieren Sie dann die neue „eindeutige“ Festplatte über die grafische Benutzeroberfläche.
Wenn Sie eine bestimmte VirtualBox-Maschine klonen möchten, ist es wahrscheinlich besser, eine Appliance davon zu erstellen und diese dann zu verwenden. Um eine Appliance zu erstellen, verwenden Sie die GUI-Funktion „Appliance exportieren“ oder den vboxmanage export
Befehl. Die resultierende Appliance kann dann mit der GUI-Funktion „Appliance importieren“ oder dem Befehl importiert werden vboxmanage import
.
Antwort2
Oder Sie können die Setup-Datei „Virtualbox.xml“ mit den richtigen UUIDs für die Maschinen-ID bearbeiten. Hat bei mir super funktioniert, als ich eine virtuelle Maschine von einem Host auf einen anderen verschoben habe (beide Hosts waren 64-Bit-Linux, keine Ahnung, ob es auch beim Wechsel auf z. B. Windows oder Mac funktioniert hat). Siehehttp://sickel.net/blogg/?p=1581für Details.
Dies funktioniert auch, wenn der VboxManager auf dem ursprünglichen Host aus irgendeinem Grund nicht ausgeführt werden kann.