为什么最小化和恢复 MS-DOS 虚拟机窗口时会出现内部堆栈溢出错误?

为什么最小化和恢复 MS-DOS 虚拟机窗口时会出现内部堆栈溢出错误?

我在 Windows 7 计算机上使用 Windows Virtual PC。我创建了一个 MS-DOS 6.22 虚拟机,具有 16 MB RAM 和 2 GB 硬盘。每当我最小化或以其他方式停用窗口,然后恢复或重新激活它时,我都会收到一条错误消息,PC 扬声器会发出一秒钟的哔哔声,并且虚拟机完全停止工作,直到我强制重新启动它:

Internal stack overflow
System halted

(有趣的是,当我运行在 MS-DOS 上运行的 Windows 3.1 时,不会出现此问题。当我尝试从 Windows 退出到 MS-DOS 时,会立即收到错误。)

当我尝试在安装的第一个(基于文本的)阶段安装基于 Windows 9x 的操作系统并执行相同的操作时,以及尝试将这样的操作系统(在本例中为 Windows 98)启动到实模式 MS-DOS 模式时,也遇到了类似的错误(尽管在那种情况下,我会立即收到错误,而不必执行上述操作来获取它):

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

为什么会出现这个错误?有什么方法可以修复它?

答案1

改变窗口的大小会影响虚拟机,这很奇怪。

您的操作系统是否安装了最新版本的 Virtual PC?如果没有,您的 BIOS 是否启用了虚拟化?

众所周知,Windows 取代了 DOS 的一部分;Windows 可能会修复 DOS 中存在的一些问题,这并不奇怪。不过,对于在无法很好地运行 DOS 的机器(即使是虚拟机)上安装 Windows 9x 的稳定性,我还是持谨慎态度。

有关 STACKS 命令的信息,请参阅 Windows 98 附带的 CONFIG.TXT。(是的,我正确拼写了该文件名。)我还想知道 FSCB(文件系统控制块)是否可能是另一个相关的 CONFIG.SYS 命令?

看看其他 DOS 是否有这个问题会很有趣。FreeDOS 是否运行得更好?

您也可以尝试不同的模拟器。(例如,Qemu 是开源的。VirtualBox 也可能是一个选择。)

看来你不是唯一遇到这种情况的人:Win98 安装问题(显示一些可供尝试的示例 CONFIG.SYS 行),Windows 95 虚拟化问题(其中提到,处理器速度太快会引起问题)。

相关内容