VirtualBox: VMDK-Images zu VDI-Images convertieren einfach & schnell

oracle VirtualBox LogoAktuell vollziehe ich gerade den seit langem fälligen Umstieg von VMware Server auf VirtualBox mit Ubuntu als Host-Plattform. VirtualBox kommt übrigens schon von Haus aus mit kompletter DKMS-Unterstützung daher, das vereinfacht Kernel-Updates ungemein, keine ständigen Neucompilierungen von VMware-Kernel-Modulen mehr.

Gleich nach der erfolgreichen Installation und den ersten laufenden vMaschinen, machte ich mich daran meine Sammlung von vMaschinen von VMware zu VirtualBox zu migieren. Was mit dem aktuellen VirtualBox 3.2 eigentlich kinderleicht ist, da es direkt das Containerformat VMDK von VMware unterstützt.

Um eine virtuelle Maschine unter VirtualBox erstmal zum Laufen zubringen, ist das eine feine Sache, aber langfristig möchte man schon die vollen Möglichkeiten des nativen VDI Container-Formats von VirtualBox nutzen.

Der umständliche Weg

Schnell findet sich dazu im Netz ein Weg, wie man aus VMDK-Dateien eine VDI-Datei macht. In der Regel wird dazu vorgeschlagen das Paket qemu zu installieren und dann das VMDK-Image zunächst in ein rohes Festplatten-Abbild (Raw-Image) um zu wandeln und dann erst in ein VDI-Image.

qemu-img convert /path/to/original.vmdk converted.raw
VBoxManage convertfromraw converted.raw converted.vdi

Das hat aber den Nachteil das es länger dauert und insbesondere mehr Platz benötigt als es müsste, da ja die virtuelle Festplatte vollständig gespiegelt wird, egal ob nur 10% oder 90% belegt sind. Was insbesondere auch bei VMDKs von sehr großen virtuellen Platten zum Problem werden kann.

Der bessere Weg

Anscheinend hat es sich noch nicht weit verbreitet, das es seit einigen Version von VirtualBox einen direkten Weg gibt, mit boardeigenen Mitteln von VirtualBox. mit folgendem Befehlsaufruf kann man ein VMDK-Image in einem Zug convertieren.

VBoxManage clonehd --format vdi /path/to/original.vmdk /path/to/converted.vdi

Dieser Weg geht übrigens sogar auch unter Windows als Hostsystem. Einzig kleines Manko an diesem Weg, ist der Fall falls das VMDK-Image schon mit einer Virtuellen Maschine von VBox verbunden wurde. Dann steigt VBoxManage mit einer Fehlermeldung aus.

VBoxManage clonehd Harddisk.vmdk Harddisk.vdi
Oracle VM VirtualBox Command Line Management Interface Version 3.2.4
(C) 2005-2010 Oracle Corporation
All rights reserved.

ERROR: Cannot register the hard disk '/HardDisks/Harddisk.vmdk' with UUID {53853218-ce4f-4c76-969b-2b4244ce7733} because a hard disk '/HardDisks/Harddisk.vmdk' with UUID {53853218-ce4f-4c76-969b-2b4244ce7733} already exists in the media registry ('/home/schwalm/.VirtualBox/VirtualBox.xml')
Details: code NS_ERROR_INVALID_ARG (0x80070057), component VirtualBox, interface IVirtualBox, callee nsISupports
Context: "OpenHardDisk(Bstr(szFilenameAbs), AccessMode_ReadWrite, false, Bstr(""), false, Bstr(""), srcDisk.asOutParam())" at line 630 of file VBoxManageDisk.cpp

Das ist aber im Prinzip auch kein Problem, in so einem Fall tauscht man lediglich den Namen der VMDK-Datei gegen die UUID (in geschweiften Klammern) aus. Bezogen auf die Fehlermeldung oben muss dann der Aufruf beispielsweise lauten ..

VBoxManage clonehd --format vdi {53853218-ce4f-4c76-969b-2b4244ce7733} /path/to/converted.vdi

 

Links

http://ubuntu-tutorials.com/2009/03/22/how-to-convert-vmware-image-vmdk-to-virtualbox-image-vdi

http://forums.virtualbox.org/viewtopic.php?f=6&t=16852

http://forums.virtualbox.org/viewtopic.php?f=1&t=24505

Send to Kindle
Kommentar schreiben

8 Kommentare.

  1. Das ist hitverdächtig!
    Sogar mein Proplem mit dem –compact hat sich so erledigt.
    Vielen Dank

  2. Vielen Dank, das habe ich gesucht!

    Inzwischen geht es auch ohne Fehlermeldung bei verbundenen Medien. 🙂

    Viele Grüße
    Andreas

  3. Danke für die Hilfe. Hat mir geholfen das VMDK erst in VDI zu wandeln und danach zu vergrößern. Top!

  4. Hallo Herr Schwalm,

    ich bin begeistert von dem gut strukturierten Beitrag.
    Hat mir heute sehr geholfen bei meiner Arbeit mit VBox, ohne ewiges Suchen in der Hilfe des VBoxManage, ans Ziel zu kommen.
    Ich musste nur noch mittels GParted die Partition meines virt. XPs auf den „frei gewordenen“ Platz vergrößern. Nun läuft alles spitze.

  5. Super Tip, hat mir gerade perfekt geholfen das vdmk-image in vdi zu wandeln um dann letzteres zu vergrößern.
    Meine VDI/VDMK files liegen auf einem NAS und dort habe ich sie konvertiert. Funktioniert perfekt.
    Es gab zu keiner Zeit eine Fehlermeldung.

    Danke nochmal
    Gruß
    Matthias

  6. Hallo! Ich bin Christine
    liebe gruesse an alle, ich bin gerade erst auf diese seite gestossen!

    tschuessi
    Christine

Kommentar schreiben


Hinweis - Du kannst dies benutzenHTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>