Das 1992 erschienene Windows 3.11 ist längst nicht mehr auf aktueller Hardware lauffähig. Doch virtualisiert ist es erstaunlich einfach, das uralte Betriebssystem mit dem kostenlosen Hypervisor VirtualBox zu starten. Hierbei hilft das Internet-Archiv mit den originalen Installationsmedien. Sogar bereits fertig installierte Virtuelle Festplatten werden angeboten. Damit lässt sich Windows 3.11 in wenigen Minuten starten.
Was brauche ich?
Die Installation von Windows 3.11 ist nicht eigenständig möglich, weil es sich um kein eigenständiges Betriebssystem handelt. Stattdessen ist es lediglich eine grafische Oberfläche, welche auf MS DOS aufsetzt. Dasselbe trifft auf Windows 95 zu, das habe ich einmal händisch installiert. Sowohl für Windows 3.11 als auch Windows 95 ist zunächst DOS erforderlich, aus dem heraus die Windows-Installation per SETUP.EXE gestartet wird.
Statt des proprietären DOS von Microsoft kann theoretisch FreeDOS zum Einsatz kommen: Es erschien 1998 als freie Alternative zu MS DOS und strebt einen binärkompatiblen Nachbau an. Durch die aktive Weiterentwicklung bietet es technische Vorteile, die dem unfreien Original fehlen: Etwa Datenträger bis 2TB oder FAT32-Partitionen.1 Allerdings gibt es Probleme mit dem erweiterten 386 Modus von Windows 3.11. Ohne Anpassungen kann es daher nur im Standard-Modus ausgeführt werden.2
Spätestens für das unfreie Windows 3.11 ist eine Lizenz notwendig. Auf Kleinanzeigen finden sich bis heute mehrere Angebote – natürlich zeitgemäß auf 3,5″ Diskette. Wer eine gültige Lizenz besitzt, kann sich diese digitalisiert im Internet Archiv herunterladen.3
Der einfachste & schnellste Weg
Den oben genannten händischen Weg über DOS zu Windows 3.11 kann man sich sparen: Ein Netter Web-Nutzer hat diese Arbeit nämlich übernommen und eine fertig installierte Virtuelle Festplatte bereitgestellt.4 Ja, man weiß nicht, was drin steckt – wie bei allen Inhalten von unbekannten Internetquellen. Das Risiko ist hier vertretbar: Die VM läuft isoliert vom Host-System. Außerdem sollte der Internetzugang für eine derart alte Windows-Installation ohnehin getrennt werden. Das ist in den Netzwerkeinstellungen möglich.
Die VMDK-Datei ist für VMWare gedacht. Habe ich seit sehr langer Zeit nicht mehr verwendet. Solltet ihr auch nicht tun, nachdem die von Broadcom aufgekauft wurden und einen historischen Plattformverfall gestartet haben. VirtualBox unterstützt zwar VMDK, dennoch startete die erstellte VM nicht. Das Problem ließ sich durch eine Umwandlung ins VDI (Virtual Disk Image) Format lösen. Bei dieser Gelegenheit habe ich die potenziell fehleranfälligen Leerzeichen im Dateiname entfernt:
/usr/lib/virtualbox/VBoxManage clonehd --format VDI 'Windows for Workgroups 3.11.vmdk' 'Windows_for_Workgroups_3.11.vdi'
Bei der Hardware ist zu bedenken, dass es sich um ein über 30 Jahre altes 16-Bit Betriebssystem handelt. Wir sind seit Jahren bei 64 Bit, die mit sehr großen Mengen an Hauptspeichern umgehen können. Eine VM mit mehreren GB an RAM wird zum Absturz führen. Eben so das zuweisen mehrere virtueller CPUs, da es damals nur Einkernprozessoren gab. Sinnvoll sind 32 MB RAM mit einem CPU-Kern:
Dazu das korrekte Betriebssystem im Assistenten (Windows 3.1) setzen. Dies wird korrekt erkannt, wenn der Name „Windows 3.1“ enthält – allerdings nicht bei 3.11, in diesem Falle ist die manuelle Auswahl erforderlich. Darüber hinaus muss nur noch das VDI-Abbild als virtuelle IDE Festplatte hinterlegt werden, anschließend ist die VM startbereit.
Virtuelles Windows 3.11 in der Praxis
Der Bootvorgang ist derart schnell, dass man nur sehr kurze Zeit das Startlogo sieht. Ich musste es als Video aufzeichnen, um das Bild heraus zu schneiden.
Die Bedienung fühlt sich weniger flüssig an. Das Anpassen der Mausgeschwindigkeit verbesserte dies etwas. Nicht vollständig, da die angebotenen Schritte zu groß sind. Vollständig korrigieren lässt sich dies vermutlich nicht, da eine offizielle Unterstützung für VirtualBox sowie die Gastintegration fehlen.
Einziger Nachteil der Virtuellen Festplatte: Sie ist auf Englisch, um für möglichst viele Menschen nutzbar zu sein. Wen das stört, der wird um eine per Hand durchgeführte Neuinstallation mit einer Deutschen Version nicht herum kommen.
Konfigurationsdatei
Als Unterstützung anbei meine Konfigurationsdatei Win3.11.vbox. Mindestens die Pfade müssen natürlich angepasst werden,
<?xml version="1.0"?>
<!--
** DO NOT EDIT THIS FILE.
** If you make changes to this file while any VirtualBox related application
** is running, your changes will be overwritten later, without taking effect.
** Use VBoxManage or the VirtualBox Manager GUI to make changes.
**
** Written by VirtualBox 7.2.6 (r172322)
-->
<VirtualBox xmlns="http://www.virtualbox.org/" version="1.19-linux">
<Machine uuid="{b393099d-3e80-416d-a314-f2baf22de62c}" name="Win3.11" OSType="Windows31" snapshotFolder="Snapshots" lastStateChange="2026-02-25T21:47:03Z">
<MediaRegistry>
<HardDisks>
<HardDisk uuid="{565d62f0-971d-4014-868c-adf0baecd596}" location="/home/daniel/Downloads/win3.11-vm/Windows_for_Workgroups_3.11.vdi" format="VDI" type="Normal"/>
</HardDisks>
</MediaRegistry>
<ExtraData>
<ExtraDataItem name="GUI/LastCloseAction" value="PowerOff"/>
<ExtraDataItem name="GUI/LastNormalWindowPosition" value="4963,1112,1024,814"/>
</ExtraData>
<Hardware>
<Memory RAMSize="32"/>
<Display VRAMSize="32"/>
<Firmware/>
<BIOS>
<SmbiosUuidLittleEndian enabled="true"/>
<AutoSerialNumGen enabled="true"/>
</BIOS>
<USB>
<Controllers>
<Controller name="OHCI" type="OHCI"/>
<Controller name="EHCI" type="EHCI"/>
</Controllers>
</USB>
<Network>
<Adapter slot="0" MACAddress="080027A66613">
<DisabledModes>
<NAT localhost-reachable="true"/>
<InternalNetwork name="intnet"/>
<NATNetwork name="NatNetwork"/>
</DisabledModes>
<HostOnlyInterface/>
</Adapter>
</Network>
<AudioAdapter controller="SB16" useDefault="true" driver="Pulse" enabled="true" enabledOut="true"/>
<Clipboard/>
<GuestProperties>
<GuestProperty name="/VirtualBox/HostInfo/GUI/LanguageID" value="de_DE" timestamp="1772054882743320000" flags="RDONLYGUEST"/>
</GuestProperties>
<StorageControllers>
<StorageController name="Floppy" type="I82078" PortCount="1" useHostIOCache="true" Bootable="true">
<AttachedDevice type="Floppy" hotpluggable="false" port="0" device="0"/>
</StorageController>
<StorageController name="IDE" type="PIIX4" PortCount="2" useHostIOCache="true" Bootable="true">
<AttachedDevice passthrough="false" type="DVD" hotpluggable="false" port="1" device="0"/>
<AttachedDevice type="HardDisk" hotpluggable="false" port="0" device="0">
<Image uuid="{565d62f0-971d-4014-868c-adf0baecd596}"/>
</AttachedDevice>
</StorageController>
</StorageControllers>
<CPU>
<HardwareVirtExLargePages enabled="false"/>
<PAE enabled="false"/>
<LongMode enabled="false"/>
</CPU>
</Hardware>
</Machine>
</VirtualBox>
Fazit
Es ist interessant, wie nah Windows 3.11 bereits Anfang der 1990er Jahre am heutigen Aufbau war. Selbst Windows 2 von 1987 sieht nicht fundamental anders aus. Von der Optik abgesehen fehlen funktionell im Kern die Taskleiste sowie der Desktop (Erschien mit Windows 95, dem Nachfolger von Windows 3.1). Bereits der Schließen-Knopf ist vorhanden gewesen – allerdings im Kontextmenü oben links, statt direkt in der Titelleiste.
Virtualisiert lässt es sich nicht perfekt bedienen. Dazu kommen andere Herausforderungen, etwa zum Zugriff aufs Dateisystem. Dennoch ist es ein praktikabler Weg, um derart alte Betriebssysteme ans Laufen zu bekommen. Kompatible Hardware ist längst rar, teuer und birgt durch das Alter ein recht hohes Ausfallrisiko. Neuere Systeme sind schnell zu leistungsstark, außerdem mangelt es an Treibern.





