2013-08-18 19:45:47 +0000 2013-08-18 19:45:47 +0000
252
252

Wat is de aanbevolen manier om een VirtualBox VM te verplaatsen naar een andere computer?

Ik gebruik VirtualBox 4.1.x op mijn Ubuntu machine en heb verschillende virtuele machines opgezet. Aangezien er verschillende manieren zijn om een virtuele machine in VirtualBox naar een andere computer te verplaatsen, vroeg ik me af welke de aanbevolen manier is:

  1. Gebruik de “Import/Export utility”
  2. 2. Kopieer de volledige map van de virtuele machine met de bestanden .vdi en .vbox. 3. Kloon de VDI met behulp van “Virtual Media Manager” en maak vervolgens een VM op de doelmachine, maar gebruik de gekloonde VDI als harde schijf.

Ik heb de 1ste methode verschillende keren met succes gebruikt en het heeft altijd gewerkt. Het probleem is dat na het exporteren en importeren de schijfimage wordt omgezet in VMDK en niet meer in VDI!

De 2e methode is waarschijnlijk het makkelijkst, maar ik ben er niet zeker van dat het simpelweg kopiëren van de bestanden wel of niet werkt op de doelmachine. Bij het zoeken naar deze methode vond ik dat sommige mensen problemen hadden waarbij ze het VirtualBox.xml bestand moesten bewerken om het op te lossen!

Eindelijk is er de 3e methode , maar het vereist het extra werk om een VM te maken die vergelijkbaar is met de originele VM configuratie, wat niet wenselijk is.

Uit bovenstaande uitleg blijkt duidelijk dat mijn gewenste methode de 2e is, maar ik heb hier wel deskundig advies over nodig of het werkt of niet. Ik wil niet dat er een XML-bewerking in de weg staat!

Wat is de beste methode om mijn VM’s veilig over te zetten naar een andere computer met VirtualBox?

Antwoorden (9)

177
177
177
2013-08-18 20:53:14 +0000

Goed gedaan voor het doen van je onderzoek. Ik gebruik regelmatig alle drie de opties.

  1. (Gebruik de “Import/Export utility”). Dit is het eenvoudigst omdat het de hele VM in een enkel bestand combineert en elke keer zonder problemen overbrengt. Echter, in mijn ervaring bij het maken van het OVA- of OVF-bestand voor het exporteren gooit het alle snapshots weg en als het verkeerd wordt gedaan kan het resulteren in een VMDK-bestand. Wanneer u de VM opnieuw importeert, moet u kunnen kiezen welk type HDD-bestand u wilt maken, VDI of VMDK.

  2. (Kopieer de volledige map van de virtuele machine, die de .vdi- en .vbox-bestanden bevat). Dit heeft mijn voorkeur en hoewel ik het XML-bestand een paar keer heb moeten bewerken, is het mijn eigen fout geweest om iets te verknoeien. Zorg ervoor dat wanneer u de VM kopieert, u ALLE bestanden krijgt die eraan gekoppeld zijn. De problemen die ik tegenkwam waren wanneer bepaalde snapshots en secundaire VDI-bestanden in de verkeerde map stonden en niet goed werden gekopieerd. Als u alle bestanden (en rechten) kopieert, zou u geen enkel probleem moeten hebben.

  3. (Kloon de VDI met behulp van “Virtual Media Manager” en maak dan een VM op de doelmachine, maar gebruik de gekloonde VDI als harde schijf). Dit is minder wenselijk omdat je dan 2 kopieën van een VM hebt, en het kan licentieproblemen, netwerkproblemen, etc. veroorzaken, afhankelijk van hoe je het VDI bestand kloont.

Samenvattend zou ik zeker optie 2 aanraden, zorg er alleen voor dat je alle benodigde bestanden krijgt als je het verplaatst.

54
54
54
2015-09-24 19:35:02 +0000

Methode 2 werkt nu goed (met VirtualBox 4.0 en hoger), zonder dat er een XML-aanpassing nodig is:

  1. 1. Stop uw Virtuele Machine
  2. 2. Sluit VirtualBox af 3. 3. Kopieer de VM-map naar de nieuwe locatie
  3. 4. Start VirtualBox opnieuw op en verwijder de oude VM.
  4. Ga naar Machinemenu ≥ Voeg toe en blader naar uw oude map.

ps: Ik heb VirtualBox 4.3.20 op OSX 10.10

Zie dit VirtualBox-forumbericht voor meer details.

21
21
21
2015-09-25 17:14:10 +0000

Mijn voorkeur gaat ook uit naar optie 2:

  1. Kopieer de volledige VM-map met de .vdi- en .vbox-bestanden.

Maar soms gebeurt er een UUID-mismatch. Vaak gebeurt dit als je gewoon de VDI disk image van een machine naar een andere machine kopieert, maar ik heb het ook laten gebeuren tijdens rechte kopieën van volledige mappen.

Dus, als dit de boodschap is die je krijgt na het verplaatsen van de virtuele machine en het proberen op te starten in de nieuwe setup:

Niet gelukt om de harddisk te openen.

Kan de harde schijf niet registreren omdat er al een harde schijf met UUID bestaat.

Ga gewoon naar de directory van je virtuele machine; verander natuurlijk het eigenlijke pad zodat het overeenkomt met het eigenlijke pad waar je naartoe gaat:

cd /full/path/to/virtualbox/virtualmachine/Sandbox

En voer dit commando uit om de schijf een nieuwe UUID toe te wijzen:

VBoxManage internalcommands sethduuid Sandbox.vdi
9
9
9
2014-08-16 12:21:03 +0000

Voor het geval dat iemand anders op zoek is naar een antwoord hierop heb ik met succes 5 Virtual Box VM’s verplaatst naar een andere Win7 installatie op een nieuwe harde schijf op dezelfde machine (in wezen een verhuizing van het ene gast-OS naar het andere op dezelfde PC). Ik realiseer me dat drivers op een compleet nieuwe machine waarschijnlijk zouden variëren en mogelijk een negatief effect zouden hebben op de verhuizing, maar ik heb het proces hieronder gedocumenteerd in de hoop dat het iemand kan helpen.

  • Er was geen verplichting om VM’s te klonen of het xml bestand te wijzigen. VB-versie was vrij actueel: 4.3.12r93773.
  • Er werden nieuwe kopieën van VM’s gemaakt in een nieuwe map/gedeelde schijf om bestaande/oude VM’s intact te houden. Ik kan nog steeds opstarten vanaf de oude harde schijf die ik heb behouden voor redundantie/issue resolutie totdat ik tevreden ben met mijn nieuwe setup; dus ik kan indien nodig de oude VM’s in hun oude staat benaderen.
  • Schijfletters zullen variëren/kunnen niet nodig zijn, afhankelijk van je setup.

Op Oude Win7 Host:

  1. Zorg ervoor dat alle VM’s zijn uitgeschakeld.

Op nieuwe Win7 Host:

  1. 1. Maak een nieuwe map genaamd X:\NieuwVMsVirtualBox VM’s (van New Win7 machine om te zorgen dat de rechten OK zijn)
  2. 2. Kopieer/plak (niet slepen) alle VM’s en gerelateerde mapinhoud van de oude map naar deze map (gebruikt nieuwe rechten)
  3. Maak een nieuwe map aan met de naam X:NewVMs\VirtualBox. 3. De-installeer VirtualBox (indien geïnstalleerd)
  4. 4. Verwijder de map .virtualbox en alle inhoud (indien aanwezig)
  5. REBOOT om te bevestigen dat er geen programmabestanden of registervermeldingen meer zijn (indien de oude VirtualBox wordt verwijderd).
  6. Installeer/herinstalleer VirtualBox (zorg ervoor dat u dezelfde versie gebruikt als de VirtualBox waarop de VM’s zijn aangemaakt op de oude host/machine (in mijn geval ver. 4.3.12r93773)) IMPORTANT: (Vink het vakje niet aan om VirtualBox te openen/uit te voeren aan het einde van de installatie)
  7. Kopieer/plak (niet slepen) .virtualbox map en inhoud van Old Win7 Host (meestal C:\Users[gebruikersnaam].VirtualBox
  8. Open nu VirtualBox
  9. 9. Stel de voorkeuren voor de nieuwe standaardmap voor het maken van VM’s in op hetzelfde bestandspad als de nieuw gemaakte map voor VirtualBox VM’s: X:\NieuwVM'sVirtualBox VM’s
  10. Test status van VM’s

Veel succes.

2
2
2
2016-03-22 03:42:08 +0000

Voor het speciale geval waarin:

  • je alleen een enige VM hebt (of al je VM’s wilt verplaatsen),
  • en de host de zelfde hardware is met dezelfde OS-versie (of het herinstalleren van hetzelfde OS op dezelfde machine)

Als je in dit geval bent, dan is het eenvoudig:

  1. 1. Sluit VirtualBox af op beide hosts.
  2. 2. Kopieer de .config/VirtualBox en VirtualBox VMs mappen van de bronhost.
  3. Sluit de &007 map af. 3. Kopieer deze mappen naar de doelhost.
  4. 5. Start VirtualBox op de doelhost
1
1
1
2018-06-28 21:44:12 +0000

The 4th Way

In VirtualBOX:

  1. 1. Schakel de VM uit. 2. Klik met de rechtermuisknop en verwijder de VM (verwijder geen bestanden)
  2. Klik met de rechtermuisknop en verwijder de VM . 3. Ga naar file>Virtual Media Manager en verwijder de .vdi
  3. 4. Ga naar File>Preferences>General en stel de standaard machinemap in op de nieuwe locatie
  4. Maak een nieuwe VM gebruik expertmodus om de VM te maken zonder een harde schijf

In File Explorer:

  1. Schakel het toestel uit. 1. Lokaliseer het .vdi-bestand en kopieer het
  2. 2. Ga naar de nieuwe standaard machinemap, er komt een VM-map in
  3. 3. Plak het .vdi-bestand in de nieuwe VM-map

Terug in VirtualBOX:

  1. 1. Klik met de rechtermuisknop op de VM en open de instellingen van
  2. Klik op het .vdi-bestand in de nieuwe machinemap. 2. Ga naar Opslag>Controller: SATA en voeg een harde schijf toe, klik op een bestaande schijf 11.kies het .vdi-bestand in de nieuwe VM-map

Aanwijzing: Als methode 2 uw installatie van VirtualBOX afbreekt ga dan naar C:\Users.VirtualBox en verwijder VirtualBox.xml en hernoem VirtualBox.xml-prev naar VirtualBox.xml

0
0
0
2016-09-12 21:36:17 +0000

Ik gebruikte ook methode 2 om mijn virtuele machine te verplaatsen en ik hoefde geen enkele wijziging aan te brengen in een XML-bestand, maar kreeg een paar fouten met USB en het delen van bestanden en hieronder is hoe ik ze heb gerepareerd samen met het proces:

    1. Kopieer de virtuele machine van de oude naar de nieuwe pc. De virtuele machine bestanden zijn anders dan de Oracle Virtual machine zelf. Deze bestanden staan meestal op c:\VirtualBox VM’s. Ik heb het hele VirtualBox VMs gedeelte opgehaald en gekopieerd naar een gelijkaardige locatie op een nieuwe PC. Dit kopieert alle virtuele machines die ik had op de originele PC.
    1. Nu op de nieuwe PC, voer de virtuele box uit en ga naar Menu> Machine> Toevoegen en selecteer .vbox bestand uit de gekopieerde map. Dat is het.
  1. Als ik nu de virtuele machine op een nieuwe PC draai, kreeg ik een fout bij het opstarten:

  1. Ik weet niet waarom de USB-controller niet werkte omdat het op de originele computer wel werkte. Ik heb VirtualBox Extension Pack

2 geïnstalleerd. Deze installatie was een beetje vreemd omdat de installatie download geen uitvoerbaar bestand was. Ik klikte op Oracle_VM_VirtualBox_Extension_Pack-5.1.4-110228.vbox-extpack en selecteerde ‘Selecteer een programma uit een lijst met geïnstalleerde programma’s’ en vervolgens Oracel virtualbox en het installeerde de extensie. Dat loste het probleem op, maar een andere minder wenselijke oplossing is dat je de usb.

3 kunt uitschakelen. Als u gedeelde mappen had in de originele VM, kunnen deze verschillen en krijgt u een foutmelding. Bekijk deze in Instellingen >> Gedeelde map en verwijder de mappen die kapot zijn. Een foutmelding ziet er uit als

.

Dat is alles.

-1
-1
-1
2017-01-03 15:03:14 +0000

zar, first thing first… verplaats nooit een machine die in opgeslagen toestand is, vooraleer te verplaatsen moet je de gast uitschakelen, niet alleen de toestand opslaan.

Zorg er ook voor dat je dezelfde versie van VirtualBOX gebruikt op beide host, maar niet alleen de VirtualBOX versie, ook het uitbreidingspakket vesion… of de nieuwe host heeft tenminste een hogere versie, maar nooit een lagere versie op één van die twee.

En tot slot heb ik het op de harde manier geleerd, verwijder SHARED mapconfiguratie op VirtualBOX voordat de machine wordt verplaatst, maak het dan opnieuw aan op een correcte manier… erg belangrijk als de host een ander OS is (Windows / Linux hosts).

En even terzijde… ik gebruik altijd inmutable hard disk VDI bestanden voor zowel OS als voor data VDI’s (op die manier kan dezelfde DATA VDI voor meer dan gast worden gebruikt), speciaal truc voor 4GiB pagefile. sys

Dat laatste deel, hergebruik van een inmutable VDI bestand maakt het wat moeilijker, VirtualBOX heeft een BIG BUG.

Om de Bug in actie te zien:

  • Maak een inmutable VDI aan (zoals degene die ik gebruik voor pagefile.sys)
  • Maak twee of drie VM’s aan op VirtualBOX
  • Verplaats één ervan naar de top van de lijst (om te voorkomen dat iemand van u beschadigd raakt)
  • BackUp de . vbox bestanden van elk van die machines die je hebt gemaakt (om het te vergelijken na de BUG)
  • Bevestig die inmutable VDI aan meer dan één van die machines (behalve die bovenaan de lijst)
  • Zie nu de .vbox van de machine die bovenaan de lijst staat

Die machine is bewerkt, het heeft verwijzingen naar de andere machines inmutable VDI.

Dus de BUG is: Bewerk de ene machine door een inmutable VDI toe te voegen die door een andere machine wordt gebruikt, beïnvloedt de machine die bovenaan de lijst staat.

Waarom zou ik in godsnaam dezelfde 4GiB VDI opnieuw gebruiken op alle Windows machines? Gemakkelijk, het is een MBR schijf met een FAT32 partitie waar ik pagefile.sys zet, aangezien het inmutable is zullen alle virtuele machines een bestand maken op hun snapshot map waar ze de wijzigingen opslaan, en die verloren gaan bij het volgende opstarten, dus ik heb geen 4GiB nodig voor elke gast die op de host schijf is opgeslagen, slechts één… Op die manier bespaar ik veel GiB omdat ik meer dan 20 verschillende windows heb voor het testen van apps die ik ontwikkel voor mijn eigen, alle combinaties van (XP, Vista, 7, 8, 8.1, 10) (32Bits, 64Bits) (Net zoals bij de eerste installatie, na elke ServicePack, na een volledige windows-update), krijg ik veel, veel gasten… dus op al deze sites deel ik de vaststaande 4GiB VDI voor de virtuele ram (pagefile.sys).

En als je de BUG verder laat gaan, probeer dan een van die machines te verplaatsen naar een andere VirtualBOX host (vergeet niet dat het slechts een virtuele machine is met een configuratie erop en dat er nog geen gast op geinstalleerd is), je zult zien dat VirtualBox je niet toestaat om ze toe te voegen omdat sommige VDI’s ontbreken (het is FALSE en TRUE, het is dat zo'n eerste machine de verwijzingen naar zulke VDI’s insteed of beeing op de juiste machine bevat).

Vergelijk nu de . VBOX bestanden van allemaal met vorige BackUp… merk op hoe men verkeerd is aangepast?… ja, het is degene die bovenaan de lijst staat.

Wel, deze BUG werd enkele jaren geleden aan VirtualBOX geinformeerd, ze kunnen het nog steeds niet repareren… en het veroorzaakt veel, veel problemen.

Ook meer, als je de bovenste op de virtuele machines naar een lagere positie brengt, VirtualBox sluit en opnieuw opstart… zal het je vertellen dat sommige machines beschadigd zijn en niet gestart kunnen worden… ja, de eerste op de lijst moet in een andere vorm behandeld worden als je niet veel problemen wilt krijgen.

Het is een echt slechte BUG die me veel dagen heeft gekost om te ontdekken (enkele jaren geleden) ik leer het op de harde manier!

Ik had het overwonnen door een machine te hebben die ik had gebeld:

  • Common Inmutable Disks

Het heeft een lege configuratie en slechts één VDI, ja, je hebt gelijk, je hebt het geraden, de inmutable VDI die ik deel voor alle andere virtuele machines.

Nou als ik het .VBOX bestand open zie ik daarbinnen veel regels op de <MediaRegistry> <HardDisks> sectie, één per elke machine waar ik die inmutable VDI gebruik… net als een sample (ik verwijder privé gegevens):

<MediaRegistry>
  <HardDisks>
    <HardDisk uuid="...UUID..." location="D:\VDIs\_Virtual_Memory_.vdi" format="VDI" type="Immutable">
      <HardDisk uuid="{...UUID...}" location="Snapshots\{...UUID...}.vdi" format="VDI" autoReset="true"/>
      <HardDisk uuid="{...UUID...}" location="D:\VMs\Windows001 ... // This belongs to other virtual Machine
      <HardDisk uuid="{...UUID...}" location="D:\VMs\Windows002 ... // This belongs to other virtual Machine
      <HardDisk uuid="{...UUID...}" location="D:\VMs\Windows003 ... // This belongs to other virtual Machine
      <HardDisk uuid="{...UUID...}" location="D:\VMs\Windows004 ... // This belongs to other virtual Machine
      <HardDisk uuid="{...UUID...}" location="D:\VMs\Windows005 ... // This belongs to other virtual Machine
      <HardDisk uuid="{...UUID...}" location="D:\VMs\Windows006 ... // This belongs to other virtual Machine
      <HardDisk uuid="{...UUID...}" location="D:\VMs\Windows007 ... // This belongs to other virtual Machine
      <HardDisk uuid="{...UUID...}" location="D:\VMs\Windows008 ... // This belongs to other virtual Machine
      <HardDisk uuid="{...UUID...}" location="D:\VMs\Windows009 ... // This belongs to other virtual Machine
      <HardDisk uuid="{...UUID...}" location="D:\VMs\Windows010 ... // This belongs to other virtual Machine
      <HardDisk uuid="{...UUID...}" location="D:\VMs\Windows011 ... // This belongs to other virtual Machine
      <HardDisk uuid="{...UUID...}" location="D:\VMs\Windows012 ... // This belongs to other virtual Machine
      <HardDisk uuid="{...UUID...}" location="D:\VMs\Windows013 ... // This belongs to other virtual Machine
      ... and so on ... // This belongs to other virtual Machine
    </HardDisk>
  </HardDisks>
</MediaRegistry>

Pretty BUG, niet opgelost sinds jaren.

Nou, om zulke machines te verplaatsen… moet je handmatig de . VBOX bestanden, om al deze schijven op de nieuwe host op de eerste machine te zetten (degene die bovenaan de lijst staat) voordat de .VBOX bestanden aan de lijst worden toegevoegd, dus wanneer je ze toevoegt heeft VirtualBOX de verwijzingen naar de ontbrekende VDI’s (ontbrekend door de grote BUG).

Dit komt omdat elke keer dat je een VDI verbindt die gebruikt wordt op een andere machine VirtualBOX twee machines bijwerkt. VBOX bestanden (degene die hoort bij de machine die je gebruikt) en de eerste op de lijst.

Ik weet niet helemaal zeker wat er zou gebeuren als de eerste op de lijst stond, de eerste heeft niet zo'n gewone VDI erop staan… beter niet proberen, gezien wat ik zie.

Dus het migreren naar een andere HOST is veel gecompliceerder dan wat het lijkt te zijn vanwege een zeer slechte implementatie op .VBOX-bestandeninterne structuur en vanwege echt grote BUG’s als VirtualBOX ze bewerkt.

Fails:

  • Interne structuur (XML) is afhankelijk van de HOST (Windows of Linux)
  • Bewerken van de ene machine kan een andere wijzigen, niet alleen de ene die bewerkt wordt
  • … wat nog meer ?

Hebben meer nodig… ik migreer altijd machines die dit doen (en heb geen probleem gehad, nooit meer):

  1. Noteer de lijst van alle machines (volgorde, groepering, enz.)
  2. 2. Neem nota van de eerste op de lijst (alle configuraties)
  3. 3. Neem nota van alle eigenschappen van machines die ik wil verplaatsen naar een andere host
  4. 4. Kopieer de .vbox bestanden als .txt bestanden (degene bovenaan de lijst + alle machines die ik wil migreren)
  5. Maak alle machines opnieuw aan (en heb een speciale machine bovenaan de lijst) binnen VirtualBox op nieuwe host
  6. 6. Sluit VirtualBox op nieuwe host
  7. Vergelijk de oude .txt met de nieuwe .vbox bestanden en kopieer van .txt naar .vbox sommige onderdelen op een menselijke manier, niet alleen Copy&Paste
  8. 8. Open VirtualBox en voeg alle VDI’s in de juiste volgorde bij
  9. 9. Sluit VirtualBox opnieuw op de nieuwe host
  10. Vergelijk de oude .txt met de nieuwe .vbox bestanden en ‘fix’ sommige delen op een menselijke manier van .txt naar .vbox, niet alleen Copy&Paste

Al de rest (snapshots map en VDI bestanden) kopieer ik op de normale manier (File System Copy&Paste).

Al dat harde handmatige werk wordt veroorzaakt door de Big BUG VirtualBox: Het bewerkt / wijzigt een machine die niet gewijzigd is wanneer je een inmutable VDI aanbrengt die op meer dan één machine gebruikt wordt, anders zou een simpele Copy&Paste het .VBOX bestand voldoende zijn (na het repareren van gedeelde mappen paden, etc).

-2
-2
-2
2017-04-27 23:51:57 +0000

Kopieer de map met de machine naar de bestemming en vervolgens uit het menu: “Machine” —-> “Toevoegen”, en kies dan het vbox-bestand, NIET het vdi-bestand. Voor mij verliep dit vlekkeloos. Ik weet niet zeker of ik geluk heb gehad, of dat het zo moet werken.