Bug in AMD Ryzens Virtual 8086 mode enhancements (VME)?
Bereits kurz nach der Vorstellung des AMD Ryzen versuchten wir in unserem Forum Antworten zu finden auf die Frage, weshalb einige ältere, in einer Virtualisierungssoftware gesammelte Betriebssysteme wie etwa Windows XP 32 Bit unter Ryzen nicht mehr booten wollten. Alle möglichen virtualisierten Systeme booteten, selbst so exotische wie OpenIndiana. Nur mit Windows XP und ähnlichen gab’s Probleme.
Nach mehr als einem Monat Tappen im Dunkeln gibt’s nun eine mögliche Erklärung: Ryzen hat ein Problem mit VME. Außer in unserem eigenen Forum gibt’s offenbar auch in anderen Foren wie Reddit oder AMDs eigener Community ähnliche Fälle. Das Problem liegt nicht an der Virtualisierung:
To be clear, the problem is not at all specific to virtualization. It has been confirmed on a Ryzen 5 1500X running FreeDOS—which comes with the JemmEx memory manager, which enables VME by default. Until VME was disabled, any attempt to boot with JemmEx failed with invalid opcode exceptions. After disabling VME, FreeDOS worked normally.
Das bedeutet, dass 32-Bit-Windows-Betriebssysteme ab Version 4.0, die die Virtual 8086 mode enhancements nutzen, derzeit Schwierigkeiten haben, unter AMDs Ryzen zu booten. In der Praxis dürfte das wenig Relevanz haben, denn wer installiert schon ein 32-Bit-Windows, das maximal 4 GiB RAM adressieren kann, auf einem Ryzen-System? Daher trat das Problem bisher nur in virtualisierten Umgebungen auf, wo Anwender versuchten, alte Systeme in einer VM zu starten, um dort irgendwelche Spezialanwendungen zu starten. Für VirtualBox scheint es bereits einen Workaround zu geben für die Problematik.
Danke SPINA und Atombossler für die Hinweise.