So mancher Linux-Einsteiger stellt sich die Frage, ob er wohl alte DOS- oder Windows-Software weiterhin nutzen kann. Wir erläutern, wie Sie widerspenstige Software auch unter dem freien Betriebssystem zur Kooperation bewegen.
Manchmal könnten Umsteiger von Windows auf Linux verzweifeln: Ausgerechnet für eine wichtige Windows-Anwendung, die sie seit Jahren nutzen, gibt es weder eine native Linux-Variante noch einen adäquaten Ersatz. Doch ein solches Problem bedeutet nicht, dass man auf die betroffene Software verzichten muss: Wohl kein anderes Betriebssystem eignet sich so gut als Integrationsplattform für Software aus verschiedenen fremden Welten wie Linux.
Schon vor mehreren Dekaden tauchte mit dem Siegeszug des PCs und den verschiedenen darauf lauffähigen Betriebssystemen der Wunsch auf, Anwendungen auch unter fremden Plattformen zu nutzen. Bereits in den 90er-Jahren ermöglichten es Betriebssysteme wie IBMs legendäres OS/2 oder auch die Virtualisierungslösungen der Connectix Corporation für Apple-Computer, einige Anwendungen aus der DOS- und der 16-Bit-Windows-Welt im Host-Betriebssystem mittels eines Emulators oder – wie bei Connectix – mithilfe einer virtuellen Umgebung auszuführen.
Inzwischen haben sich dank der signifikant gestiegenen Leistungsfähigkeit von Prozessoren sowohl virtuelle Maschinen als auch Laufzeitumgebungen für Fremdprogramme durchgesetzt. Die Vorreiterrolle übernimmt dabei Linux, das durch eine nahezu unüberschaubare Anzahl von Emulatoren sowie Virtualisierungs- und Laufzeitumgebungen praktisch jede Software nutzbar macht.
Emulatoren, die ein komplettes Betriebssystem nachbilden, spielen dabei aufgrund der Komplexität moderner 64-Bit-Systeme eine immer geringere Rolle: Zu groß ist der Aufwand, solche Systeme zu emulieren. Für aktuelle Anwendungen vor allem aus der Windows-Welt nutzt Linux vielmehr Laufzeitumgebungen wie Wine [1] oder das daraus abgeleitete Crossover [2].
Über virtuelle Umgebungen wie etwa Oracles Virtualbox [3] ermöglicht es das Host-Betriebssystem, fremde Betriebssysteme und deren Anwendungen auf dem Desktop in einer oder mehreren virtuellen Maschinen (VMs) auszuführen. Dabei lassen sich unter Linux in der Virtualbox nicht nur Windows in verschiedenen Varianten oder DOS in einer VM ausführen, sondern auch exotische Betriebssysteme wie OS/2 Warp, dessen Ableger eComStation, Novells Netware oder unterschiedliche BSD-Derivate.
Voraussetzung für die Virtualbox ist das Vorhandensein eines Intel-x86-kompatiblen Prozessors. Auf ARM-basierten Systemen wie etwa dem Raspberry Pi funktionieren die Virtualisierungslösung daher nicht. Alternativen zur Virtualbox bilden unter Linux die VMware-Workstation [4] oder auch KVM [5] in Verbindung mit Qemu [6], einer virtuellen Maschine, die eine Hardware-Emulation bereitstellt.
Zusätzlich gibt es speziell für DOS-Programme die DOSBox [7], die ein komplettes DOS-System inklusive gängiger Hardware emuliert. Sie bildet dabei nicht aktuelle Hardware nach, sondern Komponenten, die in den Hochzeiten des 16-Bit-Betriebssystems dem seinerzeit aktuellen Stand der Technik entsprachen. Daher eignet sich die DOSBox vor allem als Laufzeitumgebung für Software, die mit moderner Hardware nur noch eingeschränkt oder gar nicht mehr läuft, wie primär alte Spiele.
Insbesondere Softwarepakete, die ursprünglich für DOS entwickelt, später jedoch auf Windows 3.x und 9x portiert wurden, machen es erforderlich, die DOSBox in Kombination mit Wine einzusetzen, um das betreffende Programm zum Laufen zu bewegen. Dabei greift das System auf Bestandteile des 16-Bit-Betriebssystems zurück, während es die Windows-Bibliotheken erst später nachlädt.
Installation
Meist geht es für den frischgebackenen Linux-Anwender darum, ein oder mehrere Windows-Programme weiter zu nutzen. Dazu sollten Sie zunächst Wine installieren, das sich bei allen gängigen Distributionen in den Paketquellen findet. In aller Regel bietet nach der Installation das Startmenü einen neuen Eintrag mit der Bezeichnung Wine an. Einige Distributionen, die speziell auf Windows-Umsteiger fokussieren, bringen Wine von Haus aus mit.
Die Installationsroutine legt dabei nicht nur eine Vielzahl von Startern an, die wie Wine Configuration, Wine Software Uninstaller oder Wine Registry Editor der Konfiguration dienen und sich optisch und funktionell nah am Windows-Original bewegen, sondern ergänzt auch beim Rechtsklick auf eine ausführbare Windows-Datei das Kontextmenü: Hier finden Sie ab sofort einen Eintrag Mit Wine Windows-Programmstarter öffnen.
Mit dieser Option rufen Sie zumeist den Assistenten zum Einrichten eines Windows-Programms auf. Beim ersten Anklicken des Programmstarters weist Wine zudem in den meisten Fällen auf die fehlenden Gecko- und Mono-Pakete hin, die es anschließend aus dem Internet herunterlädt und ins System integriert.
Bei diesen Paketen handelt es sich um eine freie Rendering-Engine und eine ebenfalls freie Implementation des proprietären .NET-Frameworks von Microsoft. Beide benötigt das System, um auch Anwendungen zur Kooperation zu bewegen, die diese Technologien nutzen. Um neue Windows-Programme bequemer in Wine zu integrieren, gibt es das grafische Frontend PlayOnLinux. Es enthält bereits eine Liste von Programmen, die unter dem Duo Linux/Wine funktionieren.
Diese Liste erhebt keinen Anspruch auf Vollständigkeit und umfasst hauptsächlich häufig genutzte Programme aus der Windows-Welt. Exoten tauchen hier kaum auf, sodass es sich vor allem bei älteren Windows-Programmen, die ursprünglich für Windows 2000 oder XP entwickelt wurden, auf jeden Fall lohnt, diese manuell über Wine direkt zu installieren (Abbildung 1).
Sofern die zu installierende Windows-Software nicht unter PlayOnLinux auftaucht, empfiehlt sich auf jeden Fall auch ein Blick in die von Anwendern kontinuierlich gepflegte Kompatibilitätsliste: Sie enthält deutlich mehr unter Wine ablauffähige Anwendungen [8].
Trickreich
Eine andere bequeme Möglichkeit, unter Wine Software zu installieren und gleichzeitig bestehende Probleme mit der Laufzeitumgebung zu beseitigen, bietet das Winetricks-Skript [9]. Das durch die Community kontinuierlich erweiterte Skript bietet eine grafische Oberfläche, die nicht nur das Einrichten von Windows-Software per Mausklick gestattet, sondern auch das Beseitigen von Problemen per Registry-Editor oder durch das Anpassen der Konfiguration. Zusätzlich lassen sich über Winetricks DLL-Dateien und Fonts per Mausklick installieren, die für den reibungslosen Betrieb eines Windows-Programms noch fehlen (Abbildung 2).
Teilweise finden Sie die Funktionen von Winetricks bereits in den verschiedenen Konfigurationstools, die bei der Installation von Wine in einem gesonderten Startmenü-Eintrag landen – meist unter Werkzeuge | Wine. Winetricks bietet jedoch unter einer einzigen Oberfläche mehr Möglichkeiten, Probleme beim Aufruf von Windows-Anwendungen zu lösen. Einigen Distributionen wie ZorinOS packen Winetricks auch bereits mit auf die Festplatte, sodass Sie hier alle Werkzeuge ohne manuelle Installation vorfinden.
Über Kreuz
Neben dem unter der LGPL veröffentlichten Wine bietet sich auch die vom US-amerikanischen Unternehmen Codeweavers angebotene Software-Lösung Crossover für das Nutzen von Windows-Programmen unter Linux an. Bei Crossover handelt es sich nicht um eine komplette Neuentwicklung, sondern um eine Variante von Wine. Dabei nutzt der Hersteller jedoch ein anderes Bedienkonzept. Sie erhalten Crossover im Online-Shop des Herstellers, wobei für Testzwecke auch eine Trial-Variante zum Herunterladen bereitsteht [10].
Codeweavers liefert das Tool ausschließlich als 32-Bit-Anwendung aus, sodass Sie zur Installation unter modernen 64-Bit-Distributionen eine 32-Bit-Ablaufumgebung benötigen – das gilt jedoch auch für Wine. Die entsprechenden Pakete zieht die Installationsroutine jedoch je nach Distribution automatisch nach. Crossover ermöglicht anschließend aus dem neu angelegten gleichnamigen Menü heraus den Start der Oberfläche.
Dabei verzichtet Crossover im Gegensatz zu Wine auf das Einrichten einer Vielzahl von Tools zur manuellen Konfiguration von Applikationsroutinen. Stattdessen installieren Sie neue Windows-Programme entweder aus einer Liste oder aus vorhandenen ausführbaren Dateien. Diese gruppiert Crossover in “Flaschen”, wobei bereits für jede Windows-Version seit Windows 98 eine eigene Flasche existiert (Abbildung 3).

Abbildung 3: Crossover erleichtert die Integration von Windows-Software durch eine einheitliche Oberfläche.
Crossover lässt sich aufgrund seines Bedienkonzepts von Einsteigern erheblich einfacher nutzen als Wine, bringt jedoch aufgrund vorgefertigter Installationsskripte für die gelisteten Windows-Anwendungen auch erheblich weniger Flexibilität mit als das freie Original.
Im Kasten
Als weitere Möglichkeit, Windows-Anwendungen unter Linux zu nutzen, bietet sich die bereits erwähnte Virtualbox von Oracle an. Hier handelt es sich nicht um eine Laufzeitumgebung wie Wine oder Crossover, sondern um eine komplette virtuelle Maschine, auf der Sie entsprechend auch ein komplettes Betriebssystem installieren müssen. Die Virtualbox unterstützt dabei unterschiedlichste Gast-Betriebssysteme, die auch parallel installiert sein dürfen und die Sie per Mausklick aus dem Programm auswählen (Abbildung 4).

Abbildung 4: Die Virtualbox kann nahezu alle größeren Betriebssysteme als Gast unter Linux installieren.
Die meisten Distributionen pflegen Virtualbox-Pakete in ihren Repositories ein, die jeweils neueste Release beziehen Sie direkt von Oracle [11]. Zur Installation eines originalen Windows benötigt die Virtualbox den entsprechenden Datenträger. Außerdem brauchen Sie eine gültige Windows-Lizenz, die Sie dann auf keinem anderen Rechner nutzen dürfen. Möchten Sie hingegen einen Linux-Abkömmling als Gastbetriebssystem installieren (Abbildung 5), so geschieht dies in der Regel über das Laden des ISO-Images in ein virtuelles CD/DVD-Laufwerk. Zum Testen einer Linux-Distribution müssen Sie daher nicht zwingend eine DVD brennen oder einen USB-Stick als Boot-Medium beschreiben.
Durch das Nutzen eines originalen Windows in einer virtuellen Maschine fallen sämtliche Probleme weg, die fehlende Windows-Komponenten unter einer Laufzeitumgebung verursachen. Damit eignet sich die Virtualbox vor allem dann für den produktiven Einsatz, wenn Sie sehr komplexe Windows-Anwendungen ablaufen lassen möchten, die Wine nicht oder nicht vollständig unterstützt. Dazu zählen vor allem Programme mit vielen Multimedia-Inhalten, die proprietäre Windows-Komponenten nutzen, aber auch Oberflächen, die ein Datenbank-Backend benötigen. Sie installieren und nutzen diese Programme wie auf einem “normalen” Windows-Rechner, wobei die Software in der VM teilweise sogar flüssiger läuft.
Dabei unterstützt Virtualbox LAN-Anschlüsse, USB-Systeme und geteilte Ordner, sodass die virtuelle Maschine problemlos mit dem Host-System und ebenso nach außen kommunizieren kann. Besitzen Sie verschiedene Windows-Anwendungen, die lediglich auf bestimmten Varianten des Betriebssystems aus Redmond funktionieren, so lassen sich auch mehrere Windows-Versionen in einer Virtualbox-Instanz installieren. Diese aktivieren Sie dann jeweils einzeln nach Bedarf, sodass Sie innerhalb von wenigen Sekunden von einer Windows-Variante zur nächsten wechseln.
Die Virtualbox gibt sich – auch für die Gast-Betriebssysteme – mit relativ geringen Hardware-Anforderungen zufrieden. Die Umgebung selbst arbeitet bereits mit 512 MByte RAM und begnügt sich notfalls sogar mit einem Einkern-Prozessor. Hinzuaddieren müssen Sie jedoch beim Arbeitsspeicher noch den Bedarf des Gastsystems. Auch beim Platzbedarf auf dem Massenspeicher gilt es, pro virtuellem System mindestens 10 bis 15 GByte zu veranschlagen. Besitzt der Computer einen Mehrkern-Prozessor, dann legen Sie im Einstellungsdialog der Virtualbox bei den einzelnen Gastsystemen fest, wie viele Cores das jeweilige System in Beschlag nehmen darf. Auf diese Weise passen Sie die Leistung der VMs individuell an.
DOSBox
Die DOSBox [12] eignet sich als Komplett-Emulator für das Weiterverwenden von DOS-Anwendungen. Dabei beherrscht der Emulator auch den Umgang mit Spielen, die ansonsten auf der Windows-Kommandozeile nicht arbeiten. Hierzu gehören beispielsweise Anwendungen, die eine native FAT16-Partition auf dem Massenspeicher voraussetzen.
Die DOSBox liegt bei allen gängigen Distributionen in 32- und 64-Bit-Varianten in den Repositories, sodass sie sich nahtlos und bequem in das jeweilige Linux-Derivat integrieren lässt. Da DOS eine höchst beliebte Gaming-Plattform war, haben die Entwickler der DOSBox mit Unterstützung der Community den Emulator mit vielen Spielen getestet und verbessern die Kompatibilität laufend. Eine Liste der vielen Hundert unterstützten Programme findet sich online [13].
Nach der Installation öffnet ein Klick auf den Eintrag DOSBox Emulator im Menü Spiele einen DOS-Bildschirm mit dem Laufwerksbuchstaben Z:. Über den Befehl intro machen Sie sich in der DOSBox mit der Befehlssyntax vertraut, die aufgrund der Emulation stellenweise vom Original abweicht: Vorhandene Laufwerksbuchstaben müssen Sie mithilfe des Befehls mount an Linux-Unterverzeichnisse gebunden in das System integrieren, um so die DOS-Anwendungen zu starten.
Die DOSBox unterstützt dabei von Haus aus auch SVGA-Bildschirmauflösungen und die seinerzeit sehr weit verbreiteten Soundblaster-Soundkarten. Falls kapriziöse Anwendungen bei zu hoher Geschwindigkeit den Dienst versagen, lässt sich zudem befehlsgesteuert die Geschwindigkeit der emulierten CPU reduzieren. Dazu sieht DOSBox die editierbare Datei dosbox.conf vor [14]. Diese gestattet es unter anderem, eine 80386-CPU oder einen moderneren 80486-Prozessor zu emulieren. Über die genauen Optionen informiert die ausführliche Dokumentation (Abbildung 6).

Abbildung 6: In der DOSBox läuft selbst ein Spiel aus dem Jahr 1989 auf einem 64-Bit-Linux problemlos.
Im Test zeigte sich die DOSBox nicht nur außerordentlich stabil, sondern auch höchst ressourcensparend: So laufen selbst auf Einkern-Prozessoren auch anspruchsvolle DOS-Spiele oder Anwendungen mit grafischer Oberfläche noch flüssig ab. Auf unseren Testsystemen, teilweise mit Core-2-Duo-CPUs der “Penryn”-Generation ausgestattet, arbeiteten einige DOS-Anwendungen sogar deutlich robuster als auf einer originalen PC-DOS-Maschine.
Fazit
Linux zeigt sich im praktischen Einsatz als die Integrationsplattform schlechthin. Durch eine Vielzahl von Laufzeitumgebungen, Emulatoren und virtuellen Lösungen gibt es praktisch keine plattformfremden Anwendungen, die sich auf einem Linux-Host nicht ausführen ließen.
Bei komplexer Software allerdings geraten Emulatoren und Laufzeitumgebungen gelegentlich an ihre Grenzen. Dann helfen virtuelle Maschinen weiter, in denen ein originales Fremdsystem die Basis für die gewünschte Anwendung bildet. Mithilfe raffinierter Emulatoren wie der DOSBox verhelfen Sie sogar uralter Software zu einem zweiten Frühling.
Aufgrund der von Linux gebotenen hohen Sicherheitsstandards funktioniert sogar häufig Fremdsoftware unter dem freien Betriebssystem deutlich reibungsloser als unter dem nativen Betriebssystem. So bietet Microsoft für Windows 95, 98 oder XP schon seit Jahren keine Sicherheitsaktualisierungen mehr an. Bei diesen Systemen müssten Sie einen entsprechend hohen Aufwand zum Absichern des kompletten Systems einkalkulieren.
Infos
[1] Wine: https://www.winehq.org/
[2] Crossover: https://www.codeweavers.com/products/crossover-linux
[3] Virtualbox: https://www.virtualbox.org/wiki/Linux_Downloads
[4] VMware Workstation: http://www.vmware.com/de/products/workstation.html
[5] KVM: http://www.linux-kvm.org/page/Main_Page
[6] Qemu: http://wiki.qemu.org/Main_Page
[7] DOSBox: https://www.dosbox.com/
[8] App-DB: https://appdb.winehq.org/
[9] Winetricks: https://wiki.winehq.org/Winetricks
[10] Crossover-Shop: https://www.codeweavers.com/store
[11] Virtualbox herunterladen: https://www.virtualbox.org/wiki/Linux_Downloads
[12] DOSBox: https://www.dosbox.com/
[13] Kompatibilitätsliste: https://www.dosbox.com/comp_list.php?letter=a
[14] DOSBox-Dokumentation: http://www.dosbox.com/wiki/dosbox.conf








