Creopard header Logo

Windows 98 SE erfolgreich mit AMD Ryzen CPU in VMware installieren

Update: 28.09.2023 | Erstellt: 13.07.2022 von creopard

Unterstüzen Sie dieses Projekt mit Ihrer Spende

Herzlichen Glückwunsch,
Ihr Werbeblocker funktioniert!

Wenn Sie unsere Inhalte nützlich finden, würden wir uns über eine kleine Unterstützung freuen. Sie können auch gerne Ihren Werbeblocker für diese Seite deaktivieren, um kostenlose Dienste weiterhin zu ermöglichen.

Dieser Hinweis erscheint, weil Sie einen Werbeblocker verwenden.


Windows 98 SE erfolgreich mit AMD Ryzen CPU in VMware installieren
Klick zum Vergrößern
Bild: Ryzen 5 1600 mit Windows 98 SE (VM Screenshot)

Update 07/2022: Es gibt jetzt ein Patch-Programm für "VMM.VXD".

Alte Betriebssysteme in einer virtuellen Maschine auf aktuellen Systemen zu installieren, gestaltet sich immer schwieriger.
Nach Erscheinen der neuen Ryzen CPUs von AMD wurde bekannt, dass diese einen VME-Bug aufweisen, der verhindert, dass z.B. Betriebssysteme wie Windows 9x sich in einer virtuellen Maschine (VM) wie VMware Player, VMware Workstation Pro oder VirtualBox nicht mehr fehlerfrei betreiben lassen, siehe hierzu auch "VME Broken on AMD Ryzen".

Zwar soll dieser Bug über das AGESA Firmware/Bios Update behoben worden sein, allerdings gilt das wohl erst aber der Ryzen 3000er Serie und auch nur für Betriebssysteme in virtuellen Maschinen ab Windows XP.

Windows 9x Systeme, die in einer VM mit Ryzen CPUs der 1000 / 2000 / 3000 Generation betrieben werden, bekommen leider eine Fehlerbehebung während der Installation. Folgender Beitrag stellt die aktuellen Lösungsmöglichkeiten vor, wie es mit Ryzen Prozessoren dennoch funktioniert und Windows 98 SE erfolgreich in VMware betrieben werden kann.


Update 07/2022:

Es gibt mittlerweile eine weitere Möglichkeit, die beschriebenen Probleme zu umgehen:

Unter https://github.com/JHRobotics/patcher9x hat ein findiger Windows 9x Enthusiast ein Patch-Programm zur Verfügung gestellt, welches die Datei "VMM.VXD" entweder direkt für die Windows 98 Installations-CD oder im DOS-Modus (nachdem Windows 98 installiert wurde) patchen kann.

Darüber hinaus beseitigt er auch noch das CPU Limit für Windows 95 (ähnlich wie die Patchsammlung "FIX95CPU").

Die Virtualisierung von Microsoft Windows 9x-Systemen ist aufgrund von 2 großen Fehlern etwas problematisch: TLB-Invalidierungsfehler (TLB invalidation bug) und CPU-Geschwindigkeitsbegrenzungsfehler (CPU speed limit bug).

Dieses Programm enthält eine Reihe von Patches, um diese Fehler zu beheben und kann von einer Diskette auf einer virtuellen Maschine gebootet werden. Der Patch kann entweder auf das installierte System angewendet werden oder es patcht direkt die Installationsdateien, um (relativ) fehlerfreie Installationsmedien zu erstellen.

 

Update 06/2021:

Auf einem Ryzen 5 3600 scheint das Problem der Fehlermeldung (siehe 3.) während der Windows 98 Installation tatsächlich behoben zu sein. Allerdings muss z.B. mit VmWare 12.5.9 immer noch "Virtualization Engine" manuell(!) auf "Intel VT-x or AMD-V" gesetzt werden (siehe 2.).

Bei einer getesteten VmWare 16.1 ist es mit einem Ryzen 5 3600 auch möglich, Windows 98 SE zu installieren, wenn in den Hardware-Einstellungen -> "Prozessoren" -> unter "Virtualization Engine" der Haken bei "Virtualize Intel VT-x/EPT or AMD-V/RVI" gesetzt wird. Mit dieser Version von VmWare tritt allerdings die Fehlermeldung (siehe 3.) wieder auf, die man allerdings mit dieser Anleitung umgehen kann.
Hinweis: Diese Tests wurden nun unter Windows 10 20H2 durchgeführt.

2019 gab es hier schon einen Blogeintrag, der sich mit Windows 98 unter VMware und VirtualBox beschäftigt hat. Auf diesen Eintrag soll im Folgenden aufgebaut werden.

Die Rahmenbedingungen haben sich seit dem Blogeintrag 2019 wie folgt geändert:

  • Hostsystem ist ein Ryzen 1600 mit Windows 10 (1909 bzw. 2004)
  • VMware wird nun statt Version 10.x mit Version 12.5.9 betrieben. Die aktuelle Version 15.x macht es komplett unmöglich, Windows 98 überhaupt zu installieren, da man die "Virtualization Engine" nicht mehr manuell einstellen kann, siehe unten.)

Viele Stellen haben sich schon mit der Problematik Windows 98 + Ryzen CPU schon auseinandergesetzt, sind jedoch nicht zu einer echten lauffähigen Lösung gekommen:

Hier nun eine vollständige Anleitung, wie es gelingen kann:

1. Installation von VMware 12.5.9 (Workstation oder Player)

Download von VMware Workstation 12.5.9 oder
Download von VMware 12.5.9 Player

A) bis Windows 10 1903 kann es sein, dass nach der Installation eine Meldung des Kompatibilitäts-Assistenten erscheint, dass diese VMware Version nicht ausgeführt werden kann:

vmware_compat_app

liegt das am Update KB4517211, welche die VMware Workstation Pro oder Player über die Kompatibilitäts­daten­bank blockiert. (Der Grund dafür liegt wohl an Änderungen von Hyper-V in Windows 10 und Microsoft möchte wohl möglichen Problemen älterer VMware Produkte vorbeugen.)

B) bis Windows 10 Version 2004 erscheint noch diese Warnung, die ebenfalls mit dem folgenden Registry-Eintrag beheben lässt:

vmware_12_popup

Beheben lässt sich das Problem mit Einträgen in der Registry, die über einen Schlüssel in "AppCompatFlags" die Sperre wieder deaktivieren:

für VMware Player (VMPLAYER.EXE):

  • Version 12.x: {43edc3a4-e400-4e09-bc67-4e0730eb5590}
  • bis Version 14.1.7: {d22fbced-459b-4cfc-abfc-65e47236ba9b}
  • bis Version 15.0: {66f21bbc-149a-411b-8e11-880af7c1266c}

für VMware Workstation Pro (VMWARE.EXE):

  • Version 12.x: {db4f3aa6-828e-4e0c-a461-efac8dacc1a2}
  • bis Version 14.1.7: {a3a6a13a-50d7-4a62-a5cb-73784b6037f0}
  • bis Version 15.0: {3d9912c3-cb54-4f34-ab71-1d429553bf96}

Um nun die Version von VMware 12.x (Workstation / Player) wieder lauffähig zu bekommen, trägt man folgende Schlüssel in die Registry ein:

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags]
"{43edc3a4-e400-4e09-bc67-4e0730eb5590}"=dword:00000077
"{db4f3aa6-828e-4e0c-a461-efac8dacc1a2}"=dword:00000077

C) ab Windows 10 Version 20H2 scheint es kein Problem mehr bei der Installation und Ausführung von älteren VMware Versionen zu geben?!

 

2. Einrichten der VM für Windows 98 SE

Die Einrichtung der VM für Windows 98 als Gastsystem läuft wie bisher ab. Wenn man eine ISO-Datei der Windows 98 CD-ROM als CD Image angibt, erkennt VMware das Betriebssystem automatisch und setzt bereits gewisse Standardwerte automatisch.

Würde man die VM jetzt schon hochfahren, erscheint sofort der folgende Fehler:

win98_vm_1

Hier schlägt der VME-Bug der Ryzen Prozessoren bereits das erste Mal voll zu.
Um das zu beheben, muss in den Einstellungen -> Prozessoren -> die "Virtualization Engine" manuell auf "Intel VT-x or AMD-V" gesetzt werden.

win98_vm_2

 

3. Installieren von Windows 98 SE

Nun kann die VM gestartet und Windows 98 SE wie gewohnt installiert werden.

Bei der 10-Minuten Marke wird dann folgende Fehlermeldung erscheinen:

 win98_vm_3

Es erscheint folgende Fehlermeldung:
"SHELL32.DLL" -> "Export-SHLWAPI.DLL:tFileAttributesA"

Hier schlägt der VME-Bug der Ryzen Prozessoren ein weiteres Mal zu.

Um das zu beheben, muss nun Windows 98 SE im "abgesicherten Modus" gestartet werden.
Das ist möglich, wenn beim Hochfahren des Systems die STRG Taste gedrückt gehalten wird.

win98_vm_4

4. 32-bit Modus für Laufwerke temporär deaktivieren

Im abgesicherten Modus muss jetzt unter Rechtsklick auf "Arbeitsplatz" -> "Eigenschaften" -> Reiter "Leistungsmerkmale" -> Button "Dateisystem" -> Reiter "Problembehandlung" die Option "32-Bit-Datenträgertreiber für den Protected-Modus deaktivieren" temporär aktiviert werden.

win98_vm_5

Anschließend ist ein Neustart notwendig.

Diese Option deaktiviert zeitweise allerdings das CD-ROM Laufwerk. Falls weitere Treiber zur Einrichtung benötigt werden, empfiehlt es sich, diese vorher auf die Festplatte zu kopieren.

5. Windows 98 Installation bis zum Ende fortsetzen

Nach dem Neustart setzt Windows 98 automatisch die Installation problemlos fort und man könnte Windows nun nach dem Ende der Installation eigentlich schon benutzen.

6. 48-bit LBA Korrektur einspielen bzw. Datei "ESDI_506.PDR" ersetzen

Anschließend muss Windows 98 heruntergefahren und im MS-DOS Modus gestartet werden. Am einfachsten geht das mit der bootfähigen Windows 98 SE CD-ROM, wenn man einfach die Option "Computer mit CD-ROM-Unterstützung starten" auswählt.

Hier ist die ISO-Datei die nach dem Hochfahren in den MS-DOS Modus genutzt werden kann:
(Diese beinhaltet lediglich die Datei "ESDI_506.PDR")

Details
icon

Diese ISO-Datei beinhaltet lediglich die Datei "ESDI_506.PDR" (48-bit LBA Korrektur) für Windows 98 SE in Version 4.10.2230.

Die Datei kann bei der Installation von Windows 98 SE in einer VM in Verbindung mit einer Ryzen CPU genutzt werden.

Größe
76 KB

Anschließend kann die ISO-Datei gewechselt werden und man kann die Datei "ESDI_506.PDR" unter "C:\WINDOWS\SYSTEM\IOSUBSYS" ersetzen.

 

win98_vm_6

7. 32-bit Modus für Laufwerke wieder aktivieren

Nachdem die Datei "ESDI_506.PDR" ersetzt wurde, muss erneut neu gestartet werden. Jetzt kann die Option "32-Bit-Datenträgertreiber für den Protected-Modus deaktivieren" wieder abgewählt werden.

Somit steht auch nach dem Neustart wieder das CD-ROM Laufwerk zur Verfügung.

win98_vm_7

8. SUCCESS ;-)

Jetzt kann Windows 98 SE wie gewohnt genutzt werden und man hat den VME-Bug der Ryzen Prozessoren erfolgreich umschifft.

cpuz_ryzen






Ähnliche Artikel anzeigen:




Unterstüzen Sie dieses Projekt mit Ihrer Spende

Herzlichen Glückwunsch,
Ihr Werbeblocker funktioniert!

Wenn Sie unsere Inhalte nützlich finden, würden wir uns über eine kleine Unterstützung freuen. Sie können auch gerne Ihren Werbeblocker für diese Seite deaktivieren, um kostenlose Dienste weiterhin zu ermöglichen.

Dieser Hinweis erscheint, weil Sie einen Werbeblocker verwenden.