Microsoft Windows 98 SE in Virt-Manager

Mit den Standardeinstellungen von Virt-Manager funktioniert klappt die Installation von Windows 98 SE leider nicht: Es bleibt beim Booten stehen. Oft lässt sich Windows zum Starten bewegen, wenn man beim Booten schnell “F8” drückt und dann alle Fragen mit “J” bestätigt. Aber selbst dann fehlen alle emulierten PCI-Geräte. Und es ist langsam. Sehr langsam. Außerdem funktioniert der Sound nicht. Auch gibt es keine Netzwerkunterstützung und die Bildschirmauflösung ist auf 640×480 Pixel bei 16 Farben beschränkt. Alles in allem nicht sehr zufriedenstellend.

Aber es geht besser:

Virtuelle Maschine vorbereiten

Windows 98 SE unterstützt nur eine einzige CPU, maximal 512 MByte RAM und 128 GByte große Festplatten. Beim Anlegen der Virtuellen Maschine also innerhalb dieser Grenzen bleiben

Als Soundkarte empfiehlt sich bei Windows 98SE ein Soundblaster 16. Virt-Manager bietet mir im Drop-Down-Menü nur AC97 und zwei Varianten HDA an. Das erscheint etwas seltsam, werden doch von Qemu erheblich mehr Soundkarten unterstützt. Zum Glück kann man auch selbst “sb16” in das Soundkarten-Feld eintippen. Die virtuelle Soundblaster-Karte wird von Windows brav automatisch richtig erkannt und belegt die Ressourcen Port 220, IRQ 5, DMA 1.

Als Grafikkarte können zwar sowohl die in Virt-Manager auswählbaren Modelle “QXL” als auch “VGA” zusammen mit dem Grafiktreiber “Universal VESA/VBE Video Display Driver” (VBEMP 9x) von hier benutzt werden, mit diesem Treiber wird aber beim Starten der MS-DOS-Eingabeaufforderung unter Windows Müll angezeigt (Abhilfe: ALT-Enter drücken).
Besser als Grafikkartenmodell per Hand “cirrus” eintippen. Damit gibt’s keine Probleme mit der MS-DOS-Eingabeaufforderung. Windows erkennt die Grafikkarte später automatisch als “Cirrus Logic 5446 PCI” und bringt auch einen funktionierenden Treiber mit.

Als Netzwerkkarte “rtl8139” wählen. Den passende Treiber kann man hier herunterladen.

Die Treiber für die Grafik- und die Netzwerkkarte entzippen und auf ein ISO-Image “brennen”.

aNormalerweise benutzt Virt-Manager KVM zur Virtualisierung. Mit KVM funktioniert aber die Windows 98 SE Installation nicht, Windows bleibt beim Booten mit schwarzem Bildschirm stehen. Da es in Virt-Manager keinen Knopf gibt um zwischen den Virtualisierungsmethoden umzuschalten, muss die XML-Beschreibungsdatei der Virtuellen Maschine editiert werden. Das geht zum Glück auch in Virt-Manager: “Einstellungen”, “Allgemein”, “Allow XML editing”, und dann in der Detailansicht der VM, Abschnitt “Übersicht”, auf den Reiter “XML” wechseln und gleich in der ersten Zeile den “Domain Type” von “kvm” abändern auf “qemu”.

Windows 98 SE installieren

Die Installation jetzt nach alten Erinnerungen aus der Jugend oder diversen Youtube-Tutorials durchführen. Recht viel falsch machen kann man eigentlich nicht.

Nach der Installation

PCI-Geräte

Der aufmerksamen Installateur wird bemerkt haben, dass während der Installation kein einziges PCI-Gerät erkannt wurde. Um diesen Missstand zu beheben in “Systemsteuerung”, “System”, “Gerätemanager” bei den “Systemkomponenten” mit der rechten Maustaste auf das gelb markierte “Plug & Play BIOS” klicken, “Eigenschaften”, “Treiber aktualisieren”, “Eine Liste der Treiber in einem bestimmten Verzeichnis zum Auswählen anzeigen”, “Weiter”, “Alle Modelle anzeigen”, und dann bei den Modellen “ACPI-Bus (Advanced Configuration and Power Interface)” auswählen. Nach dem nächsten Neustart werden eine ganze Menge neuer Geräte erkannt, darunter auch alle am PCI-Bus, z.B. die Netzwerkkarte.

Zwei Geräte werden im Gerätemanager nach wie vor als “unbekannt” angezeigt: Eine “PCI Card” und ein “PCI Communication Device”. Ersteres ist der Virtio memory balloon, zweiteres die Virtio console. Beide werden unter Windows 98 SE nicht unterstützt.

DMA-Modus von Festplatte und CD-ROM aktivieren

“Systemsteuerung”, “System”, “Gerätemanager”, “Laufwerke” ausklappen, rechte Maustaste auf die “GENERIC IDE DISK”, “Einstellungen”, Haken bei “DMA” setzen. Das Ganze dann bei CD-ROM wiederholen.

Virtualisierung wieder auf “kvm” stellen – wenn’s funktioniert

Interessanterweise startet Windows 98 SE oft(!) mit KVM-Virtualisierung, wenn das Windows-Bootlogo ausgeschaltet ist.
Zum Abschalten des Bootlogos in der versteckten Datei “C:\msdos.sys” in der Sektion “[options]” die Zeile “Logo=0” hinzufügen. Anschließend im Virt-Manager in der XML-Beschreibungsdatei der VM den “Domain Type” wieder von “qemu” zurückändern auf “kvm”.

Bei mir klappt das nur extrem unzuverlässig, weswegen ich bei “qemu” bleibe. kvm ist zwar massiv schneller als qemu und erreicht (fast) die Geschwindigkeit der im Rechner eingebauten CPU, aber selbst mit qemu übertrifft die virtuelle Maschine die Geschwindigkeit der AMD K6 und Pentium-200-Prozessoren, die zu Zeiten von Windows 98 SE aktuell waren, um ein Vielfaches.

Bestehende Probleme

Beim Herunterfahren bleibt Windows 98 SE mit schwarzem (oder buntem) Bildschirm stehen. Dieses nervige Verhalten tritt auch auf echter Hardware sehr häufig auf, somit wird die Qualität der Emulation dadurch eigentlich sogar erhöht.

Auch könnte das Starten von Windows 98 SE etwas zügiger sein: Das dauert oft 1-2 Minuten.