Frage Wie verschiebe ich VirtualBox-Dateien?


Standardmäßig speichert VirtualBox alle Daten in einem Verzeichnis unterhalb des Home-Verzeichnisses. Ich weiß, wie ich es ändern kann, aber wie kann ich den Speicherort vorhandener Bilder ändern (ohne VirtualBox.xml manuell zu bearbeiten)?

Ich arbeite unter Windows und möchte keine NTFS-Links verwenden.


149
2018-03-11 10:53


Ursprung


Awww, ich würde vorschlagen, Symlinks (sie lösen alles), aber Sie haben diese Idee blockiert ... :( - DMA57361
Ich vertraue Links unter Windows überhaupt nicht. Während NTFS dazu in der Lage ist, weiß Windows XP nichts davon und es gibt bereits genug Probleme damit. Ich bin vielleicht unnötig feige ... - maaartinus
Ah, ja, ich würde sie nicht auf XP berühren. Aber Unterstützung auf 7 ist ziemlich solide - Sie müssen sie immer noch aus der cmd-Linie bauen, aber das ist nicht wirklich eine lästige Pflicht. Ich bin mir nicht sicher über Vista ... - DMA57361
Es ist noch schlimmer, Die XP-Version von NTFS unterstützt Hardlinks, diese können jedoch keine Volumes umfassen. Offensichtlich wollte ich die Daten auf eine andere Partition verschieben. - maaartinus
Hardlinks können nicht je Spannen Volumen, nur Symlinks können (und kann für diese Art von Sache verwendet werden, sind meine Benutzer Ordner alle symbolisiert, zum zweiten HDD, zum Beispiel). Aber ich persönlich würde immer noch Hardlinks in XP vermeiden (selbst wenn sie eine Option wären). - DMA57361


Antworten:


Wenn Sie alle Ihre VM an einen völlig neuen Speicherort verschieben möchten, sollten Sie nur diese zwei Antworten befolgen:

Kopieren Sie den Beitrag hier:

  1. Beenden Sie VirtualBox, sichern Sie Ihre .VirtualBox \ VirtualBox.xml-Datei.
  2. Finden Sie Ihren vorhandenen Ordner "Virtualbox VMs" und kopieren Sie den gesamten Ordner mit Inhalt auf Ihr neues Laufwerk E:
  3. Führen Sie VirtualBox und dann für jede VM der Reihe nach aus:

    3.1 Klicken Sie mit der rechten Maustaste auf den VM-Namen und wählen Sie "Entfernen" aus dem Popup-Menü. Antwort nein zu den "physisch löschen dateien?" Frage.

    3.1b nach dem Entfernen einer VM von der Benutzeroberfläche müssen Sie VirtualBox schließen, und   Lassen Sie es geschlossen genug für den Hintergrund VBoxSVC Aufgabe zu   Auszeit und beenden auch. Dann können Sie die VirtualBox App starten   erneut und verwenden Sie Maschine | Hinzufügen, um die zuvor entfernten VMs hinzuzufügen   Schritt.

    3.2 Wählen Sie den Menüeintrag Maschine | Hinzufügen .., navigieren Sie zum neuen Speicherort der virtuellen Maschinen auf Laufwerk E: und wählen Sie die .vbox-Datei aus.

    3.3. Wiederholen Sie dies für alle verbleibenden VMs.

  4. Legen Sie unter Datei | Voreinstellungen den Standardmaschinenpfad auf "E: \ VirtualBox-VMs" fest.
  5. Testen Sie jede der VMs. Erst nachdem Sie sicher sind, dass alle funktionieren, löschen Sie den alten VM-enthaltenden Ordner, d. H. Löschen Sie "C: \ VirtualBox-VMs".

126
2018-03-13 21:48



Wenn ich dies für Linked-Clone-Maschine tue, können sie nicht gestartet werden - Nam G VU
Dies funktionierte für mich, obwohl ich auch die Pfade zu jedem HardDisk - und Snapshot - Image durch Bearbeiten des .VirtualBox\VirtualBox.xml Datei, und eine Suche / ersetzen. Außerdem habe ich nur das verschoben Machines und HardDisk Ordner, nicht alle enthaltenen Dateien .VirtualBox, denn das ist die gesamte globale Konfiguration und Protokollierung und so. - Dave Andersen
Für Mac OS X Benutzer VirtualBox.xml liegt bei ~/Library/VirtualBox/VirtualBox.xml. Die VMs befinden sich in ~/VirtualBox VMs. - Siu Ching Pong -Asuka Kenji-
Virtual Box 4.3.0+ hat das "Letzte wichtige Ding" gelöst, ich musste es nicht einmal schließen - Anleitung. - PCaetano
Vielleicht könnten Sie auch die Befehlszeile "Version" hinzufügen. 1) Liste existierender VMs über VBoxManage list vms. 2) Neben den Namen der VMs in geschweiften Klammern wird auf ihre UUIDs verwiesen. Kopieren Sie das Interesse. Details dazu können über abgerufen werden VBoxManage showvminfo UUID. 3) Heben Sie die Registrierung der VM von Interesse über auf VBoxManage unregistervm UUID. 4) Verschieben Sie das Verzeichnis der VM von Interesse. 5) Registrieren Sie abschließend die Maschine über VBoxManage register NameOfVM.vbox - offensichtlich, wobei NameOfVM der tatsächliche Name der VMs ist .vbox Datei, die registriert werden soll. - Nikos Alexandris


Ich hatte nur ein paar VMs, und ich fand, dass ich nur den Standardspeicherort für VirtualBox ändern und dann meine VMs klonen konnte. Die Klone wurden am neuen Ort auf der neuen HD erstellt, wo ich sie haben wollte. Alles intakt, Schnappschüsse und keine Notwendigkeit, den Speicherort der virtuellen HDs neu zuzuordnen.


57
2018-06-22 11:15



+1 Ich denke, das ist die beste Methode. VirtualBox verschiebt alles für Sie in ein ordentliches kleines Bündel. - Dave Andersen
Dies ist der beste Weg, keine manuelle cfg-Bearbeitung erforderlich - Bojan Bjelic
Wie machst Du das??? - FlipFloop
Das sollte wirklich die akzeptierte Antwort sein - theV0ID
Könnten Sie eine Liste von Schritten veröffentlichen? - sancho.s


Die einfachste Methode erfordert nicht das Entfernen Ihrer virtuellen Maschinen und das Misten ihrer Einstellungen.

  1. Kopieren Sie Ihren Virtualbox-VMs-Ordner auf ein neues Laufwerk.

  2. Führen Sie den Virtual Box-Maschinen-Manager aus. Führen Sie den Medienmanager aus Datei -> Virtual Media Manager

    2a. Wählen Sie die VM, für die der Speicher verschoben werden soll. Drücke den Freisetzung Knopf und dann der Löschen Taste. Im nächsten Dialogfeld können Sie das virtuelle Laufwerk entweder entfernen oder beibehalten. Schließen Sie den Manager, der Sie in Ihrem Virtualbox Machine Manager verlässt.

  3. Wählen Sie die VM, von der Sie gerade Medien entfernt haben, und klicken Sie auf die Einstellungen Klicken Sie auf die Schaltfläche Lager Sektion. Fügen Sie einen Controller für die Medien hinzu (normalerweise SATA) und fügen Sie dann eine Festplatte hinzu, wählen Sie die vorhandene Festplatte aus und wählen Sie den VD an Ihrem neuen Speicherort aus.

  4. Wiederholen Sie dies für jede Maschine, die Sie bewegen

Schalten Sie Ihre virtuelle Maschine am neuen Standort aus, um sie zu überprüfen. Das nächste Mal besuchst du die Virtueller MedienmanagerWenn Sie den Mauszeiger über den VM-Eintrag bewegen, sehen Sie, wo der VD gespeichert ist.

Stellen Sie sicher, dass Sie Ihre Snapshot-Ordner so ändern, dass sie auf das neue Laufwerk verweisen, wenn Sie sie verwenden. Jeder Computer verfügt über eine Snapshot-Ordnereinstellung und der VM Manager hat a Standardmäßiger Maschinenordner Einstellung in Datei -> Einstellungen Das muss auch geändert werden.

Außerdem musste ich den Pfad in der XML-Datei ändern. Danach hat es einwandfrei funktioniert.

HINWEIS: Die Dinge haben sich ein wenig verändert, seit das geschrieben wurde, siehe Robs Antwort. Es ist jetzt extrem einfach.


36
2018-06-10 04:52



Ich denke, das ist bei weitem der einfachste Weg, dies zu tun. - Peter Perháč


Bearbeiten Sie auf dem Mac die Pfade in dieser Datei:

/Users/pleddy/Library//VirtualBox/VirtualBox.xml

Das war einfach, Presto!


13
2018-02-05 22:41



Er verwendet Windows und möchte auch VirtualBox.xml nicht bearbeiten. - ChrisN
Dies war hilfreich für mich, da diese Frage immer noch googeln ist, wenn Sie auf Mac sind. - NReilingh
Ich bin ein Mac Benutzer und Google hat mich hier gelandet und diese Lösung ist die einfachste von allen, macht perfekt Sinn und arbeitete für mich :) - Mohit Singh
Ich bin auf Linux, und mochte den Klang dieser Antwort, aber ich war durch die Warnung am Anfang der Datei. Würden Sie immer noch empfehlen, das XML direkt zu bearbeiten? Die Warnung sagt: ** BEARBEITEN SIE DIESE DATEI NICHT. Wenn Sie Änderungen an dieser Datei vornehmen, während eine Anwendung ausgeführt wird, die mit VirtualBox zusammenhängt, werden Ihre Änderungen später überschrieben, ohne dass dies wirksam wird. Verwenden Sie VBoxManage oder die GUI von VirtualBox Manager, um Änderungen vorzunehmen. ** - craq


VIEL, VIEL einfacher. 1) bewege dich an einen neuen Ort 2) Klicken Sie mit der rechten Maustaste auf Entfernen aus dem virtualbox-Menü 3) Wählen Sie "Hinzufügen" aus dem Maschinenmenü 4) Finden Sie das 8kb Blue Icon, das eine Art 'virtualbox machine definition' hat. Wählen Sie es aus und es wird zu Ihrer VirtualBox-Liste hinzugefügt. Doppelklick virtuelle Maschine und es funktioniert.


12
2017-07-21 22:18



Noch einfacher als das ist, wenn Sie die VMs zurück zu VirtualBox hinzufügen möchten, klicken Sie einfach auf *.vbox Datei in seinem Ordner. - Joel Mellon
Wie sich die Dinge in drei Jahren ändern ... Damals war es so einfach gewesen. Notiz zu meiner Antwort hinzugefügt, damit sie kommen. - Fiasco Labs
Dies sollte wirklich höher sein. Ich habe herumgespielt und konnte es nicht funktionieren lassen. Entfernen Sie einfach die "unzugänglichen" Elemente auf der Benutzeroberfläche und doppelklicken Sie dann auf die .vbox-Datei, und fügen Sie sie erneut hinzu, indem Sie den neuen Speicherort verwenden. - wenbert
Funktioniert nicht auf einem Linux-Host. Diesen Fehler erhalten: Die VM-Sitzung wurde geschlossen, bevor versucht wurde, sie einzuschalten. Ergebniscode: NS_ERROR_FAILURE (0x80004005) Komponente: SessionMachine-Schnittstelle: ISession {7844aa05-b02e-4cdd-a04f-ade4a762e6b7} - Max N


Nachdem ich einen ganzen Tag mit diesem Problem verschwendet habe (mit Virtualbox 5.0.12 auf Arch Linux), habe ich es schließlich so gelöst, wie Thomthoms Antwort es nahelegt. Für diejenigen, die sich über die genaue Vorgehensweise nicht sicher sind, lautet der Befehl, der eine ganze Maschine klont (einschließlich Snapshots):

VBoxManage clonevm --mode all --basefolder </new/path/> --register <VM_to_clone>

Beziehen Sie den Namen der VM mit

VBoxManage list vms

Geben Sie bei Bedarf Pfad und Namen an.

Überprüfen Sie abschließend, ob alles in Ordnung ist, und entfernen Sie das Original.

Das ist alles wirklich. Keine Notwendigkeit, sich mit XML-Dateien oder einem Hex-Editor zu beschäftigen. Keine Notwendigkeit, eine GUI auch zu verwenden.

http://www.virtualbox.org/manual/ch08.html#vboxmanage-clonevm


9
2018-01-11 15:33



Das war die einzige Antwort, die für mich funktionierte. Sollte höher sein. - Max N
VM_to_clone ist die UUID oder der Name der VM. Mit dem angegebenen Befehl (unter Verwendung einer UUID) wurde ein Verzeichnis erstellt /new/path/_<UUID>_ Cloneund die enthaltenen Dateien werden ebenfalls verwendet _<UUID>_ Clone als Name. Um einen schöneren Namen zu haben, verwenden Sie die --name "Your preferred name here" Flagge. - Rob W
... und um die ursprüngliche VM über die CLI zu entfernen, VBoxManage unregistervm UUID (UUID der VM, die Sie durch erhalten haben VBoxManage list vmsVerwenden Sie den VM-Namen nicht, weil Sie ihn verwenden --name Um den ursprünglichen Namen beizubehalten, haben Sie mehrere VMs mit demselben Namen. - Rob W


So wie in Lucas Pottersky Antworten aber über die Befehlszeile (unter Windows ersetzen vboxmanage mit VBoxManage.exe):

  1. Alle virtuellen Maschinen auflisten:

    vboxmanage list vms
    

    oder nur laufen:

    vboxmanage list runningvms
    

    welches für jede Maschine Namen und UUID ausgibt.

    Führen Sie die folgenden Schritte für jede Maschine aus, die Sie verschieben möchten.

  2. Herunterfahren ordnungsgemäß:

    vboxmanage controlvm UUID acpipowerbutton
    
  3. Registrierung aufheben

    vboxmanage unregistervm UUID
    
  4. Verschieben Sie den Ordner für virtuelle Maschinen an den neuen Speicherort.

  5. Registrieren Sie es, indem Sie den Pfad angeben .vbox Datei:

    vboxmanage registervm /path/to/machine.vbox
    

4
2018-03-04 00:43





Dies funktionierte für mich auch mit der MacOS-Version von VirtualBox (Release 4.1.12). Ich habe 5-10 Sekunden gewartet, bis VirtualBox beendet wurde, bevor ich es neu starten konnte. Ich habe im Aktivitätsmonitor nachgesehen, um sicherzustellen, dass VBoxSVC ordnungsgemäß beendet wurde.

Wenn Sie dies nicht tun, erhalten Sie einen Fehler, der in etwa wie folgt aussieht (ich kopiere und kopiere die Fehlermeldung eines anderen, die von Windows kommt). Wenn Sie diesen Fehler erhalten, liegt es einfach daran, dass Sie VirtualBox nicht beendet haben oder nicht lange genug gewartet haben, bis VBoxSVC beendet wurde.

Failed to open virtual machine located in E:/<path>/<machine_name>/<machine_name>.vbox.

Cannot register the hard disk 'E:\<path>\<machine_name>\Snapshots/{0ece4bff-9185-4cff-9069-b3d1f4536394}.vdi' {0ece4bff-9185-4cff-9069-b3d1f4536394} 
because a hard disk 'C:\<path>\<machine_name>\Snapshots/{0ece4bff-9185-4cff-9069-b3d1f4536394}.vdi' with UUID {0ece4bff-9185-4cff-9069-b3d1f4536394} already exists.

Result Code: E_INVALIDARG (0x80070057)
Component: VirtualBox
Interface: IVirtualBox {c28be65f-1a8f-43b4-81f1-eb60cb516e66}

2
2018-04-15 03:50