Warum erhalte ich einen internen Stapelüberlauffehler, wenn ein Fenster einer virtuellen MS-DOS-Maschine minimiert und wiederhergestellt wird?

2415
gparyani

Ich verwende Windows Virtual PC auf einem Windows 7-Computer. Ich habe eine virtuelle MS-DOS 6.22-Maschine mit 16 MB RAM und einer 2-GB-Festplatte erstellt. Immer, wenn ich das Fenster minimiere oder anderweitig deaktiviere und es dann wieder herstelle oder wieder aktiviere, erhalte ich eine Fehlermeldung, der PC-Lautsprecher gibt einen Sekunden lang einen Piepton ab und die virtuelle Maschine funktioniert vollständig, bis ich sie zwangsweise neu starte:

Internal stack overflow System halted 

(Interessanterweise tritt das Problem nicht auf, wenn Windows 3.1 ausgeführt wird, das über MS-DOS ausgeführt wird. Ich erhalte die Fehlermeldung sofort, wenn ich versuche, MS-DOS von Windows zu beenden.)

Ich habe auch einen ähnlichen Fehler erhalten, als ich versuchte, Windows 9x-basierte Betriebssysteme während der ersten (textbasierten) Installationsphase zu installieren und dieselben Aktionen auszuführen, und als ich versuchte, ein solches Betriebssystem zu starten (in diesem Fall Windows 98). in den MS-DOS-Modus im Real-Modus (obwohl ich in diesem Fall den Fehler sofort bekomme und die obigen Aktionen nicht ausführen muss):

An internal stack overflow has caused this session to be halted. Check the STACKS setting in your CONFIG.SYS file, and then try again. 

Warum tritt dieser Fehler auf und gibt es eine Möglichkeit, ihn zu beheben?

0
Ich vermute, dass es nicht gerne minimiert wird. Die Aktion führt zu einer Ausnahme / Falle und das wird rekursiv. Daniel R Hicks vor 10 Jahren 1
@DanielRHicks Das scheint eine plausible Ursache zu sein. Aber warum sollte eine Ausnahme ausgelöst werden, wenn ich das Fenster wieder aktiviere? Und warum tritt es nicht auf, wenn ich ein Windows 9x-basiertes Betriebssystem im Standardmodus (GUI) ausführte? gparyani vor 10 Jahren 0
Keine VM gibt die reale Maschine perfekt wieder. Anscheinend ist deins weniger perfekt als die meisten. Kann ein Problem mit einer VM-Einstellung sein. Daniel R Hicks vor 10 Jahren 1
(Anscheinend hindert etwas das Gastbetriebssystem daran, Interrupts / Traps nicht korrekt zu handhaben, dh, wenn es einen bekommt, benötigt es einen weiteren Interrupt, der den ersten behandelt. Es ist wahrscheinlich, dass der Gast versucht, einen Zustand zu ändern, zu dem er nicht berechtigt ist, ihn zu ändern. Es ist jedoch unmöglich, viel genauer zu werden.) Daniel R Hicks vor 10 Jahren 1

1 Antwort auf die Frage

0
TOOGAM

Sehr seltsam, dass die Änderung der Größe eines Fensters eine virtuelle Maschine beeinflussen würde.

Haben Sie die neueste Version von Virtual PC für Ihr Betriebssystem? Wenn nicht, ist in Ihrem BIOS die Virtualisierung aktiviert?

Windows ist dafür bekannt, einen Teil von DOS zu ersetzen. Es ist nicht allzu überraschend, dass Windows etwas korrigiert, das unter DOS defekt ist. Trotzdem bin ich vorsichtig bei der Stabilität einer Windows 9x-Installation, die sich auf einem (auch einem virtuellen) Computer befindet, auf dem DOS nicht gut läuft.

Informationen zum Befehl STACKS finden Sie in der CONFIG.TXT-Datei von Windows 98. (Ja, ich habe den Dateinamen richtig geschrieben.) Ich frage mich auch, ob FSCB (Dateisystemsteuerblöcke) möglicherweise ein anderer CONFIG.SYS-Befehl ist relevant?

Es wäre interessant zu sehen, ob andere DOS dieses Problem haben. Funktioniert FreeDOS besser?

Sie können auch einen anderen Emulator ausprobieren. (Beispielsweise ist Qemu Open Source. Möglicherweise ist auch VirtualBox eine Option.)

Es scheint, dass Sie nicht der einzige sind, der dies festgestellt hat: Win98-Installationsproblem (das einige CONFIG.SYS-Beispielzeilen zum Ausprobieren zeigt), Windows 95-Probleme bei der Virtualisierung (wobei erwähnt wird, dass ein zu schneller Prozessor zu Problemen führt, um Probleme zu verursachen ).