Skip to content

VirtualBox to VMware - OVF/OVA Image erstellen und in VMware importieren

Für den Umzug eines virtuellen Systems von VirtualBox zu VMware oder anderen virtuellen Hosts wurde das Format OVF/OVA (Open Virtualization Format) eingeführt.
Dieses ermöglicht den Export/Import von virtuellen Maschinen auf verschiedene Systeme.

So leicht sich dieser Vorgang erscheinen mag, so viele Hürden kann dieser in der Praxis haben.

Ich möchte heute Schritt für Schritt die Konvertierung eines Oracle VirtualBox OVA Images zu einer VMware OVF Vorlage durchgehen. (Als Beispiel könnte der neulich erwähnte Web Security Dojo genommen werden, welches ebenfalls im OVA Format vorliegt).


OVA Image erstellen und in VMware/vSphere (ESXi) importieren

virtualbox-ova-export

Appliance exportieren

Zunächst muss von einer bestehenden virtuellen Maschine in VirtualBox ein OVA Image erstellt werden.

Nachdem im Menü "Appliance exportieren" gewählt wurde, gilt es die ersten Dinge zu beachten:

  • Als OVA Version sollte Version 1.0 gewählt werden
  • Auch sollte der Haken bei "Schreibe Manifest Datei" gesetzt werden

virtualbox-ova-export

Danach ist auf der Festplatte eine "Dateiname.ova" vorhanden.

Image konvertieren

Bevor nun der Import in VMware gestartet werden kann, sollte die Datei konvertiert werden. Dafür stellt VMware die Open Virtualization Format Tools bereit.
Zum Herunterladen dieser Tools ist ein Account notwendig, darum habe ich mich um einen anderen Weg bemüht.

Ein einfacherer Weg ist es die OVA Datei mit 7Zip oder WinZip zu entpacken.

Danach sind im Ordner eine .vmdk, eine .mf und eine *.ovf enthalten. Letztere, also die "Dateiname.ovf", könnte nun mit VMware importiert werden "OCF Vorlage bereitstellen".

ova-entpacken

Image importieren

Oft kommt es jedoch beim ersten Import zu Fehlermeldungen, da in OVF Datei Einträge vorhanden sind, mit denen VMware so seine Probleme hat.

Diese Fehler lassen sich mit etwas Handarbeit beheben.

ova-import-error-ovf

Der Fehler "Nicht unterstützte Hardwarefamilie 'virtualbox-2.2" lässt sich durch editieren der "Dateiname.ovf" behehen.  (Als Editor kann hier Notepad++ oä. genommen werden).

Sobald die Datei geöffnet ist kann mit Strg+F nach dem Wert "virtualbox" gesucht oder gleich die Zeile (29) aufgerufen werden.

<vssd:VirtualSystemType>virtualbox-2.2</vssd:VirtualSystemType>

Diese wird ab ESXi 5.x ersetzt durch:

<vssd:VirtualSystemType>vmx-08</vssd:VirtualSystemType>

Ein weiterer Fehler der aufreten kann ist: "Keine Unterstützung für Gerätetyp 20".

ova-import-error

Auch hier kann eine Lösung mit Hilfe der OVF gefunden werden.

Suche

<Item>
<rasd:Address>0</rasd:Address>
<rasd:Caption>sataController0</rasd:Caption>
<rasd:Description>SATA Controller</rasd:Description>
<rasd:ElementName>sataController0</rasd:ElementName>
<rasd:InstanceID>5</rasd:InstanceID>
<rasd:ResourceSubType>AHCI</rasd:ResourceSubType>
<rasd:ResourceType>20</rasd:ResourceType>
</Item>

Ersetze mit

<Item>
<rasd:Address>0</rasd:Address>
<rasd:Caption>SCSIController</rasd:Caption>
<rasd:Description>SCSI Controller</rasd:Description>
<rasd:ElementName>SCSIController</rasd:ElementName>
<rasd:InstanceID>5</rasd:InstanceID>
<rasd:ResourceSubType>lsilogic</rasd:ResourceSubType>
<rasd:ResourceType>6</rasd:ResourceType>
</Item>

Ein letzter Fehler, der sich bei meinem Test bemerkbar machte, konnte behoben werden, indem der Bereich einfach ignoriert wurde. (Zeile 83)

Suche

     <Item>
        <rasd:AddressOnParent>3</rasd:AddressOnParent>
        <rasd:AutomaticAllocation>false</rasd:AutomaticAllocation>
        <rasd:Caption>sound</rasd:Caption>
        <rasd:Description>Sound Card</rasd:Description>
        <rasd:ElementName>sound</rasd:ElementName>
        <rasd:InstanceID>7</rasd:InstanceID>
        <rasd:ResourceSubType>ensoniq1371</rasd:ResourceSubType>
        <rasd:ResourceType>35</rasd:ResourceType>
      </Item>

Da es sich nur um das Soundmodul handelt, kann dieses erst einmal ignoriert werden.

      <Item ovf:required="false">
        <rasd:AddressOnParent>3</rasd:AddressOnParent>
        <rasd:AutomaticAllocation>false</rasd:AutomaticAllocation>
        <rasd:Caption>sound</rasd:Caption>
        <rasd:Description>Sound Card</rasd:Description>
        <rasd:ElementName>sound</rasd:ElementName>
        <rasd:InstanceID>7</rasd:InstanceID>
        <rasd:ResourceSubType>ensoniq1371</rasd:ResourceSubType>
        <rasd:ResourceType>35</rasd:ResourceType>
      </Item>

Nun sollte einen Import über "OVF-Vorlage bereitstellen" Nichts mehr im Wege stehen.


Alternativ möchte ich hier die Konvertierung mit Hilfe des OVFTools über die Kommandozeile ausführen

Konvertierung mit den OVFTools

Diese müssen wie oben bereits erwähnt zunächst heruntergeladen und installiert werden.

OVFTools

Danach genügt es den unten beschriebenen Befehle auszuführen.

C:\Program Files\VMware\VMware OVF Tool\ovftool.exeovftool.exe --lax "C:\Pfad\zum\Image\Dateiname.ova" "C:\Pfad\zum\Image\Dateiname.ovf"


Troubleshooting

Damit auch wirklich keine Hürde bestehen bleibt, hier noch ein paar weitere Tipps

Fehlermeldung

Error:
 - Line 2: Incorrect namespace 'http://schemas.dmtf.org/ovf/envelope/2' found.
Completed with errors

Lösung: Die richtige OVA Version (1.0) beim Exportieren wählen.

Fehlermeldung

Capacity of uploaded disk is larger than requested

Lösung: In der OVF Datei nach "<DiskSection> </DiskSection>" suchen und die Festplattenkapazität anpassen.

VLC Player 3.0 auf Ubuntu installieren

Die letzten Tage war der VLC Player stärker denn je in den Medien vertreten. Der Grund war ein Changelog für die kommende Version 3.0, welche viele neue Features mitbringt. So soll unter anderem Chromecast, Wayland , Daala und vieles mehr unterstützt werden.

vlc-3.0

Die kommende Version 3.0 Vetinari lässt sich bereits jetzt auf Ubuntu nutzen. Es handelt sich zwar noch um eine Entwickler Version, diese läuft jedoch bereits stabil. Referenzsystem für diese Anleitung ist wie immer Ubuntu 14.04.

VLC Player 3.0 auf Ubuntu installieren

Im ersten Schritt sollte der alte VLC Player deinstalliert werden. Ich vermute das dieser bereits auf den meisten Systemen installiert ist.

sudo apt-get --purge remove vlc

Danach kann das Repository für den aktuellen Build hinzugefügt werden.

sudo apt-get -y install software-properties-common

sudo add-apt-repository ppa:videolan/master-daily

sudo apt-get update

sudo apt-get install --reinstall vlc

Troubleshooting

Ich hatte bei der Installation Probleme mit Abhängigkeiten

Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 vlc : Depends: vlc-nox (= 3.0.0~~git20150220+r59493+33~ubuntu14.04.1) but it is not going to be installed
       Depends: libavcodec55 (>= 6:9.1-1) but it is not installable or
                libavcodec-extra-55 (>= 6:10~~git20131218.b3189af~ubuntu14.04.1) but it is not installable
       Depends: libavutil53 (>= 6:9.1-1) but it is not installable
       Recommends: vlc-plugin-notify (= 3.0.0~~git20150220+r59493+33~ubuntu14.04.1) but it is not going to be installed
       Recommends: vlc-plugin-samba (= 3.0.0~~git20150220+r59493+33~ubuntu14.04.1) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

Das Problem konnte mit dem Einfügen eines weiteren Repository gelöst werden.

sudo add-apt-repository ppa:motumedia/libav10-trusty
sudo apt-get update
sudo apt-get install --reinstall vlc

Stabile Version des VLC Players installieren

Wer mit der unstabilen Version des VLC Player nicht zurecht kommt, der kann auch wieder auf die stabile Version wechseln.

sudo apt-get --purge remove vlc

sudo apt-get install ppa-purge

sudo ppa-purge videolan/master-daily

sudo add-apt-repository ppa:videolan/stable-daily

sudo apt-get update

sudo apt-get install vlc