Funktioniert
NT booten, Linux booten, NT booten - wer möchte das schon gern? Wabi oder gar einen zweiten Rechner mag sich nicht jeder leisten, freie Windows-Emulationen wie Wine sind noch nicht weit genug entwickelt. Eine Alternative könnte VMware sein.
- Christian Kirsch
Einige Programme haben bisher versucht, Windows-Software auf fremden Betriebssystemen zum Laufen zu bringen, etwa Wine und Twin bei den Freien, Wabi für Anhänger kommerzieller Lösungen. Richtig glücklich ist wohl noch niemand damit geworden - zu viele Geheimnisse birgt das Redmonder System, als daß jedes API-Detail perfekt nachzuprogrammieren wäre.
Einen anderen Weg schlägt die kalifornische Firma VMware ein. Sie setzt auf ein Konzept, von dem seit Jahren keine Rede mehr war: Emulation der PC-Hardware. Ihr Programm, das ebenfalls VMware heißt, gaukelt einem (fast) beliebigen Intel-Betriebssystem genau das vor, was es haben will - einen Intel-PC. Dazu bedient es sich eines Gastsystems, das die Schnittstelle zur echten Hardware bereitstellt.
Zur Zeit ist VMware für Linux als Beta-Version erhältlich, an der Unterstützung von NT als Gastsystem arbeitet die Firma. Interessierte können sich die knapp 2 MByte herunterladen. Zum Betrieb ist eine Lizenznummer nötig, die es gegen Abgabe der üblichen Registrierungsinformationen gibt. Bevor man das Programm installiert, sollte man allerdings sicherstellen, daß /usr/src/linux existiert und die Quellen des gerade laufenden Kernels enthält. Außerdem muß /usr/include/linux auf die Header-Dateien wieder dieses Kernels gelinkt sein.
Ein bißchen Platz sollte die lokale Festplatte noch bieten. Schließlich ist nicht nur VMware zu installieren, das ausgepackt rund 3,5 MByte belegt. Vor allem das neue Betriebssystem, heißt es nun Windows NT, 95, 98 oder SuSE 6.0, braucht Raum für seine Daten. Während der Installation ist die Größe dieses Datenbereichs anzugeben. Hierbei ist Planung gefragt, denn vergrößern läßt sich diese Pseudodatei später nicht mehr.
Windows in der SuSE im RedHat …
Nebenbei stand es dort gerade: VMware kann laut Dokumentation Linux innerhalb von Linux emulieren. Wer also schon immer mal eine SuSE- innerhalb einer RedHat-Distribution laufen lassen wollte - hier ist die Gelegenheit. Die sich nun geradezu aufdrängende Frage, ob man innerhalb dieser Linux-Emulation dann eine weitere VMware-Maschine installieren könne, um in ihr vielleicht Windows 98 laufen zu lassen, beantwortet der Hersteller übrigens mit ‘Nein’. Für diesen ersten Test haben wir derlei exotische Konstellationen außen vor gelassen und lediglich einen Versuch mit NT 4.0 (Workstation) unternommen. Das Gastsystem war ein RedHat 5.1 mit einigen neuen Zutaten, unter anderem dem Kernel 2.2.3. Er ackerte auf einem 300-MHz-AMD-K6/2 mit 128 MByte RAM und einer 9-GByte-DGHS-Platte von IBM. Nach Redaktionsschluß starteten wir dasselbe Experiment mit einer SuSE 6.1-Beta. Mit ein bißchen Nachhilfe im VMware-BIOS ließ sich dieses Linux ohne Bootdiskette direkt von der CD-ROM installieren. Für die Hardware-Unterstützung gilt das später über Windows NT Gesagte, störend wirkte natürlich auch unter Linux die mangelhafte Tastaturunterstützung.
Stimmen die Voraussetzungen, läuft die Installation schmerzlos ab. Die VMware-Programme landen dort, wo man sie haben möchte, nach /etc/rc.d kopiert sich ein Init-Script. Es sorgt für den Start der nötigen Kernelmodule beim Booten. Direkt nach dem Einspielen steht der virtuelle PC zur Verfügung - allerdings noch ziemlich nackt. Man muß ihm zunächst die Parameter für das gewünschte Betriebssystem mitgeben, insbesondere die ‘Platten’größe und Lage, die gewünschten Netzeinstellungen sowie serielle und parallele Schnittstellen. Bis auf die Festplattenparameter läßt sich all dies allerdings noch später erledigen. Wer mehrere Betriebssysteme beherbergen will, kann für jedes von ihnen eine Konfiguration erstellen. So lassen sich NT, Windows 95, 98 und irgendwann mal 2000 bei Bedarf (und Platz) nebeneinander betreiben.
Unabhängig von der real existierenden Hardware bietet VMware vier IDE-Platten an. Existiert /dev/cdrom, wird es automatisch als Secondary Master eingebunden. Die restlichen drei Platten (Primary Master und die beiden Slaves) kann man beliebigen Dateien zuordnen, solange das Filesystem hinreichend Platz bietet. Jeder dieser Massenspeicher kann in einer von drei Betriebsarten arbeiten: persistent, nicht-persistent und reversibel (‘undoable’). Die erste Einstellung sorgt für das bei Festplatten beliebte Verhalten - geschriebene Daten überleben das Ausschalten des Rechners beziehungsweise das Anklicken des ‘PowerOff’-Knopfes in VMware. Nicht-persistente Platten hingegen vergessen alle jemals auf ihnen geschriebenen Daten unwiderruflich beim Herunterfahren des Betriebssystems. Der Hersteller sieht dies als sinnvolle Einrichtung für Umgebungen, die sich nach dem Einschalten in immer demselben wohldefinierten Zustand befinden sollen. Reversible Platten schließlich ähneln den nicht-persistenten. Sie bieten dem Benutzer jedoch beim Ausschalten die Option an, sämtliche Änderungen seit dem Start des Rechners persistent zu machen.
Alte Zeiten, schwarze Zeiten
Nach dem Start präsentiert sich VMware als schmuckloses weißes Fenster mit Menübalken und fünf direkt zugänglichen Knöpfen. Ein Klick auf ‘PowerOn’ verwandelt das Bild zu dem, was man von jedem älteren jungfräulichen PC kennt: schwarzer Schirm, BIOS-Meldung, Bootprozeß. Letzterer sucht naturgemäß zunächst im Diskettenlaufwerk nach irgend etwas Benutzbarem, da noch kein Betriebssystem installiert ist. Ist eine NT-Boot-Diskette eingelegt, verläuft ab hier zunächst alles wie bekannt.
Bis es ans Erkennen der vorhandenen Massenspeicher geht. Das klappte zunächst nicht, das CD-Laufwerk erschien nicht in der Liste. Als Ursache vermuteten wir, daß VMware mit dem eingebauten Vierfachwechsler nicht zurechtkam. Der Austausch gegen ein uraltes Einfachlaufwerk brachte zunächst keine Besserung. Nach ein bißchen Rumspielen in VMwares BIOS-Einstellungen ging’s schließlich doch, ohne daß der Grund des Problems klargeworden wäre.
Nach der üblichen Zeit war NT 4.0 installiert. Der subjektive Eindruck sprach jedenfalls dafür, eine exakte Zeitmessung erübrigt sich bei Beta-Software. Das anschließende Aufspielen von Word bot keine Aufregungen, und es war ohne jeden zusätzlichen Klimmzug lauffähig (siehe [[bild_url1] Aufmacher]). Das Eintippen erster Sätze stellte sich dann allerdings als wenig befriedigend heraus. Deutsche Tastaturen scheinen in den USA nur virtuell zu existieren, weshalb ein ‘ß’ kommt, wenn man den Bindestrich drückt. Auf ‘Ü’s muß man ganz verzichten, dafür gibt’s ein ‘Ä’ auf der Apostroph-Taste. Richtig nervt daran, daß offensichtlich der Backslash überhaupt nicht zu erreichen ist. Das erleichtert das Arbeiten mit Windows nicht unbedingt. Bei VMware ist man sich der Mängel inzwischen bewußt und versucht, Tastaturen verschiedener Provenienz zu Testzwecken zu erwerben.
Weniger Komplikationen tauchten bei einer anderen Funktion der Textverarbeitung auf, die die meisten nicht missen mögen: irgendwann soll fast jedes Dokument mal gedruckt werden. Der erste naive Versuch, VMware schlicht /dev/lp0 als LPT1 unterzuschieben, scheiterte an den Zugriffsregelungen. Schließlich gehört der Drucker unter Linux dem zuständigen Spooler, und der mag sich nicht von anderen Anwendungen das Gerät wegnehmen lassen.
Aber wozu taugt ein Printer-Spooler, wenn nicht auch dazu, Dateien von anderen Rechnern zu Papier zu bringen? Mit Hilfe der LPR-Unterstützung von NT ließ sich das Gewünschte erreichen: Linux-Rechner als Host eintragen, gewünschte Druckerqueue wählen, fertig.
Netzanschluß per fingierter Karte
Beim Netzanschluß war die Illusion fast perfekt: Ein Fenster auf der Linux-Maschine enthält einen vollständigen NT-Rechner, der für jeden Interrupt und jeden Tastendruck auf das freie Betriebssystem zugreift, ohne davon etwas zu merken. Als Netzanschluß dient die Fiktion einer ‘AMD PCNet’-Karte, die man genau wie jede andere Karte unter NT installiert. VMware ‘bedient’ dieses Gerät je nach Bedarf mit einem von vier IP-Interfaces auf Linux-Seite (vmnet0 .. vmnet3).
Ähnlich wie bei den verschiedenen Betriebsarten für seine Festplatten-Schimären bietet VMware unterschiedliche Netzanschlüsse:
- Host-only für sicherheitsbewußte Zeitgenossen. Hier kann die virtuelle Maschine direkt nur mit dem Gastsystem und mit auf ihm laufenden, anderen virtuellen Maschinen kommunizieren. Der Verkehr mit dem Internet ist über Proxies zu erledigen.
- Bridged für vollen transparenten Zugriff auf Intra- und Internet. Dabei stellt sich die virtuelle Maschine als eigener Host dar, mit IP-Adresse und Hostnamen.
Ein System der ersten Art kann sich des von VMware mitgelieferten DHCP-Servers bedienen, um seine IP-Adresse zu erfahren, bridged Systeme benutzen dazu den normalen Daemon im Netz. Ein ping auf die Adresse des emulierten NT-Rechners brauchte im Test etwa acht- bis zehnmal mehr Zeit als auf das Loopback-Interface.
Diese Zeit bedeutet für eine andere Anwendung jedoch keine nennenswerte Einschränkung: Samba steht bereit, um per virtuellem Netz den virtuellen NT-Rechner mit echten Daten zu versorgen. So ist die Integration beider Welten auf einer Hardware möglich, ohne daß auf den Linux-Platten neue Dateisysteme einziehen müßten. Der Zugriff auf ‘eigentlich’ lokale Daten über ein Netz ist zwar etwas ungewohnt, aber er funktioniert zuverlässig und dank smbclient in beide Richtungen.
Soundunterstützung bietet VMware analog zum Netz. Es spiegelt NT das Vorhandensein eines Soundblasters vor und bedient sich dazu der Soundimplementierung im Linux-Kernel. Im Test war das Ergebnis allerdings nicht überzeugend, die Klänge kamen nur zerhackt an. Perfekt lief hingegen die Einbindung der seriellen Schnittstelle. Ein PalmPilot ließ sich mit der üblichen Windows-Software ruckzuck synchronisieren.
Beta-Software kann man nicht endgültig bewerten, weshalb hier kein Fazit und keine Benchmark-Ergebnisse stehen. Hinter einer solchen Beta könnte sich allerdings so mancher Hersteller mit seinem fertigen Produkt verstecken: nützlich, unkompliziert, flexibel - und funktioniert. (ck)