Virtualtango

Schritt für Schritt: Wie man eine virtuelle Parallels-Maschine in Virtualbox überführt. Schön langsam zwei Schritte vor, einmal gedreht und Wie-ge-schritt.

Die Mac-Virtualisierungssoftware “Parallels Desktop” habe ich für einen Appel und ein Ei bekommen, als sich ein Bekannter ein neues Macbook zugelegt hat. Für Windows funktioniert sie auch vorzüglich und integriert sich nahtlos ins OS X – kein Grund zu wechseln. Mit meiner Linux-Installation sieht das anders aus, da gibt Parallels sich unkommod und sperrig – es ist ja nun wirklich kein Zustand, wenn man eben schnell mal einen aufgenommenen Fernsehfilm zur DVD mastern will und dafür erst stundenlang über einen internen Samba-Server Daten hin- und hertransportieren muss, weil Parallels für Linux keine vernünftige Festplatten-Integration anbietet. (Mehr zu den vergleichsweisen Vorteilen von Virtualbox am Ende dieses Artikels.)

Also habe ich beschlossen, virtuell nach Virtualbox umzuziehen. Die Herstellerfirma dieser kostenlosen Virtualisierungslösung hat sich erfreulicherweise von Sun kaufen lassen; Virtualbox ist also für Privatanwender weiter kostenlos, sogar in der Closed Source-Version. Das geht, ist aber eins-zwei-drei-vor-zurück-vor: ein ziemlicher Tanz – und die Beschreibungen, die ich gefunden habe, lassen immer den entscheiden Zwischenschritt aus und bringen Untergeeks wie mich ins Stolpern. Also hier das Tanzkärtchen für den Virtualtango in aller Ausführlichkeit.

1. Parallels-Maschinen herunterfahren.

Klingt banal, erleichtert aber am Ende vieles – wenn die VM in Betrieb ist, klappt der Import nicht immer. Also: Noch ein letztes Mal die Linux-Parallels-Maschine angeworfen und abgeschaltet, nicht nur zwischengespeichert.

2. Demoversion von VMware Fusion für Mac besorgen.

Moment – ich wollte doch Virtualbox statt Parallels, und jetzt muss ich mir noch einen dritten Virtualisierer holen? Leider. VMware kann Parallels-Maschinen importieren. Virtualbox kann dann wiederum VMware-Disk-Images lesen; mit diesem Dreisprung klappt’s. (Wer will, kann übrigens dem Vernehmen nach  auch mit dem Opensource-Emulator qemu herumspielen – das muss man mögen.)

VMWare Fusion gibt es hier. Die Firma quält einen mit einem umfangreichen Registrierungs-Prozess und will außer der Schuhgröße so ziemlich alles über einen wissen, schickt dann in kürzester Zeit sechs Begrüßungs-E-Mails und tut auch sonst alles, um zu nerven. Der Lohn der Nerverei: eine funkelniegelnagelneue 30-Tage-Testversion des VMware-Virtualisierers. So lange brauchen wir sie aber gar nicht.

3. Erste Maschine importieren.

Wenn VMware Fusion installiert ist, ist der nächste Schritt einfach:

VMware Fusion importiert eine Parallels-Maschine

Menü Ablage/Import… und dann die virtuelle Maschine von Parallels suchen. Sie steckt in einer Datei mit der Endung .pvs, hier also suse.pvs. (Dass ich eine Opensuse-Linux-Installation umsetzen musste, ist ein historischer Zufall, mit – sagen wir mal – Ubuntu geht das alles genauso und die Integration in Virtualbox ist sogar noch einen Tacken besser am Ende.)

virt3

Wie man sieht, enthält die VM sogar zwei virtuelle Festplatten: suse.hdd und disk.hdd; das bekommt VMware aber von alleine mit; da ist kein weiteres Handeln nötig.

Was ich aber für eine gute Idee halte: VMware untersagen, die neue virtuelle Maschine in windowsfreundliche 2GB-Bröckchen zu zerscheibeln; wenn man nicht gerade die Perversion besessen hat, seinem Mac eine mit dem alten Windows-Dateisystem FAT32 formatierte Platte unterzuschieben, ist das überhaupt nicht nötig und eine potentielle Fehlerquelle. Also flugs auf  “Festplattenoptionen” klicken und den entsprechenden Haken entfernen. (Der Haken bei “Festplattenkapazität jetzt zuweisen” scheint den Import weder zu behindern noch zu befördern.

VMware-Import: Festplattenoptionen eingestellt

Jetzt auf das Importieren-Symbol klicken. Dann Kaffee trinken gehen und dabei den allen ITler-Song singen: “Must I always be waiting, waiting for you?” Das Umsetzen der 35GB-Maschine hat auf meinem 1,6GHz-Doppelkern-Minimac ungefähr eine halbe bis Dreiviertelstunde gedauert. Netterweise gibt’s einen Fortschrittsbalken. Am Ende steht eine Datei mit VMware-Icon, die ich einfach “SUSE Linux” genannt habe

Wer mehrere Maschinen umsetzen will, kann schon mal die nächste beauftragen, während er die nächsten Schritte angeht.

4. Was, bitte, ist .vmdk? Und wo?

Für Übergeeks ist das, was jetzt kommt, lächerlich; ich wäre beinahe dran gescheitert. Mit ein wenig Recherche ist schnell zu finden, dass die Virtualbox sich ihre virtuellen Festplatten aus den VMware-Dateien zusammenbauen kann. Wie, ist auch klar: Virtualbox installieren, starten, und gleich als erstes den “Manager für virtuelle Medien” aufrufen (im Menü “Datei”) – dort gibt man Virtualbox Festplatten, CD/DVD- und Disketten-Images an.

Nun wäre es doch einfach, wenn man die neue, frisch konvertierte VMware-Datei einfach dort hineinwerfen könnte. Also: “SUSE Linux” mit der Maus gegriffen, in das Datenträger-Manager-Fenster gezogen – und leider festgestellt: so geht’s nicht; wütende, aber wenig informative Fehlermeldungen von Virtualbox sind die Folge.

Die .vmdk-Disk-Images befinden sich im Inneren des Pakets!

Die Lösung liegt darin, dass man Virtualbox nicht die ganze virtuelle Maschine zu fressen gibt, sondern nur die Disk-Images. Sie sind erkennbar an der Dateiendung .vmdk und verstecken sich im Innern unserer “SUSE Linux”-Datei – die ist nämlich ein Mac-typisches Paket, das wir erst einmal aufschnüren müssen: Rechtsklick auf die Datei, dann im Kontextmenü “Paketinhalt zeigen” anwählen – und schon haben wir ein Finder-Fenster, in dem die gesuchten .vmdk-Dateien stecken.

Dass es in unserem Beispiel gleich “Dateien” waren und nicht nur eine Datei, liegt an zwei Dingen:

  • Zum einen besteht jedes Disk-Image mindestens aus einer Index- und einer Datendatei – die etwa 4KB große Datei “suse.vmdk” ist es, die wir nun nehmen und in das Virtualbox-Fenster werfen; die gigabytegroße “suse-flat.vmdk” ignorieren wir; die holt sich Virtualbox selber.
  • Zum anderen umfasste meine virtuelle Maschine zwei virtuelle Disks; für die zweite virtuelle Festplatte habe ich das Spiel wiederholt.

Bitte nicht auf die Idee kommen, die VMWare-Datei jetzt zu löschen – Virtualbox legt keine Kopie an, sondern verwendet wirklich die Dateien aus dem VMware-Paket! Was dagegen in den Papierkorb kann, sobald alles läuft, ist die der gesamte Ordner mit den Dateien der virtuellen Maschine von Parallels – die “.pvs”-Datei mit der Konfiguration wie die “.hdd”-Dateien mit den virtuellen Festplatten.

5. Ein neues Heim einrichten

Wer mitgedacht hat, hat’s geahnt: Importiert werden nur die virtuellen Disks – die eigentliche virtuelle Maschine muss man in Virtualbox selbst einrichten. Das ist zum Glück mit ein paar Klicks getan. Im Virtualbox-Hauptfenster auf “Neu” klicken, eine Opensuse-Maschine schöpfen; ich habe meiner 512MB Haupt- und 20MB Grafikspeicher zugeteilt (inklusive 3D-Beschleunigung). Als Festplatte hänge ich die SUSE-Disk primär und die Daten-Disk sekundär ein. Dann weise ich noch das CD-ROM-Laufwerk des Mac zu, damit ich den nächsten Schritt tun kann – und boote. Mit der Opensuse-Installations-DVD im Laufwerk.

6. Reparaturinstallation

Damit hat es folgende Bewandnis: Auf dem Weg durch die virtuellen Maschinen hat Suse völlig durcheinander bekommen, wie welche virtuelle Festplatte heißt. Es kennt sie nur bei ihren IDs, die haben sich aber beim Marsch durch die virtuellen Instanzen verschoben. Kein Problem: Opensuse (bzw. Debian, Ubuntu, Fedora…) bekommt das im Laufe einer “Reparaturinstallation” schnell wieder auf die Reihe.

Was die Reparaturinstallation automatisch vollbringt, kann man (und muss man manchmal) auch von Hand korrigieren:

  • die Mountpunkte korrigieren – in der Datei /etc/fstab von Hand die Linux-Partitionen der virtuellen Disks eintragen; bei mir waren das /dev/sda1 für swap und /dev/sda2 für / (root).
  • die Optionen für den Bootmanager anpassen – in der Bootmanager-Datei /boot/grub/menu.lst, wo immer noch die armlange Festplatten-ID zu finden und ersetzen ist.

Nach diesem Reparaturschritt tickert eine traumschöne Virtualbox-Maschine vor sich hin – und sie wird noch viel schöner, wenn man jetzt die Gasterweiterungs-Tools installiert und den vollen Komfort von Virtualbox genießt…

Nachtrag: Und wieso das alles?

Hier die Punkte, über die ich mich bei Virtualbox nicht mehr ärgern muss, weil sie der kostenlose Virtualisierer von Sun ganz selbstverständlich auch für Linux-Gäste bietet (nachdem man die “CD” mit den Gasterweiterungs-Tools eingeworfen und als Superuser die entsprechende Datei ausgeführt hat):

  • “Seamless Mode”: Fenster des Gastbetriebssystems in den normalen Desktop integrieren
  • Das Linux-Fenster wie ein normales Programmfenster behandeln, ohne Maus und Tastatur erst fangen und freigeben zu müssen
  • Automatische Anpassung der Auflösung an die Fenstergröße
  • Gemeinsame Ordner für Gast- und Wirtsbetriebssystem
  • Netzwerkadapter funktioniert problemlos (wobei ich Opensuse erst unter Yast2 einmal durch die Netzwerk-Konfiguration schicken musste, damit es die neue virtuelle Hardware einband).
  • Virtualbox gibt es für Mac, Windows, Linux. Wenn es je nötig sein sollte, über Systemgrenzen umzuziehen, tut es eine einfache externe (NTFS)-Festplatte mit den Dateien.

Zugegeben: Die Einfachheit, mit der man eine Parallels-Maschine schlafen schicken kann (und am selben Punkt wieder aufwecken), die bietet Virtualbox nicht. Und sie ist zumindest gefühlt ein wenig langsamer. Dafür ist sie für Privatanwender kostenlos. Sehr schön. Für mein virtuelles XP bleibe ich bei Parallels – aus dem einfachen Grund, dass man funktionierende Systeme nicht ohne Grund neu aufsetzen soll…

Verwandte Artikel:

Leave a Reply

Your email address will not be published. Required fields are marked *